White Box
, Black Box
и Grey Box
- это три подхода к тестированию программного обеспечения, которые различаются по степени доступности информации о внутренней структуре и реализации тестируемой системы.
- White Box (
белый ящик
) тестирование - это подход к тестированию программного обеспечения, при котором тестировщик имеет полный доступ к исходному коду и внутренней структуре тестируемой системы. В этом случае тестировщик может использовать знания о реализации системы, чтобы определить, какие тесты необходимо провести для достижения определенного покрытия кода.White Box
тестирование используется для проверки корректности работы отдельных компонентов, а также для проверки интеграции между компонентами.
Плюсы | Минусы |
---|---|
Более тщательная проверка кода и компонентов программы, возможность избавиться от программных «тупиков» | Нужно знание языка программирования, который проверяется |
Понятные отчеты об ошибках: тестировщик может дать разработчику прямое указание на ошибку в коде или исправить ее самостоятельно | Возможны когнитивные искажения, ведь человек, точно знающий, как устроена система, может предполагать, что ее поведение не выходит за рамки известного ему алгоритма |
Возможность доработать архитектуру и логику программы в процессе тестирования | Не позволяет проверить интеграцию с другими сервисами |
- Black Box (
черный ящик
) тестирование - это подход к тестированию программного обеспечения, при котором тестировщик не имеет доступа к исходному коду и внутренней структуре тестируемой системы. В этом случае тестировщик тестирует систему только на основе ее внешнего поведения и требований, которые были определены в спецификации. Black Box тестирование используется для проверки соответствия требованиям, а также для проверки работы системы в целом.
Плюсы | Минусы |
---|---|
Не нужны дополнительная подготовка к тестированию, добор навыков | Можно пропустить критичные баги в программном коде |
Максимальное покрытие продукта тестами | Разработчикам понадобится больше времени, чтобы найти причину ошибки |
Высокая скорость проверок |
- Grey Box (
серый ящик
) тестирование - это *подход к тестированию программного обеспечения, который находится между White Box и Black Box тестированием. При этом тестировщик имеет частичный доступ к исходному коду и внутренней структуре тестируемой системы. Это может включать доступ к базе данных или кAPI
. Grey Box тестирование используется для проверки интеграции между компонентами, а также для проверки корректности взаимодействия между системой и внешними компонентами.
Плюсы | Минусы |
---|---|
Не нужно глубоко погружаться в код продукта | Более длительные тесты: нужно проверять код и интерфейс, сопоставлять отчеты |
Совмещает преимущества «черного» и «белого ящиков», дает сбалансированную проверку | Специалистам нужны одновременно понимать внутреннюю логику продукта и сценарии поведения обычного пользователя, это нетривиальная задача |