Pairwise testing. Що таке попарне тестування: відкриваємо таємницю

Попарне тестування (pairwise testing) – це метод тестування програмного забезпечення, який використовується для зменшення кількості тестових сценаріїв з мінімальним втручанням у якість. Уявіть, що у нас є декілька взаємодіючих функцій або параметрів, і ми хочемо перевірити їхню взаємодію. Відповідно, попарне тестування полягає в перевірці всіх можливих комбінацій значень двох параметрів одночасно.

Застосовуючи попарне тестування, ми спрощуємо процес тестування та зменшуємо кількість тестових сценаріїв, що забезпечує швидке тестування без значного впливу на якість. Далі ми розглянемо приклад попарного тестування.

Попарне тестування проти потрійного та більш складних комбінацій

При виборі методу тестування важливо розуміти, чому саме попарне тестування так популярне та чому інші методи, як-от потрійне або більш складні комбінації, не застосовуються так широко.

Ефективність попарного тестування

Одна з основних переваг попарного тестування полягає в його ефективності. Згідно з дослідженнями, більшість помилок в програмному забезпеченні зазвичай знаходяться в межах взаємодії двох компонентів. Тобто, попарне тестування дозволяє виявити значну кількість помилок, використовуючи меншу кількість тестових випадків, порівняно з більш складними комбінаціями.

Економія часу та ресурсів

Попарне тестування значно економить час та ресурси, оскільки кількість тестових випадків зменшується порівняно з потрійним або більш складними комбінаціями. Чим більше параметрів включається у тестування, тим більше тестових випадків потрібно створити та виконати. Внаслідок цього, збільшення кількості комбінацій призводить до збільшення часу та витрат на тестування.

Співвідношення вартості та якості

Застосування попарного тестування забезпечує оптимальне співвідношення вартості та якості. Це означає, що використання попарного тестування дозволяє досягти високого рівня якості програмного забезпечення з меншими витратами порівняно з іншими методами.

Менша складність тестування

При попарному тестуванні створення та аналіз тестових сценаріїв є менш складним, ніж при використанні потрійного чи більш складних комбінацій. Тестувальники можуть швидше розробити та оцінити тестові випадки, спрощуючи процес тестування. Більш того, це дозволяє зосередитися на взаємодії між компонентами, де імовірність знаходження помилок найвища.

Потрійне та більш складні комбінації можуть бути застосовані в окремих випадках, коли вимоги до якості програмного забезпечення є дуже високими, або коли досвід показує, що значна кількість помилок знаходиться в межах взаємодії трьох та більше компонентів. Однак, в загальному випадку, попарне тестування вважається найефективнішим методом тестування, який забезпечує оптимальне співвідношення вартості та якості програмного забезпечення.

Приклади pairwise testing

Давайте на прикладах розберемо, як ми можемо використовувати попарне тестування.

Приклад №1. Веб-додаток замовлення їжі

Припустимо, що ми маємо веб-додаток для замовлення їжі, який пропонує різні опції для користувача. Ці опції включають:

  1. Тип кухні (українська, італійська, японська).
  2. Спосіб доставки (кур’єр, самовивіз).
  3. Оплата (готівкою, картою).

Всього ми маємо 12 можливих комбінацій, що можуть виникнути при взаємодії цих параметрів. Проте, застосування попарного тестування дозволяє зменшити кількість тестових випадків без втрати якості перевірки.

Спочатку створимо таблицю попарних комбінацій:

Тип кухніСпосіб доставкиСпосіб оплати
УкраїнськаКурʼєрГотівкою
УкраїнськаСамовивізКартою
ІталійськаКурʼєрКартою
ІталійськаСамовивізГотівкою
ЯпонськаКурʼєрГотівкою
ЯпонськаСамовивізКартою

Застосування попарного тестування дозволяє зменшити кількість тестових випадків з 12 до 6, але при цьому досить ефективно перевіряє взаємодію параметрів. Це дозволяє заощадити час та ресурси на проведення тестування, а також спрощує аналіз отриманих результатів.

