Спринт идёт девятый день из десяти. Восемь дней проверять было нечего, а сегодня три задачи приехали разом — и завтра обзор. Что-то вы посмотрите бегло, что-то не успеете, и часть работы уедет в следующий спринт вместе с вопросом, который стоило задать в первый день.
Так выглядит спринт, в котором тестировщик ждёт готовое. Большинство команд работают по Agile: продукт делают короткими циклами, маленькими кусочками, а самая распространённая разновидность подхода — Scrum. В коротком цикле ждать нельзя: тестирование идёт вместе с разработкой, с первого дня.
Рамка — текущий день спринта. Дорожка разработки сверху одна и та же в обоих случаях, отличается работа тестировщика. В средней дорожке проверка идёт следом за готовностью: F1 проверили на четвёртый день, на пятый разобрали дефекты, на шестой подготовили данные для следующей задачи, на восьмой перепроверили починенное, на девятый-десятый приняли F3 и прогнали регресс. В нижней восемь дней проверять нечего, а на девятый всё приезжает разом — и часть работы уезжает за границу спринта вместе с вопросом, который стоило задать в первый день.
Спринт и бэклог
Работа в Scrum разбита на спринты — короткие отрезки, обычно одна-две недели. За спринт команда берёт небольшой набор задач и доводит их до готовности.
Откуда берутся задачи: есть бэклог — общий список всего, что нужно сделать в продукте, отсортированный по важности. На спринт из верхушки бэклога выбирают то, что успеют. Задачи часто описывают как пользовательские истории (user story) — коротко, от лица пользователя: «Как покупатель, я хочу оплатить заказ картой, чтобы не платить наличными».
Ключевая идея: за один спринт задача проходит весь путь — от обсуждения до готовности, включая проверку. Не «в этом спринте пишем, в следующем тестируем».
Церемонии Scrum и ваша роль в них
В Scrum есть несколько регулярных встреч («церемоний»). На каждой у тестировщика своя роль:
- Разбор бэклога (refinement). Команда заранее разбирает задачи будущих спринтов: уточняет формулировки, режет крупное на части. Ваши вопросы здесь стоят дешевле всего: кода ещё нет.
- Планирование (planning). В начале спринта команда решает, что берёт в работу. Ваша задача — прикинуть, что и как будете тестировать и что успеете; неясности в требованиях чаще всего вскрываются здесь.
- Дейли (daily, летучка). Короткая ежедневная встреча «что делал, что буду, что мешает». Вы говорите, что тестируете, где ждёте починок, что вас останавливает.
- Обзор (review, демо). В конце спринта показывают, что сделали. Вы уже проверили это к моменту показа — на демо не должно всплывать сюрпризов.
- Ретроспектива (retro). Команда обсуждает, что в процессе шло хорошо, а что улучшить. Тестировщик поднимает проблемы качества: например, «задачи приходят на тест в последний день, не успеваем».
Почему тестирование идёт вместе с разработкой
В старом подходе (waterfall) тестирование стояло в конце, отдельным этапом; в коротком цикле так не выходит, и работа размазана по всему спринту:
- В начале вы разбираете задачи и задаёте вопросы (баги в требованиях ловятся тут).
- Пока разработчик пишет код, вы готовите тест-кейсы и данные.
- Как только функция готова — сразу проверяете, не дожидаясь конца спринта.
- Ближе к концу — регресс: не сломало ли новое старое.
Важное следствие: тестировщик и разработчик — партнёры, работающие бок о бок, а не «конвейер», где один сдал, другой принял.
Definition of Done — когда задача готова
Полезное понятие — Definition of Done (DoD), «определение готовности». Это общий для команды чек-лист, при каком условии задачу можно считать завершённой. Обычно туда входит и «протестировано»: например, «код написан, ревью пройдено, тесты пройдены, багов с высоким приоритетом нет».
Для тестировщика DoD — это защита: задача не «готова», пока не проверена.
Где теряется спринт
- Ждут, пока «всё сделают», и получают всю работу в последний день — это нижняя дорожка на рисунке.
- Молчат на встречах. Планирование и дейли — место, где задают вопросы и говорят, что остановило работу; молчание откладывает проблему на потом.
- Считают разработчика противником. Вы делаете общее дело; баг — это не обвинение, а совместная находка.
Коротко
- Спринт — короткий отрезок (одна-две недели), за который задача проходит весь путь до готовности, включая проверку.
- Тестирование не стоит в конце: вопросы к задаче до кода, кейсы и данные пока код пишут, проверка сразу после готовности функции, регресс перед обзором.
- Вопрос по требованию, заданный на разборе бэклога или планировании, стоит разговора; он же на девятый день стоит переделки, которая в спринт не влезет.
- На каждой встрече у тестировщика есть что сказать: на планировании — вопросы и объём, на дейли — что мешает, на ретро — проблемы качества.
- Definition of Done — общий чек-лист готовности: пока «протестировано» в нём есть, непроверенное не уедет в выпуск.
- К обзору всё уже проверено, поэтому на демо не бывает сюрпризов.
Что почитать дальше
- Модели разработки ПО — водопад, V-модель и итерации: откуда взялся «тест в конце».
- Тестирование по требованиям — с чего начинается задача в спринте.
- Тест-план и тест-сьюты — как договориться о границах проверки внутри спринта.
- Оценка трудозатрат — что отвечать на планировании, когда спрашивают про сроки.