Алекс Смит: Тестирование ПО с Нуля до Специалиста
January 29

3.9 Методы тестирования: черный, серый и белый ящик  

Выделают 3 метода тестирования:

  1. Черный ящик
  2. Серый ящик
  3. Белый ящик

Черный ящик

Черный ящик - метод тестирования, когда тестировщик имеет в своем распоряжении только внешний доступ к продукту, то есть тот же доступ, что и конечный пользователь.

Инструменты, используемые при тестировании:

  • графический интерфейс продукта.
И давайте рассмотрим на примере. У нас есть сайт, в котором есть окно авторизации. Тестирование методом черного ящика будет выглядеть следующим способом: это ввод в поля корректных и некорректных данных, с цель проверки на то, что система не пропустит некорректные данные, например данные по несуществующему пользователю, или если поле будет пустым. То есть данный вид тестирования может провести как тестировщик, так и любой пользователь системы.

Серый ящик

Серый ящик - метод тестирования, с возможностями черного ящика + когда тестеровщик имеет доступ к серверной части.

Инструменты, используемые при тестировании:

  • база данных
  • отправка запросов на сервер
  • прочее вспомогательное ПО
И давайте рассмотрим на примере той же формы по авторизации. Имея доступ к серверной части, мы можем отправлять специальные запросы на сервер, в будущих уроках мы рассмотрим какие бывают запросы и когда они применяются, которые будут создавать новых пользователей и мы будем авторизовываться под этими данными, проверять что мы можем войти в систему, так же сможем проверить что пользователь появился в базе данных или же наоборот, с помощью нее создать нового пользователя и потом проверить это на сайте. Проще говоря, Вы можете использовать базу данных и запросы на сервер, для того, чтоб получать информацию, создавать, изменять и удалять какие-либо данные. Тем самым тестировать продукт.

Белый ящик

Белый ящик - метод тестирования с возможностями серого ящика + иметь доступ к коду продукта.

Инструменты, используемые при тестировании:

  • база данных
  • отправка запросов на сервер
  • прочее вспомогательное ПО
  • доступ к коду программного продукта
То есть тестировщик может посмотреть код, который написан разработчиком. Данный метод требует более высокую квалификацию, так как требует от специалиста знания языков программирования. Как правило тестировщики редко это делают, тут больше работают разработчики, когда, к примеру пишут модульные тесты, то есть unit-тесты. Или же исправляют баги найденные тестировщиком. По своему опыту могу сказать, что я иногда применяю данный вид тестирования, например, когда постановка задачи плохо написана, то можно с помощью специализированного ПО зайти и посмотреть какие именно изменения делал разработчик в проекте, например название полей, которые он изменил.