Разница между методами «белого», «серого» и «чёрного» ящиков при тестировании ПО заключается в степени прозрачности кода для тестировщика: 5
- Метод «белого ящика» (White box, метод «открытого ящика») подразумевает тестирование системы при наличии предварительных знаний о ней: архитектуры, документации, исходного кода, описания её поведения. 4 Тестировщик знает, как работает программа и какие функции выполняет каждый её блок. 5
- Метод «серого ящика» (Gray box) предполагает частичное предварительное знание о системе. 4 Могут быть известны общее описание всей системы или более точные описания лишь отдельных её частей. 4 Тестировщик может видеть часть кода или иметь доступ к внутренним настройкам продукта, недоступным обычному пользователю. 5
- Метод «чёрного ящика» (Black box, метод «закрытого ящика») подразумевает тестирование системы без предварительных знаний о ней. 4 Тестировщик не берёт во внимание архитектуру системы и не имеет доступа к исходному коду. 1 Как правило, при выполнении теста с «чёрным ящиком» специалист работает с пользовательским интерфейсом системы, вводя данные и анализируя результат. 1 При этом тестировщик не знает, как и где обрабатываются эти данные. 1
Методы «белого» и «чёрного» ящика не являются конкурирующими или взаимоисключающими. 3 Наоборот, они гармонично дополняют друг друга, компенсируя имеющиеся недостатки. 3