Метод покриття рішень / умов

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

Недоліки методу:

• не завжди можна перевірити всі умови;

• неможливо перевірити умови, які сховані іншими умовами;

• недостатня чутливість до помилок в логічних виразах.

Так в розглянутому прикладі два тести методу покриття умов

а) A = 2, B = 0, X = 4 ace

б) A = 1, B = 1, X = 0 abd

відповідають і критерію покриття рішень / умов. Це є наслідком того, що одні умови наведених рішень приховують інші умови в цих рішеннях. Так, якщо умова А> 1 буде помилковою, транслятор може не перевіряти умову В = 0, оскільки при будь-якому результаті умови В = 0, результат рішення ((А> 1) & (В = 0)) прийме значення «брехня». Тобто у варіанті на рис. 4.1 не всі результати всіх умов виконаються в процесі тестування.

Розглянемо реалізацію того ж прикладу на рис. 4.2.

Рис. 4.2. Приклад алгоритму програми

Найбільш повне покриття тестами в цьому випадку виконується так, щоб виконувалися всі можливі результати кожного простого рішення. Для цього потрібно покрити шляху aceg (тест А = 2, В = 0, Х = 4), acdfh (тест А = 3, В = 1, Х = 0), abfh (тест А = 0, В = 0, Х = 0), abfi (тест А = 0, В = 0, Х = 2)..

Протестувавши алгоритм на рис. 4.2, неважко переконатися в тому, що критерії покриття умов і критерії покриття рішень / умов недостатньо чутливі до помилок в логічних виразах.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: