Где ты хранишь тест-кейсы?

«Где ты хранишь тест-кейсы?» — вопрос из категории Тестовая документация, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Я использую комбинированный подход, разделяя хранение в зависимости от типа тестов и целей:

1. Для ручного тестирования и тест-дизайна: Использую Test Management Systems (TMS). На последнем проекте это был TestRail, интегрированный с Jira.

  • Что хранится: Детальные шаги, предусловия, ожидаемые результаты, приоритет, статус, связи с требованиями (User Story в Jira).
  • Преимущества: Централизованный доступ для всей команды, история прогонов, удобная отчетность, повторное использование кейсов.

2. Для автоматизированных тестов: Код автотестов хранится в Git-репозитории (например, GitLab) вместе с кодом приложения или в отдельном репозитории QA.

  • Структура:
    /tests
    ├── api/
    │   ├── conftest.py          # Фикстуры Pytest
    │   ├── test_auth.py         # Тестовые модули
    │   └── test_orders.py
    ├── ui/
    │   ├── pages/               # Page Object Model
    │   ├── tests/
    │   └── conftest.py
    ├── test_data/               # Отдельные файлы с данными
    └── pytest.ini               # Конфигурация
  • Документация внутри кода: Каждый тестовый метод содержит docstring с кратким описанием цели теста (это позже попадает в Allure-отчет).

3. Для отчетности и анализа результатов: Использую Allure Framework или pytest-html. После прогона генерируется интерактивный отчет, который можно сохранить как артефакт в CI/CD (Jenkins, GitLab) или развернуть на отдельном сервере (Allure Server).

Мой выбор инструмента зависит от проекта:

  • Для больших команд с активным ручным тестированием — TMS (TestRail, Zephyr).
  • Для проектов с упором на автоматизацию — Git + Allure, а высокоуровневые тест-сьюты могут быть описаны в виде чек-листов в Wiki (Confluence) или Issues (Jira).