Ответ
Black box тестирование валидации — это проверка функциональности системы без доступа к её внутреннему коду, фокусируясь исключительно на входных данных и выходных результатах.
Ключевые принципы и техники:
- Эквивалентное разделение: Группировка входных данных на классы, где каждый элемент класса должен обрабатываться одинаково.
- Анализ граничных значений: Тестирование на границах допустимых диапазонов входных данных.
Пример тестирования валидации email-адреса:
-
Позитивные тесты (валидные данные):
assert validate_email("user@example.com") == True assert validate_email("first.last@domain.co.uk") == True -
Негативные тесты (невалидные данные):
# Отсутствие '@' или домена assert validate_email("userexample.com") == False assert validate_email("user@") == False # Недопустимые символы assert validate_email("user name@domain.com") == False -
Граничные случаи и безопасность:
# Максимальная длина assert validate_email("a" * 254 + "@b.com") == True # ровно 254 символа assert validate_email("a" * 255 + "@b.com") == False # превышение # Попытка SQL-инъекции assert validate_email("'; DROP TABLE users;--") == False
Инструменты: Postman/Swagger (для API), Selenium/Cypress (для UI).