Ответ
Black-box тестирование — проверка функциональности без доступа к коду. Тестировщик видит только входные и выходные данные, фокусируясь на требованиях и пользовательском опыте. Пример: проверка формы авторизации без знания её реализации.
White-box тестирование — тестирование с доступом к коду. Проверяются внутренние структуры, алгоритмы, покрытие кода. Пример: модульные тесты.
# White-box пример (знаем реализацию)
def add(a, b):
return a + b
assert add(2, 2) == 4 # Проверяем конкретную логику
Ключевые отличия:
- Black-box: внешняя перспектива, требования.
- White-box: внутренняя логика, код.
Где применяется:
- Black-box: приемочное, интеграционное тестирование.
- White-box: юнит-тесты, регрессионное тестирование.