Техники тест дизайна

Эквивалентное разделение - подразумевает разделение входных данных на эквивалентные классы, где данные в одном классе обрабатываются одинаково.

Пример: для поля ввода возраста (от 0 до 120)

    Классы эквивалентности:
  • Позитивные: 0 - 120
  • Негативные: меньше 0, больше 120, ввод букв

Тестовые случаи: проверка одного значения внутри и вне допустимого диапазона: -1 (невалидный), 25 (валидный).

Анализ граничных значений - тестирование выполняется на границах эквивалентных классов, так как ошибки часто происходят на краях диапазона.

Пример: для поля ввода возраста (от 0 до 120)

Гранитные значения: -1, 0, 1, 119, 120, 121

Тестовые случаи: проверка значений непосредственно на границах и за их пределами: -1 (невалидный), 0 (валидный), 1 (валидный), 119 (валидный), 120 (валидный), 121(невалидный).

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

    Пример: правила скидок:
  • Если клиент постоянный и покупка свыше 100$, то скидка 10%
  • Если клиент новый и покупка свыше 100$, то скидка 5%
  • Во всех остальных случаях не приминяется

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

Постоянный клиентПокупка > 100$Скидка
ДаДа10$
ДаНет0$
НетДа5$
НетНет0$

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

Пример: тестирование формы входа с параметрами "Браузер", "ОС", "Версия".

    Параметры:
  • Браузеры: Chrome, Firefox, Safari
  • OC: Windows, MacOS, Linux
  • Версии: 1.0, 2.0

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

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

Пример: Автомат продажи билетов.

Состояния: "Ожидание монеты", "Ожидание выбора", "Выдача билета".

    Переходы:
  • Из "Ожидание монеты" в "Ожидание выбора" при внесении монеты
  • Из "Ожидание выбора" в "Выдача билета" при выборе билета

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

    Другие техники:
  • Причинно-следственные связи
  • Предугадывание ошибок
  • Бисекционное деление
  • Декомпозиция