Сколько тестовых случаев достаточно для проверки одного класса эквивалентности?

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

Ответ

Для проверки одного класса эквивалентности (Equivalence Partitioning, EP) в идеале достаточно одного представительного значения, так как все значения внутри класса должны обрабатываться системой одинаково.

Практические рекомендации для повышения надежности:

  1. Добавьте проверку граничных значений, если класс имеет четкие границы (техника Boundary Value Analysis, BVA).
  2. Используйте типичное значение из середины диапазона для основного сценария.

Пример для поля 'Возраст пользователя' (валидный диапазон 18-65):

  • Класс эквивалентности: Валидные значения (18-65).
  • Рекомендуемые тестовые данные:
    • 30 — типичное валидное значение (проверка основного потока).
    • 18 — нижняя граница (BVA).
    • 65 — верхняя граница (BVA).
# Пример тестовой функции
import pytest

VALID_AGE_RANGE = range(18, 66)  # 18-65 включительно

def test_valid_age_equivalence_class():
    """Проверка, что значения из валидного класса эквивалентности обрабатываются корректно."""
    test_values = [18, 30, 65]  # Границы + типичное значение

    for age in test_values:
        result = validate_user_age(age)
        assert result.is_valid == True, f"Age {age} should be valid"
        assert result.error_message == "", f"Unexpected error for age {age}"

Таким образом, для одного класса часто используется 1-3 теста в зависимости от важности функционала и наличия границ.