Аналіз граничних значень і розділення еквівалентності

⚡ Розумний підсумок

Розподіл еквівалентності та аналіз граничних значень – це методи тестування «чорної скриньки», які стискають великі діапазони вхідних даних у класи еквівалентності та тестують ребра розділення, забезпечуючи надійне виявлення дефектів з ефективним покриттям як дійсних, так і недійсних вхідних даних.

  • Входи розділів: Групуйте значення у дійсні та недійсні класи, щоб усунути надлишковість.
  • Target Межі: Перевірте мінімальні, майже мінімальні, номінальні, майже максимальні та максимальні значення.
  • Поєднайте обидва: Спочатку використовуйте розбиття еквівалентності, а потім аналіз граничних значень для дефектів країв.
  • Максимізуйте охоплення: Одне значення на клас перевіряє поведінку для всіх еквівалентних вхідних даних.
  • Використовуйте ШІ Generators: Інструменти штучного інтелекту автоматизують виявлення розділів та створення граничних випадків.

П'ятиточкова модель аналізу граничних значень

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

Що таке розподіл еквівалентності?

Розділення еквівалентності (також називається розділенням класів еквівалентності або ECP) ​​– це метод «чорної скриньки», який розділяє вхідні дані на групи еквівалентних значень. Тестер вибирає одного представника для кожного класу, припускаючи, що програмне забезпечення поводиться однаково для кожного члена.

  • Розділяє вхідний домен на дійсні та недійсні класи еквівалентності.
  • Застосовується взагалі рівні тестування—одиниця, інтеграція, система та прийняття.

Що таке аналіз граничних значень?

Аналіз граничних значень (BVA), яку також називають перевіркою діапазону, перевіряє крайні значення кожного класу еквівалентності. Оскільки дефекти скупчуються в межах діапазону, BVA зосереджується на п'яти ключових моментах:

  1. мінімальний
  2. Трохи вище мінімуму
  3. Номінальна вартість
  4. Трохи нижче максимуму
  5. Максимальний

П'ятиточкова модель аналізу граничних значень

BVA доповнює еквівалентне розбиття: після визначення класів їхні граничні значення виявляються окремо та на межі помилок.

Навіщо використовувати розбиття еквівалентності та аналіз граничних значень?

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

  1. Стисніть великі обсяги тестових випадків у керовані фрагменти.
  2. Надайте чіткі правила вибору тестових даних без шкоди для ефективності.
  3. Підходить для програм, що потребують інтенсивних обчислень та мають багато числових змінних.

Як виконати розбиття еквівалентності (приклад)

  • Розгляньте текстове поле «Замовити піцу» нижче.
  • Кількість 1–10 є дійсною; з’являється повідомлення про успішне виконання.
  • Кількість 11–99 недійсна, що призводить до спрацьовування “Можна замовити лише 10 піц”.
Замовити піцу:

Умови тестування:

  1. Будь-яке число вище 10 є недійсним.
  2. Будь-яке число менше 1 є недійсним.
  3. Numbers 1–10 є дійсними.
  4. Будь-яке тризначне число, таке як -100, є недійсним.

Перевірка кожного значення видає понад 100 випадків. Розділення еквівалентності групує домен у класи з ідентичною поведінкою.

Групи розподілу еквівалентності для вхідних даних піци

Ці групи називаються Класи еквівалентностіВиберіть одне значення для кожного класу — якщо воно пройде перевірку, то всі інші пройдуть перевірку; якщо воно не пройде перевірку, то весь клас пройде перевірку.

Репрезентативні значення класу еквівалентності

Як виконати аналіз граничних значень (приклад)

Використовуючи те саме поле Pizza, BVA перевіряє ребра розділів, а не номінальні значення. Тестери оцінюють 0, 1, 10 та 11, охоплюючи як дійсні, так і недійсні межі.

Аналіз граничних значень для вхідних даних піци

Для вхідних даних, що приймають значення від 1 до 10, граничні тестові випадки такі:

Сценарій тесту Descriptіон Очікуваний результат
Граничне значення = 0 Система НЕ повинна приймати
Граничне значення = 1 Система повинна прийняти
Граничне значення = 2 Система повинна прийняти
Граничне значення = 9 Система повинна прийняти
Граничне значення = 10 Система повинна прийняти
Граничне значення = 11 Система НЕ повинна приймати

Розподіл еквівалентності проти аналізу граничних значень

Обидва зменшують обсяг тестування, але відрізняються фокусом та часом.

Аспект Розділення еквівалентності Аналіз граничних значень
Focus Групи еквівалентних входів Ребра кожної групи
Вибір даних Одне значення на клас Мін., майже мін., номін., майже максимальн., максимальн.
Найкраще для Зменшення зайвих справ Виявлення дефектів, що відрізняються один від одного
замовлення Застосовано першим Застосовано далі

Приклад: Перевірка поля пароля

Поле пароля, яке приймає від 6 до 10 символів, утворює три розділи — 0-5, 6-10 та 11-14 — з еквівалентними результатами в кожному з них.

Введіть пароль:
# Сценарій тесту Очікуваний результат
1 Введіть від 0 до 5 символів Система не повинна приймати
2 Введіть від 6 до 10 символів Система повинна прийняти
3 Введіть від 11 до 14 символів Система не повинна приймати

Найкращі практики для розподілу еквівалентності та BVA

Дотримуйтесь цих правил, щоб забезпечити високий рівень охоплення та контролювати кількість тестів:

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

Ключові винесення

  • Розділення еквівалентності групує подібні вхідні дані; достатньо одного значення на клас.
  • Аналіз граничних значень перевіряє межі розділів та дійсні/недійсні ребра.
  • Обидва є методами «чорної скриньки» для числових або діапазонних полів.
  • Їх поєднання зменшує обсяг тестування без втрати якості виявлення дефектів.

Відео аналізу граничних значень і розділення еквівалентності

Натисніть тут якщо відео недоступне

Поширені запитання

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

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

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

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

Надійний BVA розширює стандартний підхід, додаючи значення трохи поза межами допустимого діапазону — одне нижче мінімуму та одне вище максимуму — щоб перевірити, як система відхиляє явно недійсні вхідні дані.

Так. Генератори штучного інтелекту аналізують вимоги та схеми, щоб запропонувати класи еквівалентності та граничні значення. Такі інструменти, як Testim та Мабл швидко навчатися на історії дефектів та граничних випадках поверхні.

Штучний інтелект виявляє перекриттяping розділи, надлишкові випадки та пропущені ребра, які тестувальники не помічають. Машинне навчання ранжує межі високого ризику на основі історії дефектів, що дозволяє розумніше вибирати тести та швидше виявляти малопомітні проблеми.

Так. JUnit, TestNG, а pytest підтримує параметризоване тестування, дозволяючи тестувальникам визначати розділи та граничні значення як набори вхідних даних. Це дозволяє систематично виконувати випадки еквівалентності та граничні випадки в конвеєрах неперервної інтеграції.

Підсумуйте цей пост за допомогою: