Как вы проводите регрессионное тестирование?

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

Ответ

Регрессионное тестирование — это проверка, что новые изменения не сломали существующий функционал.

Мой подход:

  1. Определение объема регресса:
    • Полный регресс — всей системы (редко, для критичных обновлений).
    • Выборочный/частичный регресс — только затронутые модули и смежные области (основная стратегия).
    • Smoke-тестирование — проверка ключевых сценариев перед полным регрессом.
  2. Автоматизация: Основная цель — покрыть стабильные, часто используемые сценарии.
    • API-уровень: Скрипты на Python (pytest + requests).
      # Пример регрессионного теста API
      def test_existing_user_flow(api_client):
      # 1. Логин
      login_resp = api_client.post('/login', json={"user": "test"})
      assert login_resp.status_code == 200
      token = login_resp.json()['token']
      # 2. Получение профиля (проверяем, что не сломалось)
      profile_resp = api_client.get('/profile', headers={"Auth": token})
      assert profile_resp.status_code == 200
    • UI-уровень: Selenium WebDriver.
    • Интеграция в CI/CD: Запуск регрессионного набора в пайплайне (Jenkins/GitLab CI).
  3. Оптимизация: Параллельный запуск тестов, приоритизация сценариев, регулярный ревью и очистка тестового набора от устаревших проверок.