Що таке тестування ортогонального масиву? (Приклад)

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

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

  • 🎯 Основна обіцянка: Кожна пара рівнів між будь-якими двома факторами з'являється принаймні один раз у згенерованих прогонах.
  • 🔢 Рейтинг: Масив записується як LRuns(Рівнічинники), отже L9(3⁴) означає дев'ять прогонів для чотирьох трирівневих факторів.
  • 📉 Масштаб економії: Чотири фактори на трьох рівнях кожен згортаються з 81 вичерпної комбінації до дев'яти ортогональних прогонів.
  • 🧮 Правило балансу: Стовпці мають бути заповнені так, щоб жодні два коефіцієнти не рухалися разом, інакше таблиця не буде ортогональною.
  • 🛠️ інструменти: GeneratorТакі методи, як PICT та ACTS, автоматично будують масив, що усуває основне джерело помилок, пов'язаних з ручним введенням даних.
  • ⚠️ Відома межа: Попарне покриття не може виявити дефект, який вимагає трьох або більше певних значень разом.

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

Тестування ортогонального масиву

Тестування ортогонального масиву (OAT) – це метод тестування програмного забезпечення, який використовує ортогональні масиви для створення тестових випадків. Це статистичний підхід до тестування, і він особливо корисний, коли тестована система приймає велику кількість вхідних даних. Ортогональне тестування масивів максимізує охоплення тестами шляхом парування та комбінування вхідних даних, тому система тренується з порівняно меншою кількістю тестових випадків та меншим часом виконання.

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

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

Чому OAT (Orthogonal Array Testing)?

У нинішньому сценарії доставка якісного програмного продукту клієнту стала складною через складність коду.

У традиційному методі набори тестів включають тестові випадки, отримані з кожної комбінації вхідних значень та передумов. Як результат, необхідно охопити n тестових випадків.

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

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

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

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

Як представлено тестування ортогональних масивів

Ортогональний масив описується короткою формулою, а не його вмістом. На діаграмі нижче показано, як три величини в цій формулі пов'язані з формою масиву.

Ортогональна нотація масиву, що показує пробіжки, коефіцієнти та рівні у формулі L(пробіжки)

  • Пробіжки (N) – Кількість рядків у масиві, що перетворюється на кількість тестових випадків, які будуть згенеровані.
  • Фактори (K) – Кількість стовпців у масиві, що перетворюється на максимальну кількість змінних, які можна обробити.
  • Рівні (V) – Максимальна кількість значень, які можна прийняти для будь-якого окремого фактора.

Один фактор зазвичай має від 2 до 3 вхідних даних для перевірки. Ця максимальна кількість вхідних даних визначає рівні.

Прочитайте ім'я масиву зліва направо. У Л9(34) 9 – це кількість прогонів, 3 – кількість рівнів, які може приймати кожен фактор, а верхній індекс 4 – це кількість факторів. У тій самій статті використовується Л4(23), що становить чотири прогони для трьох факторів, кожен з яких має два рівні.

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

  • Баланс: кожен рівень фактора з'являється однакову кількість разів у своєму стовпці.
  • Попарна повнота: для будь-яких двох стовпців кожна комбінація одного рівня з кожного з'являється однакову кількість разів.

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

Як виконати тестування ортогонального масиву: приклади

  1. Визначте незалежну змінну для сценарію.
  2. Знайдіть найменший масив із кількістю прогонів.
  3. Зіставте множники в масив.
  4. Виберіть значення для будь-яких «залишкових» рівнів.
  5. Транскрибуйте пробіжки в тестові справи, додаючи будь-які особливо підозрілі комбінації, які не генеруються.

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

Приклад 1

Веб-сторінка має три окремі розділи (верхній, середній, нижній), які можна окремо показувати або приховувати від користувача.

  • Кількість факторів = 3 (верхній, середній, нижній)
  • Кількість рівнів (видимість) = 2 (прихований або показаний)
  • Тип масиву = L4(23)

(4 – кількість прогонів, отриманих після створення масиву OAT)

Якщо ми оберемо традиційний метод зміни однієї секції за раз, нам знадобляться тестові випадки, наприклад, 2 X 3 = 6 тестових випадків.

Тестові випадки Сценарії Значення для перевірки
Контрольна робота №1 Приховувати Toп
Контрольна робота №2 ПОКАЗАНО Toп
Контрольна робота №3 Приховувати дно
Контрольна робота №4 ПОКАЗАНО дно
Контрольна робота №5 Приховувати Середній
Контрольна робота №6 ПОКАЗАНО Середній

Ці шість прогонів змінюють одну секцію за раз і ніколи не поміщають дві секції у вибраний стан одночасно. Натомість тестування кожної комбінації зайняло б 23 = 8 пробіжок.

Для тестування OAT нам знадобляться 4 тести, як показано нижче:

Тестові випадки TOP Середній дно
Контрольна робота №1 прихований прихований прихований
Контрольна робота №2 прихований видимий видимий
Контрольна робота №3 видимий прихований видимий
Контрольна робота №4 видимий видимий прихований

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

Приклад 2

Працездатність мікропроцесора необхідно перевірити:

  • Температура: 100C, 150C і 200C.
  • Тиск: 2 фунти на квадратний дюйм, 5 фунтів на квадратний дюйм та 8 фунтів на квадратний дюйм
  • Doping Сума: 4%, 6% та 8%
  • Швидкість осадження: 0.1 мг/с, 0.2 мг/с та 0.3 мг/с

Використовуючи традиційний метод, нам потрібно 34 = 81 тестових випадків для охоплення всіх вхідних даних. Давайте натомість використовувати метод OATS:

