Мы все знаем прелести раннего тестирования и честно стараемся ревьюить требования, архитектурные проекты и прочую документацию. Выискиваем неполные описания, инструкции, которые приведут к ошибкам и вопросы без ответов.
При этом у меня бывает, что на тестировании документации сложно сфокусироваться, особенно если это затянувшееся коллективное ревью, автор рассказывает детали, а скука обволакивает и затягивает в сон. Я попыталась себе помочь, и зафиксировала некоторые азы рецензирования. Держу их перед собой. Добавим чашку кофе, и ревью превращается в осмысленное мероприятие.
Тем, кто формирует свой стиль работы, пригодится. Делюсь!
Введение
Повторенье — мать учения, пробежимся по базовым определениям, чтоб изъясняться на одном языке:
Тестирование (testing) — процесс, содержащий в себе все активности жизненного цикла, как динамические, так и статические, касающиеся планирования, подготовки и оценки программного продукта и связанных с этим результатов работ с целью определить, что они соответствуют описанным требованиям, показать, что они подходят для заявленных целей и для определения дефектов. (Источник — ISTQB Glossary)
Итак, тестирование — это процесс с тремя вопросами к тестируемому объекту
-
соответствует ли он требованиям?
-
подходит цели?
-
какие есть дефекты (баги)?
Статическое тестирование (static testing): тестирование артефактов разработки программного обеспечения, таких как требования, дизайн или программный код, проводимое без исполнения этих артефактов. Например, с помощью рецензирования или статического анализа. (Источник — ISTQB Glossary)
Статический анализ выполняется специальным программным обеспечением. Мы же практикуем рецензирование.
Рецензирование (review): оценка состояния продукта или проекта с целью установления расхождений с запланированными результатами и для выдвижения предложений по совершенствованию. (Источник — ISTQB Glossary)
Алгоритм тестирования документации
Здесь напомню, что жизненный цикл тестирования у нас такой:
-
подготовка/планирование,
-
проектирование тестов,
-
выполнение тестов,
-
отчетность,
-
завершающие действия (опционально).
Ревью (==рецензирование) документации — это тоже тестирование.
А значит, имеем алгоритм
-
Готовимся — выясняем, с чем мы собираемся иметь дело:
-
с какой целью создается документ, его официальное определение,
-
какие обязательные сведения в нем должны содержаться,
-
какие сведения дополнительны, но хорошо бы иметь,
-
находим примеры в интернете, формируем личную насмотренность.
-
-
Проектируем Check list:
-
включаем в него общепринятые требования в компании,
-
подбираем подходящие best practices с просторов сети,
-
если есть идеи потенциальных дефектов, записываем.
-
-
Выполняем рецензирование:
Entry criteria: Документ соответствует цели своего создания.-
читаем, проверяем выполнение пунктов Check list.
-
-
Exit criteria: найдено 1-2 minor дефекта.
Формируем отчетность:-
cоставляем список дефектов, рекомендаций по улучшению, нераскрытых вопросов,
-
ранжируем в порядке серьезности и приоритетности,
-
отправляем автору,
-
после получения обновленного варианта возвращаемся в шаг 3.
-
Entry criteria (критерий входа) — условие, выполнение которого обязательно для основного рецензирования. Если оно не выполняется, тестирование останавливается, документ передается на доработку.
Exit criteria (критерии выхода) — условия, когда тестирование считается успешно завершенным и документ можно использовать для дальнейшей работы по назначению.
Да, я приемлю считать работу над документом успешно завершенным, если в моем видении там осталась 1-2 очень незначительных замечания. Бесконечное полирование съедает драгоценное время, к тому же в рецензировании присутствует субъективность, что минорный дефект для меня — то допустимая норма для другого.
Пример тестирования требований
Какой самый частый документ, который вы тестируете? Я — Jira ticket, тип Story. Задача в Джире, которая будет_включена/уже_включена в новый спринт — типичный объект раннего тестирования. Чем она вернее и полнее описана изначально, тем больше шансов вовремя получить качественный функционал.
У каждой команды могут быть регламентированы свои стандарты оформления тикетов, прежде всего стоит поискать в документации или поинтересоваться у старших коллег, есть ли принятые стандарты в вашей компании. Есть ли их нет опираемся на распространенные общепринятые нормы ниже.
Подготовка
Jira задача с типом Story — документ, описывающий функционал, который необходимо спроектировать, написать код и протестировать.
Для меня Jira задача обязательно должна содержать:
-
summary — короткое заглавие,
-
description — описание предстоящей работы,
-
user story — вид бизнес требования на разговорном языке, используется в Agile,
-
acceptance сriteria — это критерии, которым должна соответствовать работа, для того, чтобы быть принятой заказчиком.
Дополнительно могут быть:
-
use cases — прописанные сценарий пользования системой с новым функционалом,
-
release number — номер релиза к которому он готовится,
-
epic — основной тикет, который объединяет в группу другие,
И т.п.
Check list
-
user story — небольшая изолированная единица функциональности, которую можно продемонстрировать,
-
user story написана в формате As a < type of user >, I want < some goal > so that < some reason >,
-
ticket подходит к целям спринта,
-
описание функциональности понятно
(например, нет неизвестных терминов, сленга), -
acceptance criteria тестируемы
(например, система должна работать стабильно весь год или интерфейс должен быть удобный — не тестируемые критерии), -
функциональность не зависит от другой функциональности в спринте
(либо зависимость указана), -
требования к новому интерфейсу обозначены,
-
функциональность приоритезирована,
-
новый функционал не противоречит, согласуется с существующим ранее.
Рецензирование
Мое рецензирование jira задач не похоже на классическое книжное ревью, потому что у нас часто бывает, что Product Manager торопится и не прописывает все детали. По классическому алгоритму я должна бы собрать все замечания и вернуть ему документ на доработку. Но, когда мы говорим про Jira ticket это ненужная потеря времени, и я просто сама в процессе рецензирования дописываю недостающее. Важно, если хоть немного сомневаюсь в чем-то, прошу его проверить и подтвердить верность моих суждений, а вместе с тем адресую замечания, которые остаются. Получается рецензирование на рецензирование.
Кстати, интересный факт, я всегда считала, что заполнение jira ticket полностью обязанность Product Manager. Но недавно у нас проводила тренинги Liz Keogh, английский agile консультант, и она рассказала, что на сегодня считается успешной практикой, когда раздел Acceptance criteria заполняют именно разработчики. Это на уровне документации заставляет их детально подумать,
-
как они будут реализовать программный код,
-
что непонятно, и какой информации не хватает в требованиях.
Отчетность
Мне удобно, когда диалог по правкам ведется в комментариях к задаче. Если ответа долго нет, всегда можно напомнить на ежедневной встрече.
Заключение
В этой части просто повторю, что уже писала в одной из своих ранних статей. Не верю, что бывают универсальные алгоритмы, которые подойдут в любую команду, но верю, что насмотренность на чужие (даже самые простые) практики дает фундамент генерировать те способы работы, которые поднимут уровень рабочего комфорта в вашем случае. Удачи!
ссылка на оригинал статьи https://habr.com/ru/articles/595773/
Добавить комментарий