Какие проверки следует выполнять первыми — позитивные или негативные?

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

Ответ

Рекомендуется начинать с позитивных (happy path) проверок.

Почему?

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

Затем выполняются негативные проверки:

  • Обработка невалидных входных данных.
  • Проверка граничных значений.
  • Тестирование поведения системы при ошибках и исключительных ситуациях.

Пример для функции валидации пароля:

def validate_password(password):
    return len(password) >= 8 and any(c.isdigit() for c in password)

# 1. Позитивный тест (основное требование)
assert validate_password("Secure123") == True

# 2. Негативные тесты (обработка ошибок)
assert validate_password("short") == False      # Слишком короткий
assert validate_password("nolNumbers") == False # Без цифр
assert validate_password("") == False           # Пустая строка

Такой порядок помогает строить тестовое покрытие логично и эффективно.