Що таке тестування домену в тестуванні програмного забезпечення? (з прикладом)
Що таке тестування домену?
Тестування домену це Тестування програмного забезпечення процес, у якому додаток тестується шляхом надання мінімальної кількості вхідних даних та оцінки відповідних вихідних даних. Основна мета тестування домену полягає в тому, щоб перевірити, чи програмне забезпечення приймає вхідні дані в прийнятному діапазоні та забезпечує необхідний результат.
Це Функціональне тестування техніка, за якої вихідні дані системи тестуються з мінімальною кількістю вхідних даних, щоб переконатися, що система не приймає недійсні вхідні значення та значення, що виходять за межі діапазону. Це одне з найважливіших білий Box Тестування методи. Він також перевіряє, чи система не повинна приймати вхідні дані, умови та індекси за межами зазначеного чи дійсного діапазону.
Тестування домену відрізняється для кожного конкретного домену, тому вам потрібно мати специфічні знання, щоб перевірити програмну систему.
Простіша практика тестування домену
Під час тестування домену ми ділимо домен на субдомени (класи еквівалентності), а потім тестуємо, використовуючи значення з кожного субдомену. Наприклад, якщо веб-сайт (домен) було надано для тестування, ми розділимо веб-сайт на невеликі частини (субдомен) для зручності тестування.
Домен може передбачати тестування будь-якої однієї вхідної змінної або комбінації вхідних змінних.
Практики часто вивчають найпростіші випадки тестування предметної області менше, ніж дві інші назви: «тестування меж» і «аналіз класу еквівалентності».
Граничне тестування – Аналіз граничних значень (BVA) базується на тестуванні на кордонах між розділами. Ми будемо тестувати як дійсні, так і недійсні вхідні значення в розділах/класах.
Тестування класу еквівалентності – Ідея цієї техніки полягає в тому, щоб розділити (тобто розділити) набір умов тестування на групи або набори, які можна вважати однаковими (тобто система повинна обробляти їх еквівалентно), отже, «розбиття еквівалентності».
Ця спрощена форма застосовується для тестування домену –
- Тільки для тестів вхідних змінних
- Тільки при тестуванні на системному рівні
- Тільки при тестуванні по одному
- Тільки при дуже поверхневому тестуванні
Це можна спростити так:
Змінна | Дійсний клас еквівалентності класу | Недійсний клас еквівалентності класу | Межі та особливі випадки | примітки |
---|---|---|---|---|
X | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Пояснення:
- Якщо поле приймає діапазони від 0 до 100, поле не повинно приймати -1 і 101, оскільки вони є недійсними записами та виходять за межі.
- Поле має приймати такі значення, як 0,100 і будь-яке число між ними.
Побудова таких столів (на практиці)
- Щоб побудувати аналіз класу еквівалентності з часом, помістіть інформацію в електронну таблицю. Почніть зі списку змінних. Додайте інформацію про них у міру отримання.
- Зрештою таблиця повинна містити всі змінні. Це означає всі вхідні змінні, усі вихідні змінні та будь-які проміжні змінні, які ви можете спостерігати.
- На практиці більшість таблиць, які я бачив, неповні. Найкращі з них містять перелік усіх змінних і додають деталі для критичних змінних.
Стратегія тестування домену
Під час тестування домену потрібно враховувати наступне:
- Який домен ми тестуємо?
- Як згрупувати значення в класи?
- Які значення класів перевіряються?
- Як визначити результат?
Який домен ми тестуємо?
Будь-який домен, який ми тестуємо, має деякі функції введення та функції виведення. Будуть введені деякі вхідні змінні, а відповідний вихід має бути перевірений.
Приклад тестування домену
- Розглянемо сценарій тестування одного входу:
C = a+b, де a і b — вхідні змінні, а C — вихідна змінна.
Тут, у наведеному вище прикладі, немає потреби в класифікації або поєднанні змінних.
- Розглянемо наведений нижче сценарій кількох входів і відповідного виходу:
Розглянемо виставку ігор для дітей, розкладено 6 конкурсів, квитки потрібно видавати відповідно до віку та статі. Продаж квитків є одним із модулів, у якому необхідно перевірити всю функціональність виставки Ігор.
За сценарієм ми отримали шість сценаріїв за віком та конкурсами:
- Вік >5 і <10 років, хлопчик повинен брати участь у розповіді історій.
- Вік від 5 до 10 років, дівчинка повинна брати участь у конкурсі малюнків.
- Вік >10 і <15, хлопчик повинен брати участь у вікторині.
- Вік >10 і <15, дівчина повинна брати участь у написанні есе.
- Вік до 5 років, як хлопчики, так і дівчатка повинні брати участь у конкурсі віршиків.
- Вік старше 15 років, як хлопці, так і дівчата повинні брати участь у поетичному конкурсі.
Тут буде введено вік і стать, і, отже, буде видано квиток на змагання. Цей регістр вхідних даних або просто групування значень з’являється на картині.
Як згрупувати значення в класи?
Розбиття деяких значень означає поділ їх на підмножини, що не перекриваються.
Як ми обговорювали раніше, існує два типи розділення:
- Розбиття еквівалентності – Розбиття еквівалентності – це a тестування програмного забезпечення техніка, яка розділяє вхідні дані програмного блоку на розділи еквівалентних даних, з яких можна отримати тестові приклади. В принципі, тестові випадки розроблені для покриття кожного розділу принаймні один раз.
- Аналіз граничних значень – Аналіз граничних значень є a тестування програмного забезпечення техніка, в якій тести розроблені для включення представників граничних значень у діапазон. Ідея походить від межа.
У наведеному вище прикладі ми розбиваємо значення на підмножину або підмножину. Ми поділяємо вік на наступні класи:
- Клас 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 |
Як визначити, чи пройшла програма тест?
Передача функціональності залежить не лише від результатів наведених вище сценаріїв. Надані вхідні дані та очікуваний вихід дадуть нам результати, і для цього потрібні знання предметної області.
Визначення результатів прикладу:
Отже, якщо всі тестові випадки з вищевказаного пройшли, домен видачі квитків у конкурсі буде пройдено. Якщо ні, домен стає невдалим.
Структура тестування домену
Зазвичай тестувальники виконують наведені нижче кроки під час тестування домену. Вони можуть бути налаштовані/пропущені відповідно до наших потреб тестування.
- Визначте потенційно цікаві змінні.
- Визначте змінну (змінні), яку ви можете проаналізувати зараз, і впорядкуйте їх (від найменшого до найбільшого і навпаки).
- Створіть і визначте граничні значення та значення класу еквівалентності, як зазначено вище.
- Визначте вторинні виміри та проаналізуйте кожен у класичний спосіб. (У наведеному вище прикладі стать є другорядним виміром).
- Визначте та перевірте змінні, які зберігають результати (вихідні змінні).
- Оцініть, як програма використовує значення цієї змінної.
- Визначте додаткові потенційно пов’язані змінні для комбінованого тестування.
- Уявіть собі ризики, які не обов’язково відповідають очевидному виміру.
- Визначте та перерахуйте непроаналізовані змінні. Збирайте інформацію для подальшого аналізу.
- Узагальніть свій аналіз за допомогою таблиці ризику/еквівалентності.
Підсумки
Тестування предметної області, як описано вище, вимагає знання того, як правильно вводити дані для досягнення бажаного результату. Таким чином, його можна використовувати лише для невеликих фрагментів коду.