Ответ
Самые ранние и дешевые для исправления дефекты обнаруживаются на стадиях Анализа требований и Проектирования (архитектуры и дизайна).
Какие дефекты ищут на ранних стадиях:
-
Дефекты в требованиях:
- Неполнота: Упущены важные сценарии или бизнес-правила.
- Неоднозначность: Формулировки, которые можно трактовать по-разному.
- Противоречивость: Разные требования конфликтуют между собой.
- Нетестируемость: Невозможно создать объективный критерий проверки.
-
Дефекты в архитектуре и дизайне:
- Масштабируемость: Система не сможет выдержать прогнозируемую нагрузку.
- Безопасность: Заложены уязвимости на уровне проектных решений.
- Технологический выбор: Неподходящий стек технологий для задачи.
Методы раннего обнаружения (превентивное тестирование):
- Статическое тестирование (Review): Ревью требований (SRS), пользовательских историй (User Stories), архитектурных диаграмм и API-спецификаций (OpenAPI/Swagger).
- Моделирование и прототипирование: Создание wireframes или clickable-прототипов для проверки логики интерфейса.
Пример дефекта в требовании и его последствия:
ИСХОДНОЕ ТРЕБОВАНИЕ: "Пароль пользователя должен быть не менее 6 символов."
ПРОБЛЕМЫ (дефекты требования):
1. Неоднозначность: Какие символы допустимы? (только буквы? цифры? Unicode?)
2. Неполнота: Есть ли ограничение по максимальной длине?
3. Нетестируемость: Как проверить "символ" для эмодзи?
ПОСЛЕДСТВИЯ: Разработчики и тестировщики будут трактовать требование по-разному,
что приведет к дефектам в коде и спорам при приемке.
ИСПРАВЛЕННОЕ ТРЕБОВАНИЕ: "Пароль должен содержать от 8 до 64 символов,
допустимы буквы латинского алфавита (a-z, A-Z), цифры (0-9) и символы !@#$%&*."
Вывод: Раннее вовлечение QA-инженеров в процессы анализа и проектирования (Shift-Left) значительно снижает стоимость исправления дефектов и риски срыва сроков.