Какой основной принцип попарного тестирования
Что проверяют
Знаете ли вы гипотезу, на которой стоит метод, и понимаете ли его ограничение.
Как отвечать
Принцип основан на наблюдении: большинство дефектов вызывается либо одним параметром, либо взаимодействием двух. Комбинации трёх и более параметров дают заметно меньшую долю. Значит достаточно построить набор тестов, в котором встречается каждая пара значений каждых двух параметров, вместо перебора всех комбинаций.
Выигрыш огромен. Возьмём десять параметров по три значения: полный перебор это почти шестьдесят тысяч комбинаций, а попарное покрытие достигается примерно двумя десятками тестов. При этом покрывается основная масса реально встречающихся дефектов.
Как применяют на практике:
- выписывают параметры и их значения. Непрерывные величины предварительно разбивают на классы эквивалентности, иначе значений будет бесконечно много;
- задают ограничения на невозможные сочетания, иначе генератор придумает бессмысленные наборы вроде оплаты бонусами при отключённой бонусной программе;
- генерируют набор инструментом. Вручную это делать бессмысленно, есть готовые генераторы;
- добавляют вручную критичные комбинации, которые обязаны быть проверены независимо от алгоритма.
Ограничения, которые надо назвать честно:
- метод не ловит дефекты от взаимодействия трёх и более параметров. Если такое подозревается, существуют наборы более высокой размерности, но их объём быстро растёт;
- качество зависит от разбиения на классы. Плохо выбранные значения дадут покрытие на бумаге и дыры в реальности;
- метод отвечает на вопрос «какие комбинации проверить», но не заменяет анализ рисков.
Где спотыкаются
Считают, что метод покрывает все дефекты.
Не задают ограничения и получают невозможные комбинации.
Пытаются составить набор вручную.
Забывают добавить критичные сочетания сверх сгенерированных.