Почему в тестировании сначала проверяют позитивный сценарий, а потом негативный?

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

Ответ

Этот подход основан на принципе «от общего к частному» и эффективном использовании времени.

Причины:

  1. Валидация базовой функциональности: Позитивный сценарий подтверждает, что система работает по основному, задуманному пути. Если он не проходит, дальнейшее тестирование негативных сценариев бессмысленно — система не готова.
  2. Быстрая локализация проблем: Сломанный позитивный сценарий сразу указывает на критическую ошибку в ядре функционала, а не на частный случай.
  3. Экономия ресурсов: Не нужно тратить время на прогон множества негативных тестов, когда основная функция неработоспособна.

Пример на Python:

def test_login():
    # 1. Сначала позитивный сценарий (happy path)
    assert login("valid_user@example.com", "CorrectPass123") is True

    # 2. Затем негативные сценарии (edge cases)
    assert login("", "CorrectPass123") is False  # Пустой логин
    assert login("valid_user@example.com", "") is False  # Пустой пароль
    assert login("invalid", "wrong") is False  # Неверные данные

Такой порядок обеспечивает логичную и эффективную структуру тестового набора.