В этой статье мы рассмотрим ряд этапов (шагов), которые происходят при тестировании продукта. В следующий же публикациях мы досконально рассмотрим каждый этап.
Жизненный цикл тестирования ПО (STLC - Software Testing Lifecycle) - это процесс тестирования, который включает в себя определенную последовательность шагов, чтобы гарантировать достижение целей в области качества. В процессе STLC каждое действие выполняется планомерно и систематически.
ISTQB определяет следующие шаги:
1) Анализ требований, общее планирование и уточнение критериев приёмки (Test Planning & Control phase);
2) Тест-дизайн и тест-анализ (Test Analysis and Design);
3) Выполнение тест-кейсов и фиксация дефектов (Test Implementation and Execution);
4) Анализ результатов тестирования и отчётность(Evaluating Exit Criteria and reporting);
5) Завершение цикла испытаний (Test Closure).
Стоит заметить, что при переводе на русский я раскрыл название этапов чуть шире.
Анализ требований, общее планирование и уточнение критериев приёмки
На этом этапе необходимо определиться, что конкретно предстоит тестировать (какой продукт, приложение, из какой предметной области, с каким набором технологий), ожидаемый объём работы, возможные риски. Чтобы оценить перечисленное выше, необходимо провести анализ требований.
В ходе анализа требований анализируется спецификация продукта. Результатом этапа является список всех проверяемых требований, технико-экономическое обоснование автоматизации (если применимо).
Также на этом этапе формируется план тестирования, т.е. мы определяем действия и ресурсы, которые помогут достичь целей тестирования (участники и их роли, инструменты, окружение). Во время планирования мы также пытаемся определить метрики, метод сбора и отслеживания этих метрик. План составляют исходя из требований, тестовой стратегии и анализа рисков. Также указываются критерии (признаки и метрики) руководствуясь которыми можно начать, приостановить тестирование (например, количество дефектов к объёму пройденных тестов) и снова его возобновить, а также критерии завершения тестирования.
Тест-дизайн и тест-анализ
Тест-дизайн - процесс преобразования общих целей тестирования в реальные условия тестирования и тестовые сценарии [глоссарий ISTQB].
Если проще, тест дизайн представляет собой продумывание и написание тестовых случаев (test case), в соответствии с требованиями проекта, критериями качества будущего продукта и финальными целями тестирования.
Тест-анализ - процесс поиска и рассмотрения информации, необходимой для тестирования. Обычно она есть у людей с хорошими знаниями о системе и способах её использования, в документации.
Если опять проще, то это тот же тест-дизайн, только немного с другим уклоном. Целью анализа тестирования является сбор имеющихся требований и определение целей тестирования для установления основы условий тестирования.
В общих словах тест-анализ отвечает на вопрос "ЧТО тестировать?". Тест-дизайн - "КАК тестировать?".
Выполнение тест-кейсов и фиксация дефектов
Выполнение тест-кейсов - этап непосредственного тестирования.
Дефекты, обнаруженные в процессе прохождения тест-кейсов либо иным образом, должны быть обязательно зафиксированы в системе хранения дефектов (баг-трекере).
Дефекты фиксируются в виде баг-репорта. Основные правила составления данной документации даны в статьях:
Основы тестирования. Баг-репорт. Обязательные части. Правила написания. Основные ошибки при составлении.
Основы тестирования. Баг-репорт. Опциональные части. Приоритет баг-репорта.
Анализ результатов тестирования и отчётность
При проведении анализа результатов важно опираться на метрики и критерии, сформированные на первом этапе, а также на данные тест-планов. Полученные выводы оформляются в виде отчёта тестирования.
Завершение цикла испытаний
На этом этапе тестирование официально завершено. Цель данного этапа: обеспечение актуальности и сохранности документации, состояния тестовой среды, списков дефектов, метрик и выводов при необходимости.
Необходимо уточнить, что каждый проект уникален и приведённая схема — не эталон. Некоторые этапы могут отсутствовать в процессе разработки и тестирования.