Малюнок 2.3
2.5 Метод комбінаторного покриття умов.
Критерієм, що вирішує ці й деякі інші проблеми, є комбінаторне покриття умов. Він вимагає створення такого числа тестів, щоб всі можливі комбінації результатів умови в кожному рішенні виконувалися принаймні один раз. Набір тестів, що задовольняють критерію комбінаторного покриття умов, задовольняє також і критеріям покриття рішень, покриття умов і покриття рішень/умов.
За цим критерієм у розглянутому прикладі повинні бути покриті тестами наступні вісім комбінацій:
а) A>1, B=0;
б)A>1, B0;
в) A1, B=0;
г) А1, B0;
д) A=2, X>1;
е) A=2, X1;
ж) А2, X>1;
з) А2, X1;
Для того щоб протестувати ці комбінації, необов'язково використати всі 8 тестів. Фактично вони можуть бути покриті чотирма тестами:
- A=2, B=0, X=4 {покриває а, д};
- A=2, B=1, X=1 {покриває б, е};
- A=0,5, B=0, X=2 {покриває в, ж};
- A=1, B=0, X=1 {покриває г, з}.
Таблиця 2.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 |
неуспішно |
3 Методика виконання лабораторної роботи
1. Написати програму, що реалізує заданий викладачем алгоритм обробки даних.
2. Відобразити алгоритм рішення завдання у вигляді схеми програми.
3. Позначити буквами або цифрами гілки алгоритму
4. Вибрати метод тестування, що на Вашу думку може дати найбільшу ймовірність виявлення помилок у програмі.
5. Виписати шляхи алгоритму, які повинні бути перевірені тестами для обраного методу тестування.
6. Записати тести, які дозволять пройти по шляхах алгоритму, обраним Вами в п.5.
7. Протестувати розроблену Вами програму. Результати оформити у вигляді таблиць
(див. таблиці 2.1-2.4).
8. Оформити звіт з лабораторної роботи.
4 Зміст звіту
1. Сформулювати мету роботи (мета Вашої роботи не співпадає з метою лабораторної роботи взагалі, вона, Ваша мета, більше конкретна й визначається заданим викладачем завданням обробки інформації).
2. Записати програму розв‘язку поставленого завдання.
3. Відобразити схему програми (див. пп.2,3).
4. Мотивувати вибір методу тестування. Перелічити реалізуючий обраний метод тестування шляхи алгоритму й тести для проходження цих шляхів.
5. Навести таблицю тестування програми (п.7).
6. Записати висновки за результатами тестування (не забувайте, що метою тестування є виявлення помилок у програмі).
6 Рекомендовані завдання до лабораторної роботи
1. Ідентифікувати трикутник по трьох сторонах (гострокутний, прямокутний, тупокутний, рівносторонній, рівнобедрений).
2. Ідентифікувати чотирикутник по чотирьох сторонах (квадрат або ромб, прямокутник, трапеція або звичайний чотирикутник).
3. Ідентифікувати трикутник по двох сторонах і кутом між ними (гострокутний, прямокутний, тупокутний, рівносторонній, рівнобедрений).
4. Визначити, чи є задане із клавіатури шестизначне число парним, щасливим (сума перших трьох цифр дорівнює сумі останніх трьох цифр) або ділиться на 13.
5. Ідентифікувати трикутник по трьох кутах (гострокутний, прямокутний, тупокутний, рівносторонній, рівнобедрений).
6. Ідентифікувати трапецію по двох сторонах і кутом між ними (квадрат, рівнобедрена, звичайна).
Рекомендуються завдання з декількома логічними умовами. Перед перевіркою логічних умов рекомендується перевіряти правильність вхідних даних (наприклад, чи є введені три сторони сторонами трикутника).
