Тестове покриття в тестуванні програмного забезпечення
Що таке тестове покриття?
Тестове покриття визначається як показник у тестуванні програмного забезпечення, який вимірює обсяг тестування, виконаного набором тестів. Він включатиме збір інформації про те, які частини програми виконуються під час запуску набору тестів, щоб визначити, які гілки умовних операторів були використані.
Простіше кажучи, це техніка, яка дозволяє переконатися, що ваші тести перевіряють ваш код або те, яку частину коду ви використали під час виконання тесту.
Що робить Test Coverage?
- Пошук області вимоги, не реалізованої набором тестів
- Допомагає створити додаткові тестові випадки для збільшення покриття
- Визначення кількісної міри охоплення тестом, яка є непрямим методом перевірки якості
- Виявлення безглуздих тестових випадків, які не збільшують покриття
Як можна здійснити тестове покриття?
- Тестове покриття можна здійснити за допомогою методів статичної перевірки, таких як експертні оцінки, інспекції та покрокове керівництво
- Шляхом перетворення спеціальних дефектів у виконувані тестові випадки
- На рівні коду або модульного тестування охоплення тестом можна досягти, скориставшись інструментами автоматизованого покриття коду або модульного тестування
- Функціональне покриття тесту можна здійснити за допомогою відповідних інструментів керування тестуванням
Переваги тестового покриття в розробці програмного забезпечення
- Це може гарантувати якість тесту
- Це може допомогти визначити, які частини коду були фактично застосовані для випуску чи виправлення
- Це може допомогти визначити шляхи у вашій програмі, які не перевірялися
- Запобігати Дефект витік
- Час, обсяг і вартість можна тримати під контролем
- Запобігання дефектам на ранній стадії життєвого циклу проекту
- Він може визначати всі точки прийняття рішень і шляхи, які використовуються в додатку, що дозволяє збільшити покриття тесту
- Прогалини у вимогах, тестових випадках і дефекти на рівні модуля та коду можна знайти простим способом
Які основні відмінності між покриттям коду та покриттям тесту?
Покриття коду і тестове покриття — це методи вимірювання, які дозволяють оцінити якість коду програми.
Ось деякі критичні відмінності між кабінами цих методів покриття:
параметри | Покриття коду | Покриття тесту |
---|---|---|
Визначення | Термін покриття коду, який використовується, коли код програми виконується під час роботи програми. | Тестове покриття означає загальний план тестування. |
Мета | Показники покриття коду можуть допомогти команді контролювати автоматизовані тести. | Тестове покриття містить інформацію про рівень, до якого було перевірено письмове кодування програми. |
Підтипи | Покриття коду поділено на такі підтипи, як покриття операторів, покриття умов, покриття гілок, покриття Toogle, покриття FSM. | Немає підтипу методу тестового покриття. |
Формула тестового покриття
Щоб розрахувати тестове покриття, вам потрібно виконати наведені нижче дії.
Крок 1) Загальна кількість рядків коду в якості програмного забезпечення Тестування
Крок 2) Кількість рядків коду, які зараз виконуються всіма тестами
Тепер вам потрібно знайти (X, поділене на Y), помножене на 100. Результатом цього обчислення є % вашого тестового покриття.
Наприклад:
Якщо кількість рядків коду в компоненті системи дорівнює 500, а кількість рядків, виконаних у всіх існуючих тестах, дорівнює 50, то ваше тестове покриття дорівнює:
(50 / 500) * 100 = 10%
Приклади тестового покриття
Приклад 1:
Наприклад, якщо «ніж» — це предмет, який ви хочете перевірити. Потім вам потрібно зосередитися на перевірці, чи правильно він нарізає овочі чи фрукти. Однак є й інші аспекти, на які слід звернути увагу, наприклад, користувач повинен мати можливість зручно ним керувати.
Приклад 2:
Наприклад, якщо ви хочете перевірити програму «Блокнот». Тоді перевірка його основних функцій є обов’язковою справою. Однак вам потрібно охопити інші аспекти, оскільки програма «Блокнот» відповідає очікуваним чином під час використання інших програм, користувач розуміє використання програми, не виходить з ладу, коли користувач намагається зробити щось незвичайне тощо.
Недоліки тестового покриття:
- Більшість завдань у тестовому покритті виконуються вручну, оскільки немає інструментів для автоматизації. Тому для аналізу вимог і створення тестових випадків потрібно багато зусиль.
- Тестове покриття дозволяє підрахувати функції, а потім порівняти з кількома тестами. Однак завжди є простір для помилкових суджень.