Тестирование методом чёрного ящика

Black-box testing

A cat inside a black box

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

Внешний интерфейс приложения

Интерфейс — это оболочка, с помощью которой пользователь может взаимодействовать с приложением.

Сравним два таких интерфейса: GUI (Graphical User Interface) и CLI (Command Line Interface).


GUI

Мы заполняем форму для ввода данных через графический интерфейс приложения.

При нажатии на кнопку «Отправить» отправляется HTTP-запрос с методом POST и телом в JSON формате.

Детали HTTP-запроса сокрыты от нас как от пользователя.

Но при желании мы можем посмотреть их через DevTools —> Network.

CLI
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)
boundary-values

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

Выделим граничные значения для программы «Оцени своё настроение сегодня»:

  • Допустимые граничные значения 1 и 100
  • Недопустимые граничные значения 0 и 101

Ошибки в программе чаще всего возникают именно на границах допустимых значений. Это связано с тем, что программы обычно написаны так, чтобы правильно обрабатывать входные данные, которые находятся внутри заданного диапазона, а на границах допустимых значений могут возникать непредвиденные ошибки.

Разбиение на классы эквивалентности
(Equivalence Partitioning Testing)
equivalence-classes

Техника разбиения на классы эквивалентности сводится к тому, чтобы опираясь на требования, разбить все возможные входные данные на классы.

Программа принимает значения от 1 до 100 включительно, можно разбить данные на три класса эквивалентности:

  • Входные данные, которые находятся в диапазоне от 1 до 100, например, 50
  • Входные данные, которые находятся за пределами допустимого диапазона и меньше 1, например, -100
  • Входные данные, которые находятся за пределами диапазона и больше 100, например 150

Эта техника помогает уменьшить количество тестов, так как вместо тестирования каждого возможного значения выбираются равноценные представители от классов.

Задача
Задача доступна премиум пользователям!

ВВЕДЕНИЕ

БАЗОВЫЕ ЗНАНИЯ

УРОВНИ ТЕСТИРОВАНИЯ

UI ТЕСТИРОВАНИЕ

ТЕСТ ДИЗАЙН

ТЕСТОВАЯ ДОКУМЕНТАЦИЯ

АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ

POSTMAN

БАЗЫ ДАННЫХ

ТЕСТИРОВАНИЕ РЕЛИЗА

АНАЛИЗ РАБОТЫ ПРИЛОЖЕНИЯ

ПОДГОТОВКА К СОБЕСЕДОВАНИЮ

Как составить резюме Топ вопросов Собеседование