Ответ
Идеально — как можно раньше, на этапе анализа требований и проектирования. Конкретный момент зависит от методологии:
- Гибкие методологии (Agile/Scrum): Тестировщик участвует с первого дня спринта — в планировании, уточнении требований, ежедневных стендапах. Тестирование ведется параллельно с разработкой.
- Каскадная модель (Waterfall): Формальное тестирование начинается после завершения этапа разработки.
Преимущества раннего вовлечения:
- Снижение стоимости: Дефекты, найденные на этапе требований, исправляются дешевле и быстрее.
- Повышение качества требований: Тестировщик помогает формулировать четкие, проверяемые (testable) критерии приемки.
- Проактивность: Возможность выявить риски и противоречия до начала кодирования.
Пример участия на этапе проектирования: Тестировщик может сразу написать сценарий для проверки требования:
Feature: Валидация email при регистрации
Scenario: Ввод некорректного email
Given Поле "Email" на форме регистрации
When Пользователь вводит "user@invalid"
Then Отображается сообщение об ошибке "Введите корректный email"