Одним з критеріїв покриття логіки програми (і методу тестування) (який є сильнішим за покриття операторів, яке насправді є найслабшим) є покриття рішень або гілок, або навіть покриття всіх ребер. Згідно з цим критерієм, потрібно написати достатню кількість тестів, щоб кожне рішення могло прийняти значення Правда. і Неправда принаймні один раз.
Інакше кажучи, потрібно виконати кожен напрямок розгалуження хоча б один раз. Прикладами операторів розгалужень або рішень є в той час як або if твердження.
Можна показати, що покриття рішень зазвичай задовольняє критерій покриття операторів. Оскільки кожен оператор лежить на деякому шляху, який починається або з точки входу в програму, або з оператора розгалуження, то при виконанні кожного напрямку розгалуження повинен бути виконаний кожен оператор. Але є три винятки.
- Перший - це патологічна ситуація, коли програма не має рішень.
- Другий зустрічається у програмах або підпрограмах з декількома точками входу (наприклад, у програмах на мові асемблера); цей оператор може бути виконаний, тільки якщо виконання програми починається з відповідної точки входу.
- Третій виняток пов’язаний з операторами всередині операторів switch; виконання гілки в кожному напрямку не обов’язково запускає виконання всіх тестових випадків.
До речі, послуги тестування електронної комерції можна використовувати для залучення більшої кількості відвідувачів на будь-який веб-сайт, підвищуючи його продуктивність, зручність використання та безпеку.
Оскільки висвітлення заяв вважається необхідною умовою, то висвітлення рішень, яке є більш вагомим критерієм, має включати в себе висвітлення заяв.
[highlight dark=”no”]Тому покриття рішень вимагає, щоб кожне рішення приймало значення True та False, а кожен оператор виконувався хоча б один раз.[/highlight]
Простіший і альтернативний спосіб виразити цю вимогу полягає в тому, що кожне рішення має значення True і False, і що кожна точка входу (включаючи кожен тестовий приклад) повинна отримувати управління при виклику програми хоча б один раз.
Вищевикладене припускає, що для програм, які містять полісемантичні рішення (як у тестових прикладах), необхідно модифікувати лише двозначні рішення або гілки. Критерієм для них є виконання кожної можливої гілки з кожної точки прийняття рішення, принаймні один раз, і делегування управління при виклику програми або підпрограми в кожній точці входу, принаймні один раз.










0 коментарів