На какой стадии жизненного цикла ПО дефекты можно обнаружить раньше всего и как?

«На какой стадии жизненного цикла ПО дефекты можно обнаружить раньше всего и как?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Самые ранние и дешевые для исправления дефекты обнаруживаются на стадиях Анализа требований и Проектирования (архитектуры и дизайна).

Какие дефекты ищут на ранних стадиях:

  1. Дефекты в требованиях:

    • Неполнота: Упущены важные сценарии или бизнес-правила.
    • Неоднозначность: Формулировки, которые можно трактовать по-разному.
    • Противоречивость: Разные требования конфликтуют между собой.
    • Нетестируемость: Невозможно создать объективный критерий проверки.
  2. Дефекты в архитектуре и дизайне:

    • Масштабируемость: Система не сможет выдержать прогнозируемую нагрузку.
    • Безопасность: Заложены уязвимости на уровне проектных решений.
    • Технологический выбор: Неподходящий стек технологий для задачи.

Методы раннего обнаружения (превентивное тестирование):

  • Статическое тестирование (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) значительно снижает стоимость исправления дефектов и риски срыва сроков.