В этой статье вы узнаете о типах тестирования. И чтобы не запутаться в их многообразии, мы познакомим вас с самыми основными.
Тестирование по доступу к коду и архитектуре приложения
Начнём знакомство с тестирования по доступу к коду и архитектуре приложения. Оно делится на:
- Метод белого ящика.
- Метод чёрного ящика.
- Метод серого ящика.
Тестирование методом белого ящика
Это такой тип тестирования, при котором у тестировщика есть доступ к внутренней структуре и коду приложения, а также есть достаточно знаний для понимания увиденного.
Для чего тестировщику нужен доступ к внутренней структуре приложения?
Это необходимо, чтобы понять от начала до конца работу приложения.
Пример
В качестве примера можно привести автомат для выдачи заказа. Он состоит из:
- Контейнеров, в которые помещается заказ.
- Электронного замка.
- Дисплея для ввода номера заказа или пароля.
Пользователь вводит номер заказа на дисплее, электронный замок открывается, и пользователь забирает свой заказ.
Для чего тестировщику нужен доступ к коду приложения?
Это необходимо, чтобы понять, как работает один модуль и как взаимодействуют модули приложения друг с другом.
Пример
Рассмотрим электронный замок:
Тестирование методом чёрного ящика
Это такой тип тестирования, при котором у тестировщика либо нет доступа к структуре приложения и к коду приложения, либо недостаточно знаний для их понимания, либо тестировщик сознательно не обращается к ним в процессе тестирования.
При этом абсолютное большинство видов тестирования работают по методу чёрного ящика, идею которого в альтернативном определении можно сформулировать следующим образом: тестировщик оказывает на приложение воздействия и проверяет реакцию тем же способом, каким при реальной эксплуатации приложения на него воздействовали бы пользователи или другие приложения.
В рамках тестирования по методу чёрного ящика основной информацией для создания тест-кейсов выступает документация и общий здравый смысл (для случаев, когда поведение приложения в некоторой ситуации не регламентировано явно; иногда это называют «тестированием на основе неявных требований», но канонического определения у этого подхода нет).
Пример
В качестве примера можно использовать автомат для выдачи еды.
Далеко не каждый человек имеет представление, как работает автомат для выдачи еды, сколько в нём есть приводов и какие его части взаимодействуют друг с другом. Зато подавляющее большинство имеет представление, что если человек опустит в монетоприёмник монетку и выберет определённый номер еды, то автомат выдаст человеку нужный заказ.
Тестирование методом серого ящика
Это комбинация методов белого ящика и чёрного ящиков, состоящая в том, что к части кода и архитектуры у тестировщика доступ есть, а к части — нет. Обычно говорят о методах белого ящика или чёрного ящика в применении к тем или иным частям приложения, при этом понимая, что «приложение целиком» тестируется по методу серого ящика.
В следующих статьях мы рассказываем о других популярных типах тестирования: Типы тестирования. Часть 2 и Типы тестирования. Часть 3.
Также напоминаем, что в EPAM прямо сейчас открыты программы по направлению Software Testing. Регистрируйтесь и учитесь тестированию под руководством наших лучших экспертов!