Ответ
Попарное тестирование (Pairwise Testing) — это техника тест-дизайна, которая позволяет значительно сократить количество тест-кейсов за счёт проверки всех возможных уникальных комбинаций значений для каждой пары параметров, а не для всех параметров одновременно. Основано на эмпирическом наблюдении, что большинство дефектов вызывается взаимодействием двух параметров.
Зачем это нужно? Для избежания комбинаторного взрыва. Полный перебор (All-Pairs) всех комбинаций часто нецелесообразен.
Пример: Тестирование формы с тремя параметрами:
- ОС: Windows (W), Linux (L), macOS (M)
- Браузер: Chrome (C), Firefox (F)
- Язык: English (EN), Russian (RU)
| Полный перебор (12 комбинаций) | Попарное покрытие (6 комбинаций) |
|---|---|
| W, C, EN | W, C, EN (Covers: W-C, W-EN, C-EN) |
| W, C, RU | W, F, RU (Covers: W-F, W-RU, F-RU) |
| W, F, EN | L, C, RU (Covers: L-C, L-RU, C-RU) |
| W, F, RU | L, F, EN (Covers: L-F, L-EN, F-EN) |
| L, C, EN | M, C, RU (Covers: M-C, M-RU, C-RU) |
| L, C, RU | M, F, EN (Covers: M-F, M-EN, F-EN) |
| L, F, EN | |
| L, F, RU | |
| M, C, EN | |
| M, C, RU | |
| M, F, EN | |
| M, F, RU |
Инструменты: Для генерации оптимальных наборов тестов используются инструменты, такие как PICT (от Microsoft) или онлайн-генераторы.
Ответ 18+ 🔞
Да ты посмотри на эту хуйню! Сидит тестировщик, блядь, и думает: "Вот у меня тут три параметра — ОС, браузер, язык. Ну, я ж не мудак, надо всё проверить!" И начинает строчить тест-кейсы, как сука подорванная. Windows-Chrome-English, Windows-Chrome-Russian... А потом смотрит — нихуя себе, уже 12 комбинаций! А если параметров пять? Шесть? Да там овердохуища вариантов будет, в рот меня чих-пых! На всю жизнь тестирования не хватит.
А тут, блядь, умные дядьки подумали: "А нахуй нам всё? Большинство багов, ёпта, вылазят не от того, что все три штуки вместе как-то по-особенному ебнулись, а от того, что какие-то два параметра не подружились!" Ну, типа, Windows с Firefox'ом поругались, или Chrome на русском языке съебнулся. Вот и придумали попарное тестирование — чтобы проверить все возможные парочки, а не все комбинации разом.
Смотри, вот табличка. Слева — полный перебор, 12 строк, нихуя не мало. А справа — попарное покрытие, всего 6 строк! И знаешь что? Оно покрывает, блядь, ВСЕ возможные пары! Каждую ОС с каждым браузером, каждый браузер с каждым языком, каждую ОС с каждым языком. Гениально и просто, как хуй в проруби!
| Полный перебор (12 комбинаций) | Попарное покрытие (6 комбинаций) |
|---|---|
| W, C, EN | W, C, EN (Накрывает: W-C, W-EN, C-EN) |
| W, C, RU | W, F, RU (Накрывает: W-F, W-RU, F-RU) |
| W, F, EN | L, C, RU (Накрывает: L-C, L-RU, C-RU) |
| W, F, RU | L, F, EN (Накрывает: L-F, L-EN, F-EN) |
| L, C, EN | M, C, RU (Накрывает: M-C, M-RU, C-RU) |
| L, C, RU | M, F, EN (Накрывает: M-F, M-EN, F-EN) |
| L, F, EN | |
| L, F, RU | |
| M, C, EN | |
| M, C, RU | |
| M, F, EN | |
| M, F, RU |
И самое охуенное — тебе эту матрицу вручную, блядь, высиживать не надо. Есть же инструменты, ёбушки-воробушки! Тот же PICT от Microsoft — нахуярил ему параметры с значениями, он тебе оптимальный набор и выплюнет. Сиди и тестируй, а не голову себе еби комбинаторикой.
В общем, суть в чём: не надо быть мудаком-максималистом и проверять всё подряд. Умнее — проверить все пары. Эффективность, блядь, зашкаливает, а времени и сил — в три раза меньше. Вот так вот, просто и с пользой, как хуй с горы.