Про попарне тестування на сьогодні є колосальна кількість інформації. Як відомо, дана техніка є одним із найбільш потужних методів тестування за принципами економії ресурсів. Попарне тестування ґрунтується на принципах комбінаторики та базується на методі «хоча б раз протестувати кожен із вхідних параметрів».
Відомо, що найбільш цінним ресурсом є час, тому метод попарного тестування дозволяє охопити найбільшу кількість значень даних при мінімальній кількості перевірок. Найпоширеніші помилки у програмі зазвичай викликаються або одним вхідним параметром, або взаємодією між парами параметрів. Помилки, пов'язані із взаємодією між трьома або більше параметрами, поступово рідше зустрічаються, а також таке тестування є ресурсозатратним, громіздким та, звичайно, дорожчим. Таким чином, комбінативна методика вибору тестових прикладів є корисним компромісом витрат та вигод, який дозволяє значно скоротити кількість тестових випадків без різкого погіршення функціонального покриття.
На сьогодні існує безліч десктопних та онлайн-засобів для попарного тестування. Вони дозволяють значно полегшити процес підготовки таблиці перевірок та упорядкувати тестові дані і процес тестування у цілому. Розглянемо найбільш поширені (повний перелік доступних інструментів можна переглянути тут https://www.pairwise.org/tools.html).
Десктопні інструменти
Allpairs – https://www.satisfice.com/download/allpairs
Allpairs – це виконуваний файл командного рядка на основі сценарію Perl. Для роботи з застосунком необхідні базові знання команд консолі: як переходити між каталогами, вміти запускати програму з каталогу, в якому містяться тестові файли.
Для початку потрібно скласти таблицю даних, яка буде оброблена Allpairs. В Excel потрібно зробити таблицю з перерахуванням даних та параметрів, потім експортувати цю таблицю в текстовий файл із поділом стовпців через «TAB» та надати файл Allpairs на обробку.
У каталозі з програмою allpairs.exe створюємо підкаталог (наприклад, «Test»), в якому зберігаємо текстові файли (з таблицями Excel). У цьому підкаталозі з'явиться файл з результатами роботи allpairs.exe. Переходимо до цього підкаталогу («Test») і вже з нього звертаємося до allpairs.exe, який знаходиться рівнем вище.
Вказуємо файл, який треба обробити (у прикладі це input.txt) і задаємо команду вивести результат роботи у файл, якого на диску ще не існує (у прикладі його названо output.txt). В результаті отримано готовий перелік тестових перевірок з заданими параметрами та їх значеннями.
PICT (Pairwise Independent Combinatorial Tool) – https://github.com/microsoft/pict
Застосунок подібний до попереднього, також запускається з командного рядка. Вхідним для програми приймається простий текстовий файл з параметрами та їх значеннями, а на виході програма видає згенеровані тестові сценарії.
Online інструменти
Pairwiser – https://inductive.no/pairwiser-tool/
Онлайн-сервіс Pairwiser дозволяє завантажити або створити тест-план, визначити параметри тестованої системи, згенерувати список тестів та тестових сценаріїв. Сервіс безкоштовний, однак потребує реєстрації.
Для генерації тестів необхідно спочатку визначити параметри системи, що тестуватиметься. Параметри задаються на вкладці «Define Parameters».
Обмеження необхідно використовувати, якщо потрібно виключити будь-яку комбінацію з плану тестування. Якщо є обов’язкові тести або налаштування параметрів, які потрібно включити в тестовий набір, можна вказати їх на вкладці «Required Tests».
Варіації тестів створюються на вкладці «Generate Tests». Генерувати можна 1-wise, 2-wise, 3-wise тести (тобто тести з 1/2/3 параметрами) та змішані тести. Можна включити до переліку визначені раніше обов’язкові перевірки. Якщо метою є створення контрольного списку, то це може бути останнім кроком у цьому інструменті.
Виберіть необхідну ретельність тесту та створіть тести – в результаті ви отримаєте таблицю з комбінаціями параметрів, що виключають обмеження, зазначені на першій вкладці. Результати з цієї вкладки можна просто експортувати в Excel або JIRA.
Після того, як визначено параметри тестованої системи та створено тести, можна писати тестові сценарії з усіма необхідними параметрами: передумовами, кроками, очікуваними результатами та післяумовами за допомогою вкладки «Test Script Template». Якщо вже є шаблон, можна створювати тестові сценарії за допомогою вкладки «Test Scripts».
PairwiseTool – https://pairwise.teremokgames.com/
Одна з найпростіших онлайн-систем для попарного тестування. Основні дії в ній наступні:
- Щоб застосувати парне тестування до тестованої системи (SUT), потрібно створити список вхідних змінних. В першому прикладі це виглядає так:
2. Натиснути «Generate Pairwise», щоб побачити кількість комбінацій, які необхідно протестувати.
3. Щоб отримати всі можливі комбінації, слід натиснути «Generate All Combinations».
У результаті за кілька кліків отримуємо готовий перелік тестових перевірок за заданими вхідними параметрами.
Pairwise Pict Online – https://pairwise.yuuniworks.com/
Безкоштовна онлайн-варіація Microsoft Pict, достатньо проста у застосуванні, не потребує реєстрації. У полі зліва необхідно задати перелік параметрів та їх тестовані значення, а також у разі необхідності – обов’язкові умови для тестових варіацій. Після чого натиснути на кнопку «Generate», отримавши у правому полі таблицю з переліком перевірок. Дану таблицю, як і список вхідних параметрів та значень, можна завантажити на девайс у вигляді txt-файлу.
Pairwise Generator – https://slothman.dev/pairwise-generator/
Простий і візуально приємний безкоштовний сервіс для формування переліку тестових перевірок. За функціоналом схожий з PairwiseTool: потрібно ввести назви та значення тестових параметрів, якщо необхідно – задати умови генерування перевірок (кнопка «Show conditions»), після чого натиснути на кнопку «Generate». Excel-файл автоматично завантажиться зі сформованим переліком комбінацій.
Попарне тестування – це потужна, але проста у використанні техніка розробки тестів, яка допомагає тестувальникам значно скоротити кількість тестів, зберігаючи при цьому розумне охоплення та частоту виявлення проблем. Для тих, хто хоче глибше заглибитися в тему, існує безліч досліджень щодо незначних відмінностей між попарним тестуванням, алгоритмом allpairs, стратегією тестування ортогональних масивів, їх різними реалізаціями та оптимальним використанням. У парному тестуванні може не вистачати чітких наукових доказів його ефективності, але воно має значне поширення та визнання серед спільноти тестувальників з однієї простої причини: воно насправді працює.