Statement coverage є одним із широко використовуваних тестів програмного забезпечення. Він проходить тестування білої коробки.
Техніка покриття операторів використовується для розробки тестових випадків білого ящика. Ця техніка передбачає виконання всіх операторів вихідного коду принаймні один раз. Він використовується для обчислення загальної кількості виконаних операторів у вихідному коді із загальної кількості операторів, присутніх у вихідному коді.
Statement coverage виводить сценарій тестових випадків у процесі тестування білого ящика, який базується на структурі коду.
У тестуванні білого ящика тестувальник зосереджується на роботі внутрішнього вихідного коду та блок-схемі або графі потоку коду.
Як правило, у внутрішньому вихідному коді існує широкий спектр елементів, таких як оператори, методи, масиви, цикли, оператори керування, обробники винятків тощо. На основі вхідних даних, наданих програмі, деякі оператори коду виконуються, а деякі можуть ні бути виконано. Метою техніки покриття операторів є охоплення всіх можливих операторів виконання та рядків шляху в коді.
Розберемо процес розрахунку покриття виписки на прикладі:
Тут ми беремо вихідний код для створення двох різних сценаріїв відповідно до вхідних значень, щоб перевірити відсоток охоплення заяви для кожного сценарію.
Структура вихідного коду:
- Введіть два значення, наприклад a=0 і b=1.
- Знайдіть суму цих двох величин.
- Якщо сума більша за 0, виведіть 'Це позитивний результат'.
- Якщо сума менша за 0, виведіть «Це від’ємний результат».
input (int a, int b) { Function to print sum of these integer values (sum = a+b) If (sum>0) { Print (This is positive result) } else { Print (This is negative result) } }
Отже, це базова структура програми, і це завдання, яке вона збирається виконувати.
Тепер давайте розглянемо два різні сценарії та розрахунок відсотка покриття виписок для заданого вихідного коду.
Сценарій 1:
Якщо a = 5, b = 4
print (int a, int b) { int sum = a+b; if (sum>0) print ('This is a positive result') else print ('This is negative result') }
У сценарії 1 ми бачимо, що значення sum буде 9, що більше за 0, і відповідно до умови результатом буде ' Це позитивний результат. ' Оператори, виділені жовтим кольором, є виконаними операторами цього сценарію.
Щоб обчислити охоплення операторів першого сценарію, візьміть загальну кількість тверджень, яка дорівнює 7, і кількість використаних тверджень, яка дорівнює 5.
Total number of statements = 7 Number of executed statements = 5
Statement coverage = 5/7*100 = 500/7 = 71%
Так само, у сценарії 2,
Сценарій 2:
Якщо A = -2, B = -7
print (int a, int b) { int sum = a+b; if (sum>0) print ('This is a positive result') else print ('This is negative result') }
У сценарії 2 ми бачимо, що значення sum буде -9, тобто менше 0, і відповідно до умови результатом буде ' Це негативний результат. ' Оператори, виділені жовтим кольором, є виконаними операторами цього сценарію.
Щоб обчислити охоплення операторів першого сценарію, візьміть загальну кількість тверджень, яка дорівнює 7, і кількість використаних тверджень, яка дорівнює 6.
Загальна кількість заяв = 7
Кількість виконаних операторів = 6
фрагмент java масиву
Statement coverage = 6/7*100 <br> = 600/7 = 85%
Але ми бачимо, що всі заяви охоплені в обох сценаріях, і ми можемо вважати, що загальне охоплення заяв становить 100%.
Отже, техніка покриття операторів охоплює мертвий код, невикористаний код і гілки.