В чем разница между black-box и white-box тестированием

«В чем разница между black-box и white-box тестированием» — вопрос из категории Контроль качества и отчётность, который задают на 23% собеседований Менеджер Проектов. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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: юнит-тесты, регрессионное тестирование.