Что такое комбинаторное покрытие в тест-дизайне?

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

Ответ

Комбинаторное покрытие — это критерий тест-дизайна, требующий проверки всех возможных комбинаций значений входных параметров тестируемой системы.

Цель: Выявление дефектов, которые проявляются только при определенном сочетании значений разных параметров (дефекты взаимодействия).

Пример: Система имеет два параметра:

  • Браузер: Chrome, Firefox
  • ОС: Windows, macOS

Полное комбинаторное покрытие потребует 4 тестовых случая:

  1. Chrome + Windows
  2. Chrome + macOS
  3. Firefox + Windows
  4. Firefox + macOS

Проблема и решение: С ростом числа параметров и их значений количество комбинаций растет экспоненциально (взрыв комбинаторики). На практике используют оптимизированные техники:

  • Попарное тестирование (Pairwise): Проверяются все возможные пары значений любых двух параметров. Это резко сокращает число тестов, находя большинство дефектов взаимодействия.
  • Ортогональные массивы: Систематический метод для создания минимального набора тестовых комбинаций.

Применение: Тестирование конфигураций, форм с множеством полей, бизнес-правил с несколькими условиями.