Що таке тестування домену в тестуванні програмного забезпечення? (з прикладом)
⚡ Розумний підсумок
Тестування домену перевіряє застосунок, надаючи йому найменший корисний набір вхідних даних, охоплюючи дійсні, недійсні та граничні значення, та підтверджуючи, що лише значення в межах прийнятного діапазону створюють необхідний вихід.
Що таке тестування домену?
Тестування домену це тестування програмного забезпечення процес, у якому застосунок тестується шляхом надання мінімальної кількості вхідних даних та оцінки відповідних вихідних даних. Основна мета тестування предметної області полягає в тому, щоб перевірити, чи приймає програмний застосунок вхідні дані в межах допустимого діапазону та забезпечує необхідний вихідний результат.
Це функціональне тестування метод, за якого вихід системи тестується з мінімальною кількістю вхідних даних, щоб переконатися, що система не приймає недійсні та позадіапазонні вхідні значення. Це також розглядається як один з важливих тестування білої скриньки методи. Він також перевіряє, чи система не повинна приймати вхідні дані, умови та індекси поза межами заданого або допустимого діапазону.
Тестування домену відрізняється для кожного конкретного домену, тому для тестування програмної системи вам потрібні знання, специфічні для певної предметної області.
Простіша практика тестування домену
Під час тестування домену ми ділимо домен на субдомени (класи еквівалентності), а потім тестуємо, використовуючи значення з кожного субдомену. Наприклад, якщо веб-сайт (домен) було надано для тестування, ми розділимо веб-сайт на невеликі частини (субдомен) для зручності тестування.
Домен може включати тестування будь-якої однієї вхідної змінної або комбінації вхідних змінних.
Практики часто вивчають найпростіші випадки тестування предметної області під двома іншими назвами: «граничне тестування» та «аналіз класів еквівалентності».
Граничне тестування - Аналіз межових значень (BVA) базується на тестуванні на межах між розділами. Ми будемо тестувати як дійсні, так і недійсні вхідні значення в розділі/класах.
Перевірка класу еквівалентності – Ідея цієї техніки полягає в тому, щоб розділити (тобто розділити) набір умов тестування на групи або набори, які можна вважати однаковими (тобто система повинна обробляти їх еквівалентно), отже, «розбиття еквівалентності».
Ця спрощена форма застосовується для тестування домену –
- Тільки для тестів вхідних змінних
- Тільки під час тестування на системний рівень
- Тільки при тестуванні по одному
- Тільки при дуже поверхневому тестуванні
Це можна спростити так:
| Змінна | Дійсний клас еквівалентності класу | Недійсний клас еквівалентності класу | Межі та особливі випадки | примітки |
|---|---|---|---|---|
| X | 0-100 | 0 | ||
| 100 | ||||
| <0 | -1 | |||
| > 100 | 101 |
Пояснення:
- Якщо поле приймає діапазони від 0 до 100, воно не повинно приймати значення -1 та 101, оскільки вони є недійсними записами та виходять за межі.
- Поле повинно приймати значення, такі як 0, 100 та будь-яке число між ними.
Створення таких таблиць (на практиці)
- Щоб з часом побудувати аналіз класів еквівалентності, занесіть інформацію в електронну таблицю. Почніть зі складання списку змінних. Додавайте інформацію про них у міру її отримання.
- Зрештою, таблиця має містити всі змінні. Це означає всі вхідні змінні, всі вихідні змінні та будь-які проміжні змінні, які ви можете спостерігати.
- На практиці більшість таких таблиць є неповними. У найкращих з них перераховані всі змінні та додано деталі щодо критично важливих.
Стратегія тестування домену
Під час тестування домену потрібно враховувати наступне:
- Який домен ми тестуємо?
- Як згрупувати значення в класи?
- Які значення класів перевіряються?
- Як визначити результат?
Який домен ми тестуємо?
Будь-яка область, яку ми тестуємо, має певну вхідну функціональність та вихідну функціональність. Будуть введені деякі вхідні змінні, а відповідний вихідний результат має бути перевірений. Діаграма нижче показує цей зв'язок між вхідними даними та виходом.
Приклад тестування домену
Розглянемо сценарій тестування одного входу:
C = a+b, де a і b — вхідні змінні, а C — вихідна змінна.
У наведеному вище прикладі немає потреби в класифікації, а також не потрібна будь-яка комбінація змінних.
Розглянемо наведений нижче сценарій кількох входів і відповідного виходу:
Розглянемо виставку ігор для дітей. Розглянуто шість конкурсів, а квитки потрібно видавати відповідно до віку та статі учасників. Квиткова система – один із модулів, який потрібно перевірити для повної функціональності виставки ігор.
За сценарієм ми отримали шість сценаріїв за віком та конкурсами:
- Хлопчику віком >5 та <=10 років слід брати участь у розповіді історій.
- Дівчинка віком від 5 до 10 років повинна взяти участь у конкурсі малюнків.
- Хлопчики віком >10 та <=15 років повинні взяти участь у вікторині.
- Дівчата віком >10 та <=15 років повинні брати участь у написанні есе.
- Вік <=5, у конкурсі римованих дітей повинні брати участь як хлопчики, так і дівчатка.
- Вік старше 15 років, як хлопці, так і дівчата повинні брати участь у поетичному конкурсі.
Тут вхідними даними будуть Вік та Стать, і, отже, буде видано квиток на змагання. У цьому випадку відбувається розподіл вхідних даних або просто групування.ping цінностей, з'являється на картині.
Як згрупувати значення в класи?
Розділення деяких значень означає їх поділ на неперекриваючіping підмножини
Як ми обговорювали раніше, існує два типи розділення:
- Розбиття еквівалентності – Еквівалентне розбиття – це метод тестування програмного забезпечення, який розділяє вхідні дані програмного блоку на розділи еквівалентних даних, з яких тестові справи можна вивести. В принципі, тестові випадки розроблені таким чином, щоб охоплювати кожен розділ принаймні один раз.
- Аналіз межових значень – Аналіз граничних значень – це метод тестування програмного забезпечення, в якому тести розроблені таким чином, щоб включати представників граничних значень у певному діапазоні. Ідея походить від межі.
У наведеному вище прикладі ми розділяємо значення на підмножини. Ми розділяємо вік на наведені нижче класи:
- 1 клас: Діти віком від 5 до 10 років
- 2 клас: Діти віком до 5 років
- 3 клас: Діти віком від 10 до 15 років
- 4 клас: Діти віком старше 15 років.
Які значення класів перевіряються?
Значення, взяті для тестування, повинні бути граничними значеннями:
- Межі є представниками класів еквівалентності, з яких ми їх вибираємо. Вони мають більше шансів виявити помилку, ніж інші члени класу, тому вони є кращими представниками.
- Найкращим представником класу еквівалентності є значення між діапазоном.
Для наведеного вище прикладу у нас є такі класи для перевірки:
Наприклад, для сценарію №1:
Клас 1: Діти віком від 5 до 10 років (вік >5 та <=10)
Граничні значення:
- Значення повинні бути рівними або меншими за 10. Отже, вік 10 років слід включити до цього класу.
- Значення мають бути більшими за 5. Отже, вік 5 років не слід включати в цей клас.
- Значення повинні бути рівними або меншими за 10. Отже, вік 11 років не слід включати до цього класу.
- Значення мають бути більше 5. Отже, вік 6 років має бути включений у цей клас.
Значення розподілу еквівалентності:
Про розбиття еквівалентності говорять, коли потрібно перевірити лише одну умову з кожного розбиття. При цьому ми припускаємо, що якщо одна умова в розбиття працює, то всі умови повинні працювати. Так само, якщо одна умова в цьому розбиття не працює, то ми припускаємо, що жодна з інших умов не працюватиме. Наприклад.
(Вік >5 і <=10)
Оскільки значення від 6 до 10 є дійсними, одне зі значень серед 6, 7, 8, 9 та 10 має бути вибрано. Отже, вибраний вік «8» є дійсним вхідним віком для вікової групи від (вік >5 до <=10). Такий тип розбиття називається розбиттям еквівалентності.
| сценарій | Граничні значення, які необхідно прийняти | Значення розділення еквівалентності |
|---|---|---|
| Хлопчик – вік >5 і <=10 | Вхідний вік = 6 Вхідний вік = 5 Вхідний вік = 11 Вхідний вік = 10 |
Вхідний вік = 8 |
| Дівчинка – вік >5 і <=10 | Вхідний вік = 6 Вхідний вік = 5 Вхідний вік = 11 Вхідний вік = 10 |
Вхідний вік = 8 |
| Хлопчик – вік >10 і <=15 | Вхідний вік = 11 Вхідний вік = 10 Вхідний вік = 15 Вхідний вік = 16 |
Вхідний вік = 13 |
| Дівчинка – вік >10 і <=15 | Вхідний вік = 11 Вхідний вік = 10 Вхідний вік = 15 Вхідний вік = 16 |
Вхідний вік = 13 |
| Вік<=5 | Вхідний вік = 4 Вхідний вік = 5 |
Вхідний вік = 3 |
| Вік> 15 | Вхідний вік = 15 Вхідний вік = 16 |
Вхідний вік = 25 |
Як визначити, чи пройшла програма тест?
Передача функціональності залежить не лише від результатів вищезазначених сценаріїв. Надані вхідні дані та очікуваний вихід дадуть нам результати, а це вимагає знань предметної області.
Визначення результатів прикладу: на екрані нижче показано результати оформлення квитків для кожної комбінації віку та статі.
Отже, якщо всі вищезазначені тестові випадки пройдено, домен видачі квитків у конкурсі вважається пройденим. Якщо ні, домен вважається не пройденим.
Структура тестування домену
Зазвичай тестувальники виконують наведені нижче кроки під час тестування домену. Їх можна налаштувати або пропустити відповідно до наших потреб у тестуванні.
- Визначте потенційно цікаві змінні.
- Визначте змінну (змінні), яку ви можете проаналізувати зараз, і впорядкуйте їх (від найменшого до найбільшого і навпаки).
- Створіть і визначте граничні значення та значення класу еквівалентності, як зазначено вище.
- Визначте вторинні виміри та проаналізуйте кожен з них класичним способом. (У наведеному вище прикладі гендер є вторинним виміром.)
- Визначте та перевірте змінні, які зберігають результати (вихідні змінні).
- Оцініть, як програма використовує значення цієї змінної.
- Визначте додаткові потенційно пов'язані змінні для комбінованого тестування, де тестування таблиці рішень допомагає.
- Уявіть собі ризики, які не обов'язково мають очевидний вимір.
- Визначте та перерахуйте непроаналізовані змінні. Збирайте інформацію для подальшого аналізу.
- Узагальніть свій аналіз за допомогою таблиці ризику/еквівалентності.


