Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 Курс / Тестування / методичка, тестування.doc
Скачиваний:
23
Добавлен:
30.05.2020
Размер:
1.44 Mб
Скачать

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

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

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

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

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

Наприклад, якщо специфікація задає в якості припустимих вхідних розмірів 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 - не визначено.

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

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