Как вы действуете, если на проекте отсутствует формальная спецификация?

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

Ответ

При отсутствии спецификации я собираю требования и формирую тестовую модель самостоятельно:

  1. Коммуникация с командой: интервью с PM, аналитиками и разработчиками для выяснения ожиданий.
  2. Анализ кода и API: изучение исходного кода, тестов, контрактов или документации к API (например, OpenAPI/Swagger).
  3. Экспертиза и реверс-инжиниринг: исследование работающей системы для документирования фактического поведения.
  4. Анализ аналогов: изучение похожих продуктов для формирования базовых ожиданий.

Ключевой шаг — документирование и согласование. Найденные правила фиксируются (например, в виде тест-кейсов или чек-листов) и утверждаются командой как эталон.

Пример для недокументированного API:

# Эмпирическое определение спецификации через тесты
response = requests.get("/api/v1/users/1")
# На основе анализа нескольких запросов выясняем ожидаемый статус
assert response.status_code == 200
assert "id" in response.json()  # Ожидаемое поле в ответе