«Тут еще нечего тестировать»: почему QA нужен раньше

«Тут еще нечего тестировать!» - говорит разработчик, когда я захожу посмотреть, как продвигается задача. Мол, дай спокойно код написать, еще успеешь проверить. 😄

Но зачем ждать готовую сборку, если часть проблем можно найти еще до того, как написана первая строчка кода?

Расскажу на примере.

Был у меня проект, где тестировщиков подключали строго после готовности сборки. Казалось бы, все логично: разработка закончена - передаем задачу в QA.

На практике это превращалось в бесконечный круг согласований.

Начинаешь тестировать, а в требованиях обнаруживаются пробелы: - Что будет, если в числовое поле ввести буквы? 🐘 - Какой текст ошибки должен увидеть пользователь? - Куда перенаправить пользователя после сохранения? - Что делать, если обязательное поле осталось пустым?

Аналитик что-то не предусмотрел, разработчик не стал уточнять, потому что формально требования были готовы. И вот тестировщик уже не проверяет функциональность, а пытается выяснить, как она вообще должна работать.

Задача отправляется по кругу: аналитик → разработчик → тестирование → снова аналитик.

Время идет, сроки сдвигаются, а команда переделывает уже написанное.

Я решила изменить подход.

Не ждать готовую сборку, а подключаться к задаче раньше.

Пока разработчик работает над кодом, я уже изучаю требования: ищу неоднозначности, проверяю граничные значения, ограничения ввода, анализирую возможные негативные сценарии.

Отдельная история - макеты. Иногда достаточно внимательно посмотреть на них, чтобы найти вопросы еще до разработки: забыли плейсхолдер, не предусмотрели кнопку, не согласовали состояние элемента или изменили цвет, не обновив описание.

Спрашиваю: «Ребята, а так и задумано?»

И иногда выясняется, что нет. 😅

Параллельно готовлю тест-кейсы. Если возникают вопросы, обсуждаем их с аналитиком и разработчиком, пока задача еще в работе.

В результате к моменту передачи сборки в QA у меня уже есть понимание логики, согласованные требования и подготовленные проверки.

Это не означает, что дефектов больше не будет. Но мы значительно сокращаем количество возвратов из-за вопросов, которые можно было закрыть заранее.

Что дает раннее подключение QA? 1. Проблемы в требованиях обнаруживаются до разработки, когда исправлять их проще. 2. Разработчик не тратит время на переделку функциональности из-за неучтенных сценариев. 3. Тестировщик не ждет уточнений после получения сборки, а может сразу приступать к проверкам. 4. Команда лучше понимает, что именно и с каким результатом должна реализовать.

Для меня QA - это не этап, который начинается после разработки. Это участник процесса создания продукта.

И нет, я не собираюсь мешать разработчику писать код. 😉 Просто предпочитаю задать десять вопросов до разработки, чем получить десять возвратов после нее.