Приклад №2. Тестування мобільного додатку відеозвʼязку

Розглянемо приклад мобільного додатку для відеозв’язку, який має наступні налаштування:

  1. Роздільна здатність відео (720p, 1080p, 4K).
  2. Ступінь стиснення (високий, середній, низький).
  3. Звук (увімкнено, вимкнено).

Враховуючи ці параметри, ми маємо 18 можливих комбінацій. Однак застосування попарного тестування дозволяє зменшити кількість тестових випадків, не втрачаючи якості перевірки.

Створимо таблицю попарних комбінацій:

Роздільна здатністьСтупінь стисненняЗвук
720pВисокийУвімкнено
720pСереднійВимкнено
720pНизькийУвімкнено
1080pВисокийВимкнено
1080pСереднійУвімкнено
1080pНизькийУвімкнено
4KВисокийУвімкнено
4KСереднійУвімкнено
4KНизькийВимкнено

Застосування попарного тестування зменшило кількість тестових випадків з 18 до 9, одночасно забезпечуючи ефективну перевірку взаємодії параметрів. Це дозволяє заощадити час та ресурси на проведення тестування, а також спрощує аналіз отриманих результатів.

Алгоритм тестування: вибір правильної стратегії

При застосуванні попарного тестування важливо вибрати правильний алгоритм тестування, що буде генерувати тестові сценарії. Існує декілька алгоритмів, які можуть бути використані, такі як ортогональні масиви, та графові алгоритми.

Ортогональні масиви генерують тестові сценарії, які оптимально покривають простір параметрів, гарантуючи високу якість тестування з мінімальною кількістю тестів. Ін-тайференс є евристичним підходом, який генерує тестові сценарії на основі набору вхідних даних. Графові алгоритми, зокрема алгоритм А*, використовуються для розв’язання задачі генерації тестових сценаріїв на основі графових моделей.

Недоліки попарного тестування: все має свою ціну

Попарне тестування, хоч і ефективне в більшості ситуацій, має деякі недоліки. По-перше, цей метод не підходить для тестування взаємодії більш ніж двох параметрів. Це може призвести до того, що деякі помилки не будуть виявлені.

По-друге, попарне тестування може бути неефективним для тестування систем з великою кількістю параметрів. У таких випадках може знадобитися використання інших методів, таких як тестування з покриттям тверджень або мутаційне тестування.

Інструменти для попарного тестування: обираємо найкраще

Існує багато інструментів, які допоможуть вам застосовувати попарне тестуванання у вашому проекті. Деякі з них включають:

  1. Pict – безкоштовний інструмент від Microsoft, який дозволяє генерувати тестові сценарії на основі моделі введення, заданої користувачем. Pict підтримує різні алгоритми тестування та має зручний синтаксис для опису моделі.
  2. AllPairs – інший безкоштовний інструмент для попарного тестування, який працює з текстовими файлами і генерує комбінації вхідних даних для тестування.
  3. Hexawise – комерційний інструмент для попарного тестування, який пропонує широкий спектр функцій, включаючи генерацію тестових сценаріїв, візуалізацію результатів тестування та інтеграцію з системами керування випробуваннями.
  4. ACTS – інструмент від NIST (Національний інститут стандартів та технологій США), який допомагає генерувати попарні тестові сценарії та підтримує розширені методи тестування, такі як n-штрихове тестування.

Підводячи підсумки: чи варто використовувати попарне тестування?

Попарне тестування є ефективним методом тестування програмного забезпечення, який дозволяє зменшити кількість тестових сценаріїв без втрати якості. Цей метод підходить для тестування взаємодії двох параметрів і може бути використаний у різних областях, від веб-додатків до систем реального часу.

Проте, попарне тестування має деякі недоліки, які варто враховувати. Воно не підходить для тестування взаємодії більш ніж двох параметрів.

Навчитись всім методам та нюансам тестування ви зможете на наших курсах QA.

Site Footer