Самостійна робота №9
Тема: Техніки, що базуються на
специфікації. Тести на основі скінченого автомату
Мета:Ознайомитись
з техніками, що базуються на специфікації та тестами на основі скінченного
автомату
План
1. Еквівалентне розділення. Аналіз граничних значень.
2. Таблиці прийняття рішень.
3. Тести на основі скінченого автомату.
4. Тестування на основі формальної специфікації
Теоретична
частина
1.
Еквівалентне розділення
(Equivalence partitioning) Аналіз граничних значень (Boundary-value analysis)
Розглянута область програми поділяється на
колекцію наборів або еквівалентних класів, які вважаються еквівалентними з
точки зору розглянутих зв'язків та характеристик <специфікації>.
Репрезентативне набір тестів (іноді - тільки один тест) формується з тестів
еквівалентних класів (або наборів класів).
Тести
будуються з орієнтацією на використання тих величин, які визначають граничні
характеристики тестованої системи. Розширення цієї техніки є тести оцінки
живучості (robustness testing) системи, що проводяться з величинами, що
виходять за рамки специфіковані меж значень.
2.
Таблиці прийняття рішень (Decision table)
Такі таблиці
представляють логічні зв'язки між умовами (можуть розглядатися в якості
"Входів") і діями (можуть розглядатися як "виходи"). Набір
тестів будується послідовним розглядом всіх можливих кросзв'язків в такій
таблиці.
3.
Тести на основі скінченого автомату (Finite-state
machine-based)
Будуються як
комбінація тестів для всіх станів і переходів між станами, представлених у
відповідній моделі (переходів і станів програми).
4. Тестування на основі формальної специфікації (Testing from formal specification)
Для
специфікації, визначених з використанням формальної мови, можливо автоматично
створювати і тести для функціональних вимог. У ряді випадків можуть будується
на основі моделі, що є частиною специфікації, не використовує формальної мови
опису.
Питання
для самоконтролю
1. В чому полягає особливості
випадкового тестування?
2. В чому заключається
тестування на основі формальної специфікації?
3. Визначте поняття
еквівалентне розділення.