Тестування мутацій
Мутаційне тестування - це тип тестування програмного забезпечення, при якому певні твердження вихідного коду змінюються / мутуються, щоб перевірити, чи можуть тестові випадки знаходити помилки у вихідному коді. Метою мутаційного тестування є забезпечення якості тестових кейсів з точки зору надійності того, що він повинен вийти з ладу з мутованим вихідним кодом.
Зміни, внесені в програму мутантів, повинні бути надзвичайно малими, щоб вони не впливали на загальну мету програми. Мутаційне тестування також називають стратегією тестування на основі несправностей, оскільки воно передбачає створення помилки в програмі, і це тип тестування White Box, який в основному використовується для модульного тестування.
Спочатку мутація була запропонована в 1971 році, але втратила запал через великі витрати. Тепер він знову набрав популярності і широко використовується для таких мов, як Java та XML.
У цьому підручнику ви дізнаєтесь-
- Що таке тестування мутацій?
- Як виконати тестування мутації?
- Як створити програми мутантів?
- Що змінити в програмі мутантів?
- Види мутаційного тестування
- Оцінка мутації:
- Переваги мутаційного тестування:
- Недоліки мутаційного тестування:
Як виконати тестування мутації?
Нижче наведені кроки для проведення тесту на мутацію (аналіз мутації):
Крок 1 : Помилки вводяться у вихідний код програми шляхом створення багатьох версій, які називаються мутантами. Кожен мутант повинен містити одну помилку, і мета полягає в тому, щоб вийти з ладу версії мутанта, що демонструє ефективність тестових випадків.
Крок 2 : Тестові кейси застосовуються до оригінальної програми, а також до програми-мутанта. Тестовий кейс повинен бути достатнім, і його налаштовано для виявлення несправностей у програмі.
Крок 3 : Порівняйте результати оригінальної та мутантної програми.
Крок 4 : Якщо оригінальна програма та мутантні програми генерують різні результати, тоді тестовий випадок вбиває мутанта. Отже, тестовий приклад є достатньо хорошим, щоб виявити зміну між оригіналом та програмою мутантів.
Крок 5 : Якщо оригінальна програма та програма-мутант генерують однакові результати, Мутант залишається живим. У таких випадках потрібно створити більш ефективні тестові випадки, які вбивають усіх мутантів.
Як створити програми мутантів?
Мутація - це не що інше, як одна синтаксична зміна, яка вноситься до оператора програми. Кожна програма мутантів повинна відрізнятися від початкової програми однією мутацією.
Оригінальна програма | Програма мутантів |
---|---|
Якщо (x> y) Друк "Привіт" В іншому випадку Друк "Привіт" | Якщо ( x іншому випадку Друк "Привіт" |
Що змінити в програмі мутантів?
Існує кілька методів, які можна використовувати для створення програм мутантів. Давайте розглянемо їх
Оператори заміни операндів | Оператори модифікації виразів | Оператори модифікації виписки |
---|---|---|
Замініть операнд іншим операндом (x на y або y на x) або на постійне значення. | Замінити оператор або вставити нові оператори в оператор програми. | Програмні висловлювання модифікуються для створення програм-мутантів. |
Приклад - Якщо (x> y) замінити значення x та y Якщо (5> y) замінити x на константу 5 | Приклад - If (x == y) Ми можемо замінити == на> = і мати мутантну програму як If (x> = y) та вставити ++ в оператор If (x == ++ y) | Приклад - Видалити частину else у операторі if-else Видалити весь оператор if-else, щоб перевірити, як поводиться програма Деякі зразки операторів мутації:
|
Автоматизація тестування мутацій:
Тестування мутацій надзвичайно трудомістке та складне для виконання вручну. Щоб пришвидшити процес, доцільно обрати засоби автоматизації. Засоби автоматизації також знижують вартість тестування.
Перелік доступних інструментів -
- Страйкер
- Тестування ПДФО
Види мутаційного тестування
У розробці програмного забезпечення тестування на мутацію можна принципово поділити на 3 типи - мутація твердження, мутація рішення та мутація значень.
- Мутація висловлень - розробник вирізає та вставляє частину коду, результатом якої може бути видалення деяких рядків
- Мутація значень - значення первинних параметрів змінюються
- Мутація рішення - контрольні твердження мають бути змінені
Оцінка мутації:
Оцінка мутації визначається як відсоток вбитих мутантів із загальною кількістю мутантів.
- Оцінка мутації = (Вбиті мутанти / Загальна кількість мутантів) * 100
Тестові випадки мутації адекватні, якщо оцінка становить 100%. Експериментальні результати показали, що тестування на мутацію є ефективним підходом для вимірювання адекватності тестових випадків. Але головний недолік полягає в тому, що висока вартість генерування мутантів та виконання кожного тесту проти цієї мутантної програми.
Переваги мутаційного тестування:
Нижче наведено переваги мутаційного тестування:
- Це потужний підхід для досягнення високого охоплення вихідної програми.
- Це тестування може комплексно тестувати програму мутантів.
- Тестування мутацій забезпечує хороший рівень виявлення помилок розробнику програмного забезпечення.
- Цей метод виявляє неоднозначності у вихідному коді та має можливість виявити всі несправності програми.
- Клієнти отримують вигоду від цього тестування, отримуючи найнадійнішу та стабільнішу систему.
Недоліки мутаційного тестування:
З іншого боку, наступні недоліки тестування мутантів:
- Тестування мутацій є надзвичайно дорогим і трудомістким, оскільки існує безліч мутантних програм, які потрібно створити.
- Оскільки це трудомістко, справедливо сказати, що це тестування неможливо провести без інструменту автоматизації.
- Кожна мутація матиме таку ж кількість тестів, ніж оригінальна програма. Отже, велика кількість програм-мутантів, можливо, доведеться протестувати проти оригінального набору тестів.
- Оскільки цей метод передбачає зміни вихідного коду, він взагалі не застосовується для тестування Black Box.
Висновок:
Ви хочете вичерпне тестування своєї заявки? Відповідь - тестування на мутацію. Це найповніша методика тестування програми. Це метод, який перевіряє ефективність і точність програми тестування для виявлення несправностей або помилок в системі.