По каким критериям следует выбирать тесты для автоматизации?

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

Ответ

Критерии выбора направлены на максимизацию ROI (возврата на инвестиции) от автоматизации. Автоматизировать стоит тесты, которые:

  1. Часто выполняются: Регрессионные, smoke-тесты, проверки перед каждым билдом.
  2. Требуют больших данных или комбинаций: Тесты с множеством входных значений (например, проверки валидации полей).
  3. Покрывают стабильный функционал: Функции, требования к которым не меняются в каждом спринте.
  4. Критичны для бизнеса: Основные пользовательские сценарии (оплата, регистрация, создание основного контента).
  5. Сложны для ручного выполнения: Проверки, требующие точных расчетов, нагрузочные тесты или тесты на разных конфигурациях.

Хороший кандидат для автоматизации — тест логина:

# Автоматизированный тест покрывает множество сценариев быстро
def test_login_scenarios():
    # Позитивный сценарий
    assert login("valid_user@example.com", "StrongPass123") == SUCCESS
    # Негативные сценарии
    assert login("", "password") == ERROR_EMPTY_USERNAME
    assert login("user", "weak") == ERROR_WEAK_PASSWORD
    assert login("wrong@email.com", "WrongPass") == ERROR_INVALID_CREDENTIALS

Не стоит автоматизировать:

  • Одноразовые или исследовательские тесты.
  • UI с нестабильными или часто меняющимися селекторами (без применения паттернов типа Page Object).
  • Тесты, требующие человеческого восприятия (проверка дизайна, удобства использования).
  • Функционал в активной стадии разработки (часто меняются требования).