3.1 Чек-листы и тест-кейсы
1. Чек-лист (checklist) - список проверок, в котором показано, что будет тестироваться, и как следствие результат и статус проверок.
Чек-лист (checklist) - набор идей: идей по тестированию, идей по разработке, идей по планированию и управлению — любых идей.
Самый простой пример чек-листа в отрыве от тестирования: список покупок, где покупка является проверкой, а чек-бокс - ее статус.
Что должно указываться в хорошем чек-листе:
1. Список проверок
2. Что тестировать
3. Результаты проверок
Шапка: содержит информацию о названии приложения, его версии, окружении, на котором проводится тестирование (версия ОС, браузера, эмулятора), ответственного за тестирование, дату тестирования
Тестируемые модули, субмодули: например, регистрация, аутентификация авторизация
Список проверок: они должны отражать основную суть, без лишней детализации
Статус: информация о статусе прохождения проверки - пройдено/не пройдено (passed/failed)
Дополнительные части чек-листа
Ожидаемый результат: то, что мы ожидаем увидеть после запуски проверки согласно требованиям
Типы тестирования: к какому типу относится проверка?
Отчеты о дефекте: ссылки на отчеты о дефектах для прослеживаемости
Заметки: если нужно добавить комментарии
Также у проверок может быть уникальный идентификатор для прослеживаемости.
Тестовый случай (test case) - набор предусловий, входных данных, действий (где применимо), ожидаемых результатов и постусловий, разработанных на основе тестовых условий.
Свойства и обязательные атрибуты тест-кейса: 1. Пошаговый сценарий 2. Как тестировать 3. Результат проверок 4. Заголовок 5. Приоритет
В отличие от чек-листа, тест-кейс содержит в себе больше деталей: идентификатор, приоритет, заголовок, шаги и ожидаемые результаты.
Тест-кейсы объединяют в тестовые наборы (test suites) по одинаковым признакам: проверки для одного модуля, проверки для определенного типа тестирования, регрессионные наборы.
Идентификатор (ID): уникальный номер, необходимый для прослеживаемости. В системах по управлению кейсами (TMS - test management system) проставляется автоматически
Приоритет (Priority): срочность и важность выполнения задачи
Требование (Requirement): ссылка на требование, для проверки которого служит кейс
Модуль (Module): название структурной части, в которой находится предмет тестирования
Заголовок (Title): Отражает суть проверки
Тестовые данные и предусловия (input data, test data, preconditions): информация о данных, которые необходимы для тестирования (данные для ввода, файлы с определенным расширением и размером и т.д.) + специальное состояние системы до начала тестирования (пользователь зарегистрирован, созданы объекты в базе данных и т.д.)
Шаги (Steps): последовательность действий для получения ожидаемого результата
Ожидаемые результаты (Expected results): ссылка на требование, для проверки которого служит кейс. Результат должен быть для каждого шага.
Постусловия (Postconditions): возвращение систему в исходное состояние (удаление данных, пользователей, отключение виртуальной машины и т.д.)
Обязательными атрибутами для тест-кейса являются: идентификатор, приоритет, заголовок, шаги и ожидаемые результаты.
Все остальное используется в зависимости от конкретной задачи.
Критерии выбора той или иной тестовой документации на проекте
- Зависит от сложности проекта. Если проект простой - достаточно чек-листа. Если проект усложняется, если много требований, которые нужно проверять - тест-кейсы.
- Зависит от длительности проекта. Если проект не очень долгий - логично использовать чек-листы. Если проект долгий - тогда используют тест-кейсы.
- Зависит от размера проекта. Чем больше проект, чем больше людей задействовано - то лучше использовать тест-кейс.
- Зависит от стабильности. Если команда часто меняется - используют тест-кейсы.
- Зависит от требований. Если требования не подвержены сильным изменениям - тогда лучше использовать тест-кейсы.
- Зависит от желания заказчика. Если заказчик хочет быть более вовлечен в процесс - зачастую заказчик выбирает тест-кейсы.
На проекте могут одновременно использоваться и чек-лист, и тест-кейс. Например, чек-лист для проверки GUI, а тест-кейсы для проверок сложной бизнес-логики.