Тест дизайн – это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест кейсы), в соответствии с определёнными раннее критериями качества и целями тестирования.
Цели тест дизайна:
Обеспечить покрытие функционала приложения тестами
1. Тесты должны покрывать весь функционал
2. Тестов должно быть минимально достаточно
Задачи тест дизайна
1. Проанализировать требования к продукту
2. Оценить риски возможные при использовании продукта
3. Написать достаточное минимальное количество тестов
4. Разграничить тесты на приемочные, критически важные
Техники тест дизайна
1. Тестирование по сценариям использования
Когда в системе есть различные роли и при использовании этой техники необходимо ответить на следующие вопросы:
· Какие есть роли пользователей в системе?
· Что могут делать пользователи каждой из ролей?
· Какие есть особенности?
На примере социальной сети можно выделить три роли (зарегистрированный пользователь, администратор сообщества, незарегистрированный пользователь).
Особенности:
Например, есть пользователь, у которого много подписчиков и ему открывается доступ к статистике. Или если на пользователя много жалоб, то пока он не выполнит определённый набор действий, функциональность его будет ограничена.
Теперь на основе полученный данных можем составить тесты:
· Сценарий по ролям
· Сценарий роли и особенности
· Сценарий роли и негатив, проверим, что роли не доступно то, что не должно быть доступно.
2. Причина /Следствие
Это, как правило, ввод комбинаций условий (причин), для получения ответа от системы (Следствие).
При использовании этой техники нужно ответить на вопросы:
· Какие параметры на входе?
· Какие данные на выходе?
· Как входные параметры влияют на результат?
Параметры на входе:
· Текущий пользователь (тестируем его ленту)
· Много друзей пользователя (будем смотреть их новости)
· Множество групп пользователя (будем смотреть их новости)
· Черный список (особенности)
3. Тестирование переходов между состояниями
4. Классы эквивалентности
Классы эквивалентности – это техника тестирования ПО, которая делит вводимые данные на классы эквивалентных друг другу значений, на базе которых создаются тест-кейсы.
5. Граничные значения
6. Попарное тестирование (Pairwice)
7. Предугадывание ошибки
Это когда тест дизайнер использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы «предугадать» при каких входных условиях система может выдать ошибку.
8. Исчерпывающее тестирование
Это крайний случай. В пределах этой техники необходимо проверить все возможные комбинации входных значений, и в принципе, это должно найти все проблемы. На практике применение этого метода не представляется возможным, из-за огромного количества входных значений.
9. Матрица соответствия (Traceability matrix)