Что такое тестирование чёрного, белого и серого ящика?
- Чем black box отличается от white box?
- Что такое тестирование серого ящика?
Методы по доступу к коду: чёрный ящик — без знания внутреннего устройства, белый — с доступом к коду, серый — частичное знание (база, логи, API).
- Чёрный ящик — по требованиям и поведению; основной для ручного тестировщика
- Белый — покрытие веток и условий кода, обычно разработчики
А ещё Серый ящик — когда смотрите в базу или логи, чтобы проверить результат
Подробно
Чёрный ящик — тестировщик не знает, как устроен код, и проверяет систему по входам и выходам: ввёл данные — сравнил результат с ожидаемым по требованиям. Сюда относятся почти все техники тест-дизайна: классы эквивалентности, граничные значения, таблицы решений, переходы состояний.
Белый ящик — тесты строятся по коду: чтобы выполнились все строки, ветки if, условия, циклы. Метрики — покрытие операторов, ветвей, условий. Обычно этим занимаются разработчики в unit-тестах.
Серый ящик — промежуточный вариант: тестировщик знает часть устройства — схему базы, архитектуру, API, логи — и использует это. Например, после оформления заказа проверяет в базе, что запись создалась с правильным статусом, или смотрит в логах, какая ошибка пришла от сервиса.
На практике тестировщик чаще всего работает чёрным ящиком через интерфейс и серым — через DevTools, базу и логи.
Пример
Форма скидки: «скидка 10 % от 5000 ₽». Чёрный ящик — проверить суммы 4999, 5000, 5001 и ожидаемую цену. Серый — после покупки посмотреть в таблице заказов, что скидка записана. Белый — убедиться, что тесты проходят обе ветки условия if total >= 5000.
Что хотят услышать
- Определение трёх методов через доступ к внутреннему устройству.
- Кто какой метод использует.
- Пример серого ящика из практики: база, логи, API.
Частые ошибки
- Путать с уровнями тестирования.
- Считать, что тестировщику доступен только чёрный ящик.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Чёрный — без кода, белый — с кодом, серый — частично
- ✗Чёрный ящик — тестирование с полным доступом к исходному коду
- ✗Серый ящик — тестирование без какой-либо информации о системе, только по интерфейсу
- ✗Белый ящик — основной метод ручного тестировщика без доступа к коду
Что спросят дальше
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.