При тестировании методом чёрного ящика, мы имеем доступ только к внешнему интерфейсу приложения. Поэтому будем опираться на требования к сервису или спецификацию и познакомимся с новыми техниками тестирования, которые помогут нам обнаружить дефекты.
Тестирование методом чёрного ящика
Black-box testing
Внешний интерфейс приложения
Интерфейс — это оболочка, с помощью которой пользователь может взаимодействовать с приложением.
Сравним два таких интерфейса: GUI (Graphical User Interface) и CLI (Command Line Interface).
Мы заполняем форму для ввода данных через графический интерфейс приложения.
При нажатии на кнопку «Отправить» отправляется HTTP-запрос с методом POST и телом в JSON формате.
Детали HTTP-запроса сокрыты от нас как от пользователя.
Но при желании мы можем посмотреть их через DevTools —> Network.
tester-today@pc ~ % curl \
https://www.tester-today.com/endpoint \
-H "Content-Type: application/json" \
-X POST \
-d '{"name":"Mia"}'
Тот же запрос при помощи утилиты curl через CLI.
Для вызова консоли:
- в Windows необходимо ввести cmd в строке поиска рядом с "Пуск".
- в IOS необходимо выбрать Launchpad в панели Dock и в поле поиска ввести Terminal.
curl — кроссплатформенная программа, предустановленная в большинстве дистрибутивов. Скачать её можно с официального сайта.
Техники тестирования методом черного ящика
Рассмотрим две техники, которые помогут нам протестировать программу с графическим интерфейсом «Оцени своё настроение сегодня», принимающую на вход значения от 1 до 100 включительно.
(Boundary Value Analysis)
Техника поиска граничных значений заключается в том, чтобы выбрать значения, находящиеся на границе между допустимыми и недопустимыми входными данными.
Выделим граничные значения для программы «Оцени своё настроение сегодня»:
- Допустимые граничные значения 1 и 100
- Недопустимые граничные значения 0 и 101
Ошибки в программе чаще всего возникают именно на границах допустимых значений. Это связано с тем, что программы обычно написаны так, чтобы правильно обрабатывать входные данные, которые находятся внутри заданного диапазона, а на границах допустимых значений могут возникать непредвиденные ошибки.
(Equivalence Partitioning Testing)
Техника разбиения на классы эквивалентности сводится к тому, чтобы опираясь на требования, разбить все возможные входные данные на классы.
Программа принимает значения от 1 до 100 включительно, можно разбить данные на три класса эквивалентности:
- Входные данные, которые находятся в диапазоне от 1 до 100, например, 50
- Входные данные, которые находятся за пределами допустимого диапазона и меньше 1, например, -100
- Входные данные, которые находятся за пределами диапазона и больше 100, например 150
Эта техника помогает уменьшить количество тестов, так как вместо тестирования каждого возможного значения выбираются равноценные представители от классов.
Уровень повышен!