Когда попарное тестирование (Pairwise) не следует применять?

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

Ответ

Попарное тестирование (метод ортогональных массивов) эффективно для сокращения комбинаций, но не подходит для случаев:

  1. Высококритичные системы (safety-critical): В медицине, авиации, финансах часто требуется полный перебор комбинаций, так как стоимость пропущенного дефекта крайне высока.
  2. Сильная зависимость между параметрами: Если значения одного параметра логически ограничивают значения другого, Pairwise может пропустить важные или создать невалидные комбинации.
  3. Малое количество параметров или значений: Когда общее число всех возможных комбинаций невелико (например, 2 параметра по 3 значения = 9 комбинаций). Выгода от сокращения минимальна.
  4. Высокая стоимость подготовки одного теста: Если настройка тестового окружения для одного сценария занимает много времени, сокращение числа прогонов может не окупить рисков.

Пример зависимых параметров (логика в коде):

def set_access_level(user_type, action):
    """
    user_type: 'guest', 'user', 'admin'
    action: 'read', 'write', 'delete'
    """
    rules = {
        'guest': ['read'],
        'user': ['read', 'write'],
        'admin': ['read', 'write', 'delete']
    }
    if action not in rules[user_type]:
        raise PermissionError
# Pairwise-комбинация ('guest', 'delete') будет невалидной и может быть пропущена,
# но ее важно проверить на обработку ошибок.