Метод комбінаторного покриття умов.

Критерій комбінаторного покриття умов задовольняє також і критеріям покриття рішень, покриття умов і покриття рішень/умов.

Цей метод вимагає створення такого числа тестів, щоб всі можливі комбінації результатів умови в кожному рішенні виконувалися принаймні один раз. За цим критерієм в розглянутому прикладі повинні бути покриті тестами наступні вісім комбінацій:

1. A>1, B=0.

2. A>1, B¹0.

3. A£1, B=0.

4. А£1, B¹0.

5. A=2, X>1.

6. A=2, X£1.

7. А¹2, X>1.

8. А¹2, X£1.

Для того, щоб протестувати ці комбінації, необов'язково використовувати всі 8 тестів. Фактично вони можуть бути покриті чотирма тестами:

· A=2, B=0, X=4 {покриває 1, 5};

· A=2, B=1, X=1 {покриває 2, 6};

· A=0,5, B=0, X=2 {покриває 3, 7};

· A=1, B=0, X=1 {покриває 4, 8}.

Таблиця 4.4. Результати тестування методом комбінаторного покриття умов

Тест Очікуємий результат Фактичний результат Результат тестування
A=2, B=0, X=4 X=3 X=3 Не успішно
A=2, B=1, X=1 X=2 X=1,5 успішно
A=0,5 B=0, X=2 X=3 X=4 успішно
A=1, B=0, X=1 X=1 X=1 Не успішно

Варіанти завдання:

1. Дано сторони трикутника a, b, c. Знайти його площу.

2. Задані швидкість і час руху автомобіля. Визначити відстань, яку подолав автомобіль.

3. Дано 3-значне число. Перевірити його подільність на кожну зі своїх цифр.

4. В прямокутному трикутнику відомі катет і гіпотенуза. Знайдіть інший катет.

5. Задано кут трикутника X в градусах. Знайти sin(x), cos(x).

6. Написати програму, яка знаходить значення Y = (2x - 7)/(x-1);

7. Розробити програму розв’язку квадратного рівняння.

8. Знайти суму цифр 4-значного числа.

9. Вводяться 4 числа. Знайти найбільше і поділити його на суму інших.

10. Знайти об’єм паралелепіпеда за довжинами висоти, ширини і довжини.

Порядок виконання роботи:

1. Спроектувати тести за принципом «білого ящика» для програми.

2. Вибрати кілька алгоритмів для тестування і позначити літерами або цифрами гілки цих алгоритмів.

3. Виписати шляхи алгоритму, які повинні бути перевірені тестами для обраного методу тестування.

4. Записати тести, які дозволять пройти по шляхах алгоритму.

5. Протестувати розроблену Вами програму. Результати оформити у вигляді таблиць (див. таблиці 5.1-5.4).

6. Перевірити всі види тестів і зробити висновки про їх ефективність.

7. Оформити звіт по лабораторній роботі.

8. Здати і захистити роботу.

Захист звіту з лабораторної роботи:

Звіт по лабораторній роботі повинен включати в себе:

1. Постановку задачі.

2. Блок-схеми програм.

3. Тести.

4. Таблиці тестування програми.

5. Висновки за результатами тестування.

Контрольні запитання

1. Етап реалізації та тестування програмного продукту.

2. Види тестування.

3. Критерії вибору тестів.

4. Властивості тестів.

5. Критерії надійності програм.

6. Оцінка надійності програм.

 

 

Лабораторна робота №9

Тестування програм методами «чорного ящика»

 

Мета заняття: проаналізувати методи тестування програмних продуктів, оцінити різні методи з точки зору детективності й покриваючої здатності тестів

Теорія:

Тестування за принципом «чорного ящика»

Одним із способів перевірки програм є стратегія тестування, яка називається стратегією "чорного ящика" або тестуванням з управлінням за даними. У цьому випадку програма розглядається як "чорний ящик" і таке тестування має метою з'ясування обставин, в яких поведінка програми не відповідає специфікації.

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

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

Правильно вибраний тест підмножини повинен володіти наступними властивостями:

1) зменшувати, причому більш ніж на одиницю число інших тестів, які повинні бути розроблені для досягнення заздалегідь визначеної мети «прийнятного» тестування;

2) покривати значну частину інших можливих тестів, що в деякій мірі свідчить про наявність або відсутність помилок до і після застосування цієї обмеженої безлічі значень вхідних даних.

Стратегія "чорного ящика" включає в себе такі методи формування тестових наборів:

¨ еквівалентне розбиття;

¨ аналіз граничних значень;

¨ аналіз причинно-наслідкових зв'язків;

¨ припущення про помилку.

Еквівалентне розбиття

Основу методу складають два положення:

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

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

Перше положення використовується для розробки набору "цікавих" умов, які повинні бути протестовані, а друге - для розробки мінімального набору тестів.

Розробка тестів методом еквівалентного роздроблення здійснюється в два етапи:

¨ виділення класів еквівалентності;

¨ побудова тестів.