Кількість факторів = 4 (температура, тиск,ping кількість та швидкість осадження)

Рівні = 3 рівні на фактор (температура має 3 рівні – 100°C, 150°C та 200°C – і аналогічно інші фактори також мають по 3 рівні кожен)

Створіть масив, як показано нижче:

1. Стовпці з номерами факторів

Тестовий приклад № температура Тиск Doping кількість Швидкість осадження

2. Введіть кількість рядків, що дорівнює рівням на коефіцієнт. Наприклад, температура має 3 рівні. Отже, вставте 3 рядки для кожного рівня температури,

Тестовий приклад № температура Тиск Doping кількість Швидкість осадження
1 100C
2 100C
3 100C
4 150C
5 150C
6 150C
7 200C
8 200C
9 200C

3. Тепер розподіліть тиск, зробітьping кількість та швидкість осадження в колонах.

Наприклад: введіть 2 psi для температур 100°C, 150°C та 200°C, аналогічно введіть doping сума 4% для 100°C, 150°C та 200°C тощо.

Тестовий приклад № температура Тиск Doping кількість Швидкість осадження
1 100C 2 фунтів на квадратний дюйм 4% 0.1 мг/с
2 100C 5 фунтів на квадратний дюйм 6% 0.2 мг/с
3 100C 8 фунтів на квадратний дюйм 8% 0.3 мг/с
4 150C 2 фунтів на квадратний дюйм 4% 0.1 мг/с
5 150C 5 фунтів на квадратний дюйм 6% 0.2 мг/с
6 150C 8 фунтів на квадратний дюйм 8% 0.3 мг/с
7 200C 2 фунтів на квадратний дюйм 4% 0.1 мг/с
8 200C 5 фунтів на квадратний дюйм 6% 0.2 мг/с
9 200C 8 фунтів на квадратний дюйм 8% 0.3 мг/с

Отже, в OA нам потрібно охопити 9 тестових випадків.

Примітка щодо точності: заповнюючи решту трьох колонок прямо вниз, як у кроці 3, повторюючи той самий тиск, зробітьping і осадження потроюється всередині кожного температурного блоку. Тиск іping тому величини рухаються разом, і такі пари, як 2 psi з 6% ніколи не з'являються, тому дев'ять рядків вище є скороченим тестовим набором, а не справжнім ортогональним масивом. Збалансований L9(34) масив нижче зберігає ті самі дев'ять прогонів, охоплюючи при цьому всі дев'ять пар рівнів між кожними двома факторами.

Тестовий приклад № температура Тиск Doping кількість Швидкість осадження
1 100C 2 фунтів на квадратний дюйм 4% 0.1 мг/с
2 100C 5 фунтів на квадратний дюйм 6% 0.2 мг/с
3 100C 8 фунтів на квадратний дюйм 8% 0.3 мг/с
4 150C 2 фунтів на квадратний дюйм 6% 0.3 мг/с
5 150C 5 фунтів на квадратний дюйм 8% 0.1 мг/с
6 150C 8 фунтів на квадратний дюйм 4% 0.2 мг/с
7 200C 2 фунтів на квадратний дюйм 8% 0.2 мг/с
8 200C 5 фунтів на квадратний дюйм 4% 0.3 мг/с
9 200C 8 фунтів на квадратний дюйм 6% 0.1 мг/с

Ортогональне тестування масивів проти попарного (всі пари) тестування

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

Аспект Тестування ортогональних масивів Попарне (всі пари) тестування
Базова структура Ортогональний масив, запозичений з дизайну експериментів Покриваючий масив, згенерований алгоритмом пошуку
Правило покриття Кожна пара з'являється однакову кількість разів Кожна пара з'являється принаймні один раз
Фактори з нерівними рівнями Потрібен масив змішаного рівня, якого може не існувати для потрібної форми Обробляється безпосередньо генератором
Типова кількість пробіжок Рівний або трохи вищий, через вимогу балансу Рівне або менше для тих самих вхідних даних
Обмеження між значеннями Важко виразити всередині масиву Підтримується більшістю сучасних генераторів

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

Інструменти для тестування ортогональних масивів

Побудова масиву вручну практична лише для невеликих прикладів, наведених вище. Якщо кількість факторів перевищує чотири або п'ять, команди використовують генератор, і інструмент визначає кількість повторень за них.

  • ЗОБРАЖЕННЯ: генератор командного рядка з відкритим кодом від MicrosoftПараметри та їхні значення записуються у файл моделі у звичайному текстовому форматі, а інструмент друкує набір комбінацій. Підтримуються обмеження та підмоделі, що важливо, коли певні пари значень є недійсними. Див. Репозиторій PICT.
  • ДІЇ: дослідницький інструмент від NIST, який генерує масиви покриття для двостороннього (аж до шестистороннього) покриття, а також публікує бібліотеку попередньо обчислених масивів. Він доступний з Проект комбінаторного тестування NIST.
  • Комерційні комбінаторні платформи: розміщені інструменти додають вимогу tracзручність, очікувані результати та експорт у систему управління тестуванням, що підходить для великих команд, яким потрібен журнал аудиту.
  • Опубліковані бібліотеки масивів: Стандартні масиви, такі як L4, L8, L9, L16 та L18, зведені в таблицю та можуть бути скопійовані безпосередньо, коли кількість факторів та рівнів збігається.

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

Переваги тестування ортогональних масивів

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

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

Недоліки тестування ортогональних масивів

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

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

Помилки або помилки під час виконання ОАТ

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

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

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

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

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

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

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

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

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

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

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

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