
- •Лабораторна робота №1. Методи побудови тестів. Тестування програми з використанням стратегії білої скриньки.
- •1.1 Методи стратегії 'білої скриньки'
- •1.1.1 Метод покриття операторів
- •1.1.2 Метод покриття рішень (покриття переходів)
- •1.1.3 Метод покриття умов
- •1.1.4 Критерій покриття рішень (умов)
- •1.1.5 Метод комбінаторного покриття умов.
- •Рекомендовані завдання до лабораторної роботи
1.1.4 Критерій покриття рішень (умов)
Критерій покриття рішень / умов вимагає такого достатнього набору тестів, щоб всі можливі результати кожної умови в рішенні виконувалися принаймні один раз, всі результати кожного рішення виконувалися принаймні один раз і, крім того, кожній точці входу передавалося управління принаймні один раз.
Два тести методу покриття умов
а) A = 2, B = 0, X = 4 ace
б) A = 1, B = 1, X = 0 abd
відповідають і критерію покриття рішень / умов. Це є наслідком того, що одні умови наведених рішень приховують інші умови в цих рішеннях. Так, якщо умова А> 1 буде помилковим, транслятор може не перевіряти умови В = 0, оскільки при будь-якому результаті умови В = 0, результат рішення ((А> 1) & (В = 0)) прийме значення брехня. Отже, недоліком критерію покриття рішень / умов є неможливість його застосування для виконання всіх результатів всіх умов.
Інша реалізація розглянутого прикладу наведена на малюнку 1.3. Багатоумовні рішення вихідної програми розбиті на окремі рішення і переходи. Найбільш повне покриття тестами в цьому випадку виконується так, щоб виконувалися всі можливі результати кожного простого рішення. Для цього потрібно покрити шляхи HILP (тест А = 2, В = 0, Х = 4), HIMKT (тест А = 3, В = 1, Х = 0), HJKT (тест А = 0, В = 0, Х = 0), HJKR (тест А = 0, В = 0, Х = 2) .
Протестувавши алгоритм на малюнку 1.3, неважко переконатися в тому, що критерії покриття умов і критерії покриття рішень / умов недостатньо чутливі до помилок в логічних виразах.
Рис.1.3
1.1.5 Метод комбінаторного покриття умов.
Критерієм, який вирішує ці та деякі інші проблеми, є комбінаторне покриття умов. Він вимагає створення такого числа тестів, щоб всі можливі комбінації результатів умови в кожному рішенні виконувалися принаймні один раз. Набір тестів, що задовольняють критерію комбінаторного покриття умов, задовольняє також і критеріями покриття рішень, покриття умов і покриття рішень / умов.
За цим критерієм в розглянутому прикладі повинні бути покриті тестами наступні вісім комбінацій:
1) A>1, B=0;
2)A>1, B0;
3) A1, B=0;
4) А1, B0;
5) A=2, X>1;
6) A=2, X1;
7) А2, X>1;
8) А2, X1;
Для того щоб протестувати ці комбінації непотрібно використовувати всі 8 тестів. Фактично вони можуть бути покриті 4 тестами:
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. Результати тестуваня методом комбінаторного покриття умов.
Тест |
Очікуваний результат |
Фактичний результат |
Результат тестування |
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. Написати програму, що реалізує заданий викладачем алгоритм обробки даних.
2. Відобразити алгоритм розв'язання задачі у вигляді схеми програми (див. рис.1.3).
3. Позначити літерами або цифрами гілки алгоритму
4. Вибрати метод тестування, який на Вашу думку може дати найбільшу ймовірність виявлення помилок в програмі.
5. Виписати шляху алгоритму, які повинні бути перевірені тестами для обраного методу тестування.
6. Записати тести, які дозволять пройти по шляхах алгоритму, обраним Вами
7. Протестувати розроблену Вами програму. Результати оформити у вигляді таблиць (див. таблиці 1-4).
8. Оформити звіт по лабораторній роботі.
5 Література
1. Липаєв В.В. Тестування програм. - М.: Радіо і зв'язок, 1986. - 296 с.:
2. ГОСТ 19.701-90