Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота1.doc
Скачиваний:
32
Добавлен:
23.02.2016
Размер:
118.27 Кб
Скачать

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, 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 тестів. Фактично вони можуть бути покриті 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