Как вы отбираете тест-кейсы для регрессионного тестирования?

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

Ответ

Отбор кейсов для регрессии — это процесс приоритизации, направленный на эффективное выявление побочных эффектов от изменений.

Критерии отбора:

  1. Критичность для бизнеса: Всегда включаются основные пользовательские сценарии (core flow). Например, для интернет-магазина: поиск товара → добавление в корзину → оформление заказа → оплата.
  2. Зоны риска (Risk-Based Testing):
    • Модули, которые чаще всего ломались в прошлом (анализ истории багов).
    • Код с высокой цикломатической сложностью или слабым покрытием автотестами.
  3. Область влияния изменений: Тестируются измененные модули и все компоненты, которые с ними интегрируются.
  4. Тип изменений:
    • Исправление бага: Регрессия фокусируется на исправленной функции и связанном с ней функционале.
    • Новая фича: Тестируется интеграция новой функционала с существующей системой.

Практический подход: Часто используется автоматизированный регрессионный набор для быстрых проверок. Ручное тестирование оставляется для сложных интеграционных и исследовательских сценариев.

Пример структуры набора:

# Приоритизированный список кейсов для регрессии после изменений в модуле оплаты
regression_suite = [
    ("test_checkout_with_card", "critical"),  # Основной бизнес-сценарий
    ("test_checkout_with_wallet", "high"),    # Альтернативный платежный метод
    ("test_discount_code_applied", "medium"), # Интеграция с промо-системой
    ("test_failed_payment_flow", "high")      # Сценарий, где ранее были баги
]