Как определить достаточное количество тест-кейсов для проверки одного поля ввода?

«Как определить достаточное количество тест-кейсов для проверки одного поля ввода?» — вопрос из категории Техники тест-дизайна, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Достаточное количество тестов определяется применением техник тест-дизайна к специфике поля, а не произвольным числом. Нужно покрыть ключевые сценарии.

Методика оценки (на примере числового поля 'Возраст' от 18 до 99):

  1. Позитивные тесты (валидные данные):

    • Стандартное значение внутри диапазона (например, 25).
    • Граничные значения: Минимум (18) и максимум (99).
  2. Негативные тесты (невалидные данные):

    • Граничные значения -1/+1: 17 и 100.
    • Некорректные типы: Пустая строка "", строка "двадцать пять", null.
    • Специальные символы и атаки: Попытки SQL-инъекции (' OR '1'='1), XSS (<script>alert()</script>).
    • Экстремальные значения: Отрицательные числа, очень большие числа, дробные числа (если не допускаются).

Пример набора тестовых данных в Python:

test_cases = [
    # (input_value, expected_is_valid, description)
    (25, True, "Valid middle value"),
    (18, True, "Valid lower boundary"),
    (99, True, "Valid upper boundary"),
    (17, False, "Just below lower boundary"),
    (100, False, "Just above upper boundary"),
    ("", False, "Empty string"),
    (None, False, "Null value"),
    ("25", False, "String instead of integer"),
    (-10, False, "Negative number"),
    ("18 OR 1=1", False, "SQL injection attempt"),
]

Для простого поля достаточно 7-12 тестов. Для критичных полей (пароль, email, сумма платежа) количество увеличивается за счет проверки формата, безопасности и сложной бизнес-логики.