Техники тест дизайна
Эквивалентное разделение - подразумевает разделение входных данных на эквивалентные классы, где данные в одном классе обрабатываются одинаково.
Пример: для поля ввода возраста (от 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.
Таблица переходов состояний - эта техника используется для тестирования систем, которые имеют конечные состояния и переходы между ними.
Пример: Автомат продажи билетов.
Состояния: "Ожидание монеты", "Ожидание выбора", "Выдача билета".
- Переходы:
- Из "Ожидание монеты" в "Ожидание выбора" при внесении монеты
- Из "Ожидание выбора" в "Выдача билета" при выборе билета
Тестовые случаи: Проверка корректности переходов между состояниями при различных действиях пользователя.
- Другие техники:
- Причинно-следственные связи
- Предугадывание ошибок
- Бисекционное деление
- Декомпозиция