Как было организовано автоматизированное тестирование на вашем последнем проекте?

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

Ответ

На проекте по разработке SaaS-платформы мы выстроили двухуровневую систему автоматизации с фокусом на API и критическом UI.

Стек технологий:

  • API-тесты: Postman → Newman + Jenkins. Коллекции Postman с комплексными сценариями (цепочки запросов, работа с токенами).
  • UI-тесты: Selenide + JUnit 5 для критических сценариев "счастливого пути".
  • Нагрузочное тестирование: JMeter для ключевых эндпоинтов.
  • Отчетность: Allure Framework для детализированных отчетов с шагами, скриншотами и логами.

Процесс и интеграция:

  1. Локальная разработка: Пишу тесты в IDEA, запускаю через Maven (mvn clean test).
  2. CI/CD (Jenkins): При пуше в ветку develop запускается пайплайн:
    pipeline {
        agent any
        stages {
            stage('API Tests') {
                steps {
                    sh 'newman run collections/regression.json --reporters allure'
                }
            }
            stage('UI Tests') {
                steps {
                    sh 'mvn clean test -Dsuite=smoke'
                }
            }
            stage('Allure Report') {
                steps {
                    allure([...])
                }
            }
        }
    }
  3. Работа с данными: Для изоляции тестов использовали отдельную тестовую БД, которую наполняли фикстурами перед прогоном и очищали после. Для UI-тестов применяли механизм @BeforeEach для логина и @AfterEach для логаута.

Пример API-теста из коллекции Postman: В коллекции был запрос Create Order, который:

  • Брал токен из переменной окружения.
  • Создавал заказ через POST /api/orders.
  • Валидировал статус-код 201 и схему JSON-ответа.
  • Сохранял orderId в переменную для следующего запроса GET /api/orders/{{orderId}}.

Итог: Такой подход позволил быстро получать обратную связь о регрессии после каждого коммита и держать долю автоматизированных тестов на уровне ~70%.