В публикации рассмотрим общий флоу, конкретные нюансы и best practices построения ручного процесса тестирования на проекте в agile методологии. Статья может быть полезна как для команд, которые только стартуют, так и для тех, кто уже некоторое время развивается, и где присутствуют проблемы с качеством.
1. Инициализация
Вначале QA специалисту нужно понять и оценить задачи, их объем, сформировать подход к тестированию. Для этого он собирает всю необходимую информацию. При необходимости устраивает личные встречи с членами команды или организовывает общий груминг, на котором:
-
обозначается возможное влияние на смежные компоненты
-
устанавливается примерный регрессионный скоуп
-
оценивается полнота и корректность плана разработки
-
анализируются риски
Также на этом этапе выясняются цели и бизнес‑ценность разработки фичи или проекта, и дается предварительная оценка задачи, которая включает в себя время на анализ и тестирование документации, составление тест‑кейсов, подготовку тестовых данных, непосредственно тестирование, включая регрессию, и формирование отчетов.
2. Анализ требований и составление тестовой документации
QA инженером проводится анализ и тестирование требований, технических спецификаций и макетов.
-
Определяется наличие критериев готовности артефакта к передаче в разработку (DoR) и к передаче в эксплуатацию конечным пользователям (DoD).
-
Формируется матрица соответствия критериям качественных требований.
-
Определяются зависимости от внешних команд и систем.
-
Обозначаются вопросы и заводится чек‑лист, в котором пишутся и приоритезируются высокоуровневые тестовые сценарии.
-
Тест‑сценарии проходят ревью с аналитиками/дизайнерами и разработчиками, а также при необходимости и другими членами QA команды.
-
После успешного прохождения ревью высокоуровневые тест-сценарии переводятся в полноценные тест-кейсы в соответствии с внутренними правилами их оформления и отбираются для дальнейших регрессионных/смоук/E2E скоупов. При необходимости тест-кейсы также добавляются в соответствующие наборы для автоматизации тестирования.
-
При нахождении дефектов в процессе тестирования документации на дизайнера или аналитика QA инженером заводится баг, либо задача на доработку требований с соответствующей пометкой.
-
Проводится проверка внесенных изменений дизайнером или аналитиком.
-
Проверяется наличие всех необходимых доступов.
-
По возможности заранее подготавливаются тестовые данные.
3. Планирование
Время для общих планингов, на которых определяется или актуализируется:
-
расписание и сроки релизов,
-
приоритеты задач,
-
приоритеты тест-кейсов,
-
приоритеты дефектов.
В зависимости от целей в случае перепланирования приоритеты задач и тест-кейсов могут быть пересмотрены. При наличии сжатых сроков возможно выполнение только тест-кейсов с высоким приоритетом.
При этом задачи распределяются по QA команде с учетом равномерной нагрузки на каждого специалиста.
4. Выполнение
На данном этапе Тестировщик проходит шаги, описанные в документации. При необходимости актуализируя / дополняя тест-кейсы, а также смоук, регресс и E2E наборы.
Фиксировать следует каждый дефект (даже если разраб при вас пофиксил его за 5 минут) для отслеживания метрик с отражением в дефекте максимального количества информации (логи, версии сборок, скриншоты и тд). Не лишним также будет слинковать его дополнительно с соответствующей UserStory или задачей на разработку.
После каждого прохождения тест-кейса или проверки багфикса прикладывается Proof of Testing, в котором присутствуют:
-
Статус (Passed/Failed)
-
Ожидаемый и фактический результат (если кейс пройден ОР=ФР)
-
Версия сборки
-
Окружение
-
Скриншот или запись экрана
-
Браузер/ОС
Также на данном этапе проверяется и фиксируется соответствие ранее установленным критериям успешности, например:
-
Выполнено 100% из запланированных тест-кейсов
-
Пройдено (Passed) 90% тест-кейсов
-
Исправлены все дефекты с высоким приоритетом (100%)
Кроме того, при прохождении кейсов приветствуется написание любых инструкций, которые облегчат тестирование в будущем. Например, инструкция по авторизации для апи методов через постман, руководство по просмотру и анализу логов или шаблон описания дефекта.
Также важно не забывать о том, чтобы в каждый момент времени в таск или баг трекере статус и исполнитель любой сущности были актуальными.
5. Завершение
На данном этапе QA инженер проводит регрессионное тестирование релиза на stage/препрод окружении.
После успешного прохождения регресса релиз выкатывается на прод, где проходит смоук тестирование.
Для удобства отслеживания дефектам, найденным в регрессе/смоке, проставляется специальная метка с названием сервиса, соответствующего скоупа и версией сборки, в которой он был найден.
QA инженер также должен предусмотреть версионирование тест-кейсов в зависимости от версии релиза для отслеживания статусов прохождения кейсов в каждом релизе. Например, в confluence/excel создается страница с эталонным скоупом тестов, которая при каждом прохождении копируется и при необходимости дополняется или редактируется, либо для этого используются специальные плагины/сервисы.
Далее Тестировщик формирует отчет о статусе релиза, в котором может находиться:
-
список задач/сторей/любых изменений
-
список тест-кейсов
-
список дефектов высокого приоритета, найденных и/или исправленных в текущем релизе
-
метрики (кол-во и процент выполненных/пройденных/не пройденных тест-кейсов для регрессии/смока/фича-тестов)
-
в явном виде подтверждение/не подтверждение для выхода в прод со стороны QA
-
диаграммы и любая другая дополнительная информация
Дополнительно выделим ряд пунктов, которые QA специалисту полезно узнать еще на этапе подключения к проекту для своевременного понимания уровня зрелости процессов в команде. Таким образом, еще в процессе онбординга происходит определение:
-
доступов ко всем ресурсам проекта
-
состава и ролей команды
-
способов коммуникации внутри команды и между командами
-
расписания внутренних и межкомандных встреч или созвонов
-
мест хранения проектной документации
-
состава и назначения стендов
-
наличия расписания релизов
-
существующих выстроенных на проекте процессов
-
наличия статусов и переходов между ними для тасок/дефектов/тест-кейсов/инцидентов/сторей/эпиков в таск-трекере для каждой роли в команде
-
ведения тестовой документации, наличия шаблонов документов
-
прохождения тест-кейсов
-
работы с инцидентами
-
составления отчетов
-
-
наличия инструментов визуализации данных для просмотра логов или мониторинга
-
наличия дашбордов
-
наличие метрик тестирования
Заключение
Прежде чем внедрять новые изменения, важно понять, какие процессы уже выстроены в компании. И отталкиваясь от этого, начать улучшать и менять текущую ситуацию. По шагам, исправляя одну проблему за другой, начиная с самых важных и не накидываясь на всё разом.
Надеюсь статья была полезной и дала пищу для размышления. Спасибо за внимание!
ссылка на оригинал статьи https://habr.com/ru/articles/836998/
Добавить комментарий