Ответ
Достаточное количество тестов определяется применением техник тест-дизайна к специфике поля, а не произвольным числом. Нужно покрыть ключевые сценарии.
Методика оценки (на примере числового поля 'Возраст' от 18 до 99):
-
Позитивные тесты (валидные данные):
- Стандартное значение внутри диапазона (например,
25). - Граничные значения: Минимум (
18) и максимум (99).
- Стандартное значение внутри диапазона (например,
-
Негативные тесты (невалидные данные):
- Граничные значения -1/+1:
17и100. - Некорректные типы: Пустая строка
"", строка"двадцать пять",null. - Специальные символы и атаки: Попытки SQL-инъекции (
' OR '1'='1), XSS (<script>alert()</script>). - Экстремальные значения: Отрицательные числа, очень большие числа, дробные числа (если не допускаются).
- Граничные значения -1/+1:
Пример набора тестовых данных в 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, сумма платежа) количество увеличивается за счет проверки формата, безопасности и сложной бизнес-логики.