1.2 Аналіз граничних значень.
Граничні умови - це ситуації, що виникають, вище або нижче межі вхідних даних класів еквівалентності. Аналіз граничних значень відрізняється від еквівалентного розбиття наступним:
-
Вибір будь-якого елемента в класі еквівалентності як представника при аналізі граничних умов здійснюється так, щоб перевірити тестом кожну межу цього класу.
-
При розробці тестів розглядаються не тільки вхідні умови (простір входів), але і простір результатів.
Вживання методу аналізу граничних умов вимагає певного ступеня творчості і спеціалізації в даній проблемі. Проте, існує декілька загальних правил цього методу:
-
Побудувати тести для меж області і тести з неправильними вхідними даними для ситуацій незначного виходу за межі області, якщо вхідна умова описує область значень (наприклад, для області вхідних значень від -1.0 до +1.0 необхідно написати тести для ситуацій -1.0, +1.0, -1.001 і +1.001).
-
Побудувати тести для мінімального і максимального значень умов і тести, великі і менші цих двох значень, якщо вхідна умова задовольняє дискретному ряду значень. Наприклад, якщо вхідний файл може містити від 1 до 255 записів, то перевірити 0, 1, 255 і 256 записів.
-
Використовувати перше правило для кожної вихідної умови. Причому, важливо перевірити межі простору результатів, оскільки не завжди межі вхідних областей представляють такий же набір умов, як і межі вихідних областей. Не завжди також можна одержати результат за межами вихідної області, але, проте, варто розглянути цю можливість.
-
Використовувати друге правило для кожної вихідної умови.
-
Якщо вхідні або вихідні дані програми є впорядкована множина (наприклад, послідовний файл, лінійний список, таблиця), то зосередити увагу на першому і останньому елементах цієї множини.
-
Спробувати свої сили в пошуку інших граничних умов.
Аналіз граничних умов, якщо він застосований правильно, є одним з найкорисніших методів проектування тестів. Проте слід пям'ятати, що граничні умови можуть бути ледве уловимі і визначення їх пов'язане з великими труднощами, що є недоліком цього методу. Другий недолік зв'язаний з тим, що метод аналізу граничних умов не дозволяє перевіряти різні поєднання початкових даних.
1.3 Аналіз причинно-наслідкових зв'язків.
Метод аналізу причинно-наслідкових зв'язків допомагає системно вибирати високорезультативні тести. Він дає корисний побічний ефект, дозволяючи знаходити неповноту і неоднозначність початкових специфікацій.
Для використання методу необхідне розуміння булевої логіки (логічних операторів - і, або, не). Побудова тестів здійснюється у декілька етапів.
-
Специфікація розбивається на «робочі» ділянки, оскільки таблиці причинно-наслідкових зв'язків стають громіздкими при застосуванні методу до великих специфікацій. Наприклад, при тестуванні компілятора як робочу ділянку можна розглядати окремий оператор мови.
-
В специфікації визначаються безліч причин і безліч наслідків. Причина є окрема вхідна умова або клас еквівалентності вхідних умов. Наслідок є вихідна умова або перетворення системи. Кожній причині і слідству приписується окремий номер.
-
На основі аналізу семантичного (смислового) змісту специфікації будується таблиця істинності, в якій послідовно перебираються всі можливі комбінації причин і визначаються наслідки кожної комбінації причин. Таблиця забезпечується примітками, що задають обмеження і що описують комбінації причин і/або наслідків, які є неможливими через синтаксичні або зовнішні обмеження. Аналогічно, при необхідності будується таблиця істинності для класу еквівалентності.
Примітка. При цьому можна використовувати наступні прийоми:
По можливості виділяти незалежні групи причинно-наслідкових зв'язків в окремі таблиці.
Істина позначається "1". Брехня позначається "0". Для позначення неважливих станів умов застосовувати позначення "Х", яке припускає довільне значення умови (0 або 1).
-
Кожний рядок таблиці істинності перетвориться в тест.
Недолік методу - неадекватно досліджує граничні умови.
