Вопрос с собеседования · Тестирование (QA)

Что такое тестирование чёрного, белого и серого ящика?

JuniorВиды тестирования
Ещё спрашивают так:
  • Чем black box отличается от white box?
  • Что такое тестирование серого ящика?
Коротко

Методы по доступу к коду: чёрный ящик — без знания внутреннего устройства, белый — с доступом к коду, серый — частичное знание (база, логи, API).

  • Чёрный ящик — по требованиям и поведению; основной для ручного тестировщика
  • Белый — покрытие веток и условий кода, обычно разработчики

А ещё Серый ящик — когда смотрите в базу или логи, чтобы проверить результат

Подробно

Чёрный ящик — тестировщик не знает, как устроен код, и проверяет систему по входам и выходам: ввёл данные — сравнил результат с ожидаемым по требованиям. Сюда относятся почти все техники тест-дизайна: классы эквивалентности, граничные значения, таблицы решений, переходы состояний.

Белый ящик — тесты строятся по коду: чтобы выполнились все строки, ветки if, условия, циклы. Метрики — покрытие операторов, ветвей, условий. Обычно этим занимаются разработчики в unit-тестах.

Серый ящик — промежуточный вариант: тестировщик знает часть устройства — схему базы, архитектуру, API, логи — и использует это. Например, после оформления заказа проверяет в базе, что запись создалась с правильным статусом, или смотрит в логах, какая ошибка пришла от сервиса.

На практике тестировщик чаще всего работает чёрным ящиком через интерфейс и серым — через DevTools, базу и логи.

Пример

Форма скидки: «скидка 10 % от 5000 ₽». Чёрный ящик — проверить суммы 4999, 5000, 5001 и ожидаемую цену. Серый — после покупки посмотреть в таблице заказов, что скидка записана. Белый — убедиться, что тесты проходят обе ветки условия if total >= 5000.

Что хотят услышать

  • Определение трёх методов через доступ к внутреннему устройству.
  • Кто какой метод использует.
  • Пример серого ящика из практики: база, логи, API.

Частые ошибки

  • Путать с уровнями тестирования.
  • Считать, что тестировщику доступен только чёрный ящик.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Чёрный — без кода, белый — с кодом, серый — частично
  • ✗Чёрный ящик — тестирование с полным доступом к исходному коду
  • ✗Серый ящик — тестирование без какой-либо информации о системе, только по интерфейсу
  • ✗Белый ящик — основной метод ручного тестировщика без доступа к коду

Что спросят дальше

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования