Где хранился код на последнем проекте

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

Ответ

На моем последнем проекте по тестированию весь код, включая фреймворк для автотестов и вспомогательные скрипты, хранился в системе контроля версий Git. Основной репозиторий был размещен на GitLab (ранее использовал GitHub и Bitbucket).

Структура репозитория для автотестов была примерно такой:

qa-automation/
├── src/
│   ├── api/              # Модуль для API-тестов (использовали requests/pytest)
│   ├── ui/               # Модуль для UI-тестов (использовали Playwright)
│   ├── helpers/          # Вспомогательные классы (работа с БД, генерация данных)
│   └── config/           # Конфигурационные файлы
├── tests/
│   ├── test_suite_api/   # Наборы API-тестов
│   └── test_suite_ui/    # Наборы UI-тестов
├── test_data/            # Тестовые данные в JSON/CSV файлах
├── allure-results/       # Результаты прогонов для Allure Report (в .gitignore)
├── .gitlab-ci.yml        # Конфигурация CI/CD пайплайна в GitLab
├── requirements.txt      # Зависимости Python
└── README.md             # Документация по запуску

Ключевые практики работы:

  • Мы следовали гибкой модели ветвления: создавали feature/ ветки для новой функциональности тестов, затем мержили в develop, а оттуда — в main.
  • Каждый merge request проходил ревью кода от другого QA-автоматизатора или разработчика.
  • В GitLab CI был настроен пайплайн, который запускал линтер, набор smoke-тестов и генерацию Allure-отчета при каждом пуше.
  • Для хранения чувствительных данных (логины, токены, ключи API) использовались переменные окружения в настройках CI/CD, которые никогда не коммитились в репозиторий.