Где, помимо формальных требований, искать ожидаемый результат для тестирования?

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

Ответ

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

  • Поведение систем-аналогов: Изучение того, как ту же проблему решают конкуренты или похожие продукты.
  • Бизнес-логика и здравый смысл: Что является логичным и корректным с точки зрения предметной области.
  • Документация сторонних API/библиотек: Ожидаемые коды ответов, форматы данных и ограничения.
  • Исторические данные и логи: Как система вела себя в аналогичных сценариях ранее (при условии, что это не был баг).
  • Неявные требования: Стандарты юзабилити, соглашения об именовании, consistency в рамках продукта.

Пример для тестирования REST API: Ожидаемая структура ответа может быть определена из спецификации OpenAPI, даже если она не дублируется в пользовательской истории.

# Ожидаемая схема ответа для эндпоинта GET /api/users/{id}
expected_schema = {
    "type": "object",
    "properties": {
        "id": {"type": "integer"},
        "name": {"type": "string"},
        "email": {"type": "string", "format": "email"}
    },
    "required": ["id", "name", "email"]
}