Файл: методичка, тестування.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 13.04.2024

Просмотров: 22

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Спосіб розбивки по еквівалентності

Це самий популярний спосіб тестування «методом чорного ящика».

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

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

Класи еквівалентності можна визначити зі специфікації на програму.

Наприклад, якщо специфікація задає в якості припустимих вхідних розмірів 3-розрядне ціле число в діапазоні 250-500, то клас еквівалентності припустимих ВД (вихідних даних) включає значення від 250 до 500, а два класи еквівалентності неприпустимих ВД включають числа менше 250 і числа більше 500.

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

Умова введення може задавати:

  • визначене значення;

  • діапазон значень;

  • множину конкретних розмірів;

  • булеву умову.

Спосіб аналізу граничних значень

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

Основні відмінності аналізу граничних значень від розбивки на еквівалентності:

  • тестові варіанти створюються для перевірки тільки ребер класів еквівалентності;

  • при створенні тестових варіантів враховують не тільки умови введення, але й області виводу.

Правила аналізу граничних значень

Якщо умова введення задає діапазон n. .m, то тестові варіанти повинні бути побудовані:

  • для значень n і m;

  • для значень ледве ліворуч і ледве праворуч m на числовій осі. Наприклад, якщо заданий вхідной діапазон -1.0...…+1.0, то створюються тести для значень -1.0, +1.0, -1.001, +1.001.

Якщо умова введення задає дискретну множину значень, то створюються тестові варіанти:


  • для перевірки мінімального і максимального значень;

  • для значень ледве менше мінімуму і ледве більше максимуму.

Так якщо вихідний файл містить від 1 до 255 записів, то створюються тести для 0, 1, 255 і 256 значень.

Правила 1 і 2 застосовуються до умов області виводу. Наприклад, якщо потрібно вивести таблицю значень, де кількість рядків і стовпців змінюється, то задається тестовий варіант для мінімального виводу (по розміру таблиці) і тестовий варіант для максимального виводу (по розміру таблиці).

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

Якщо вхідні або вихідні дані програми є упорядкованими множинами (наприклад, послідовним файлом, лінійним списком, таблицею), то треба тестувати опрацювання першого й останнього елементів цих множин.

Розглянемо приклад. Нехай необхідно протестувати програму бінарного пошуку. Пошук виконується в масиві М, повертається індекс I елемента масиву, значення котрого дорівнює ключу пошуку K.

Предумови:

  • масив упорядкований;

  • масив має не менше одного елемента;

  • нижня межа масиву менше або дорівнює його верхній межі.

Постумови:

  • якщо елемент знайдений, то прапор Result = True, I - номер елемента;

  • якщо елемент не знайдений, то прапор Result = False, I - не визначено.

Для формування класів еквівалентності (і їхніх ребер) потрібно зробити розбивку області ВД - побудувати дерево розбивки. Листи дерева дадуть шукані класи еквівалентності.

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


Мал. 3. Дерево розбивок області даних бінарного пошуку

Дерево має 11 листів. Кожний лист визначає окремий тестовий варіант.

Приклади тестових варіантів (ТВ).

ТВ 1

ВД : М = 10; ДО = 10 (одиничний масив).

Оч. РЕЗ : Result = True; I = 1

ТВ 2

ВД : М = 2 7 10 17 28 40; ДО = 2;

Оч. РЕЗ : Result = True; I = 1

ТВ 6

ВД : М = 2 7 10 17 28 40 51; Л = 51

Оч. РЕЗ : Result = True; I = 7

ТВ 9

ВД : М = 2 7 10 17 28 40;

Оч. РЕЗ :Result = False ; I = ?

ТВ 11

ВД : М = 28 2 10 17 40 7; ДО = 28

Оч. РЕЗ : Аварійне повідомлення : масив не упорядкований

Спосіб діаграм причин - наслідків

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

Кроки способу:

  • для кожного модуля перераховуються причини (умови введення або класи еквівалентності умов уведення) і слідства (дії або умови виводу). Кожній причині і слідству привласнюється свій ідентифікатор;

  • розробляється граф причино-слідствених зв'язків;

  • граф перетвориться в таблицю рішень;

  • стовпці таблиці рішень перетворяться в тестові варіанти.

Причини будемо позначати символами ci, а слідства - ei.

Кожний вузол графа може знаходитися в стані 0 або 1 (0 - стан відсутній, 1 - присутній).

Функція тотожність установлює, що якщо значення сі дорівнює 1, то і значення еі дорівнює 1, у противному випадку значення еі дорівнює 0.

Функція не установлює, що якщо значення сі дорівнює 1, то значення еі дорівнює 0; у протилежному випадку значення еі дорівнює 0.

Функція або встановлює, що якщо с1 або с2 дорівнює 1, то е1 дорівнює 1, у протилежному випадку е1 дорівнює 0.

Функція і встановлює, що якщо с1 і с2 дорівнює 1, то е1 дорівнює 1, у протилежному випадку е1 дорівнює 0.


Обмеження Е (Exclusive - виключає) встановлює, що Е повинно бути рівним 1, якщо хоча б одна зі змінних - a або b - приймає значення 1 (a і b не можуть приймати значення 1 одночасно).

Обмеження I (Inclusive - включає) установлює, що принаймні одна з змінних a, b або с завжди повинна бути рівною 1 (a, b і с не можуть приймати значення 0 одночасно).

Обмеження О (одне і тільки одне, Only one) установлює, що одна і тільки одна з змінних a або b повинна дорівнювати 1:

Обмеження R (Requires - ) устанавливает, что если а принимает значение 1, то и b должна принимать значение 1 (нельзя, чтобы а было равно 1, а b – 0).

Ограничение М (скрывает, Masks) устанавливает, что если следствие a имеет значение 1, то следствие b должно принять значение 0:

Приклад. Програма виконує розрахунок оплати за електроенергію по середньому або перемінному тарифі.

При розрахунку по середньому тарифі:

  • при місячному споживанні енергії меншому, чим 100 квт/ч. обчислюється фіксована сума;

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

При розрахунку по перемінному тарифі:

  • при місячному споживанні енергії менше 100 квт/ч. застосовується процедура А планування розрахунку;

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

Крок 1. Причинами є:

  • розрахунок по середньому тарифі;

  • розрахунок по перемінному тарифі;

  • місячне споживання електроенергії менше, чим 100 квт/ч.;

  • місячне споживання енергії більше або рівне 100 квт/ч..

На основі різних комбінацій причин можна перерахувати наступні слідства:

  • 101 - мінімальна місячна вартість

  • 102 - процедура А планування розрахунку

  • 102 - процедура В планування розрахунку.


Крок 2. Розробка графа причинно-слідчих зв'язків. Вузли причин перераховують по вертикалі зліва, а вузли слідств - справа.

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

Порядок генерації:

Вибирається деяке слідство, що повинне мати стан 1.

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

Для кожної комбінації причин, що приводять слідство в стан 1, будується один стовпець.

Для кожної комбінації причин доопределяють стани всіх інших слідств. Вони містяться в той же стовпець таблиці рішень.

Дії 1 - 4 повторюються для всіх слідств графа.

Номера стовпців ->

1

2

3

4

Умови

причини

1

1

0

1

0

(причини)

 

2

0

1

0

1

 

 

3

1

1

0

0

 

 

4

0

0

1

1

вторинні

11

0

0

1

0

 

причини

12

0

1

0

0

Дія

слідство

101

1

0

0

0

 

102

0

1

1

0

 

103

0

0

0

1