← Назад к вопросам

Что такое входные параметры?

1.7 Middle🔥 132 комментариев
#Soft skills и карьера#Теория тестирования

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI7 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое входные параметры в контексте QA

Входные параметры (Input Parameters) — это данные или значения, которые передаются в функцию, метод, программу или систему для обработки и влияют на её поведение, результат работы или состояние. С точки зрения QA, входные параметры — это ключевой объект тестирования, так как именно через них мы управляем тестируемой системой и проверяем её корректность.

Классификация и виды входных параметров

Входные параметры можно классифицировать по нескольким признакам:

  • По типу данных:
    *   Примитивные типы: целые числа (`int`), строки (`string`), логические значения (`boolean`), числа с плавающей точкой (`float`/`double`).
    *   Сложные типы: массивы (`array`), объекты (`object`), структуры, коллекции.
    *   Специальные типы: `null`, `undefined`, пустые значения.

  • По способу передачи:
    *   **Аргументы командной строки.**
```bash
# Пример: программа принимает имя файла и режим работы
python script.py --input data.txt --mode verbose
```
    *   **Параметры методов/функций.**
```java
// Пример: метод для сложения двух чисел
public int add(int a, int b) {
    return a + b;
}
```
    *   **Поля ввода пользовательского интерфейса** (текстовые поля, выпадающие списки, чекбоксы).
    *   **Данные HTTP-запроса:** параметры строки запроса (query params), тело запроса (JSON, XML), заголовки (headers).
```http
GET /api/users?role=admin&active=true HTTP/1.1
Content-Type: application/json
```
    *   **Входные данные из файлов или баз данных.**

Значение входных параметров для тестирования

Для инженера по обеспечению качества анализ входных параметров — основа для построения стратегии тест-дизайна. Мы должны ответить на вопросы:

  1. Какие значения являются допустимыми (валидными)? Это позитивные тест-кейсы.
    *   Пример: для поля "Возраст" валидные значения — целые числа от 0 до 120.

  1. Какие значения являются недопустимыми (невалидными)? Это негативные тест-кейсы для проверки обработки ошибок.
    *   Пример: для того же поля "Возраст" невалидные значения: `-5`, `"двадцать"`, `150`, `null`.

  1. Какие граничные значения (Boundary Values) существуют? Тестирование на границах допустимых диапазонов часто выявляет ошибки.
    *   Пример: для диапазона от 1 до 10 тестируем значения: 0, 1, 2, 9, 10, 11.

  1. Как система обрабатывает отсутствие параметра (если он необязательный) или передачу лишних параметров?

На основе этого анализа применяются такие техники, как анализ граничных значений (BVA), классов эквивалентности (ECT), таблицы решений и т.д.

Пример: Тестовый сценарий на основе входных параметров

Рассмотрим функцию валидации пароля, которая принимает строку password.

Входной параметр (значение)Ожидаемый результатТип теста
"Str0ngP@ss" (8+ символов, цифра, спец. символ)УспехПозитивный
"weak" (менее 8 символов)Ошибка: "Пароль слишком короткий"Негативный, граничное значение
"" (пустая строка)Ошибка: "Пароль не может быть пустым"Негативный
nullОшибка: "Неверный тип данных"Негативный
Строка длиной 255 символовУспех (проверка на максимальную длину)Позитивный, граничное значение

Важность для различных видов тестирования

  • Функциональное тестирование: Входные параметры — это прямой способ проверить соответствие системы функциональным требованиям.
  • Тестирование безопасности (Security Testing): Через входные параметры осуществляются атаки: SQL-инъекции, XSS, инъекция команд. Проверка санитизации (очистки) входных данных критически важна.
    -- Пример уязвимого параметра
    SELECT * FROM users WHERE login = '{user_input}';
    -- Если user_input = `admin' OR '1'='1`, это может привести к утечке данных.
    
  • Тестирование производительности (Performance Testing): Объём и тип входных данных (например, размер загружаемого файла) напрямую влияют на время отклика и потребление ресурсов.
  • Интеграционное тестирование: Здесь мы проверяем, как модули или системы обмениваются входными/выходными параметрами между собой.

Вывод для QA-инженера: Умение выявить все входные параметры, проанализировать их допустимые значения, границы и возможные комбинации — это фундаментальный навык. Именно это позволяет создавать эффективные, полные и целенаправленные тестовые наборы, которые не только проверяют "счастливый путь", но и обеспечивают надёжность и безопасность системы в условиях нештатных ситуаций.