Испитивање мутација
Мутацијско тестирање је врста софтверског тестирања у којем се одређене наредбе изворног кода мењају / мутирају да би се проверило да ли су тест случајеви у могућности да пронађу грешке у изворном коду. Циљ тестирања мутација је осигурати квалитет тест случајева у смислу робусности да не би успео мутирани изворни код.
Промене направљене у програму мутаната треба да буду изузетно мале да не утичу на општи циљ програма. Мутацијско тестирање се назива и стратегија тестирања заснованог на грешкама, јер укључује стварање грешке у програму, а то је врста тестирања Вхите Бок-а која се углавном користи за јединично тестирање.
Мутација је првобитно предложена 1971. године, али је изгубила жар због високих трошкова. Сада је поново покушао да се користи и широко се користи за језике као што су Јава и КСМЛ.
У овом упутству ћете научити-
- Шта је тестирање мутације?
- Како извршити тестирање мутације?
- Како створити програме за мутанте?
- Шта променити у програму мутанта?
- Врсте испитивања мутација
- Оцена мутације:
- Предности испитивања мутација:
- Мане тестирања мутација:
Како извршити тестирање мутације?
Следе кораци за извршавање тестирања мутација (анализа мутација):
Корак 1 : Грешке се уносе у изворни код програма стварањем многих верзија које се називају мутанти. Сваки мутант треба да садржи једну грешку, а циљ је да пропадне верзија мутанта што показује ефикасност тест случајева.
Корак 2 : Тест примери се примењују на оригинални програм, а такође и на програм мутаната. Тест случај би требао бити адекватан и дорађен је да би се откриле грешке у програму.
Корак 3 : Упоредите резултате оригиналног и мутант програма.
Корак 4 : Ако оригинални програм и програми за мутанте генеришу различит излаз, тада је тест случај убио мутанта. Стога је тест случај довољно добар да детектује промену између оригинала и програма мутаната.
Корак 5 : Ако оригинални програм и програм мутанта генеришу исти излаз, Мутант се одржава на животу. У таквим случајевима треба створити ефикасније тестове који убијају све мутанте.
Како створити програме за мутанте?
Мутација није ништа друго до једна синтаксичка промена која се врши у програмском исказу. Сваки програм мутанта треба да се разликује од оригиналног програма по једној мутацији.
Оригинални програм | Мутант Програм |
---|---|
Ако (к> и) Одштампајте "Хелло" Елсе Принт "Хи" | Ако ( к <и )одштампајте "Хелло" Елсе Принт "Хи" |
Шта променити у програму мутанта?
Постоји неколико техника које се могу користити за генерисање програма мутаната. Погледајмо их
Оператори замене операнда | Оператори модификације израза | Оператори за измену извештаја |
---|---|---|
Замените операнд другим операндом (к са и или и са к) или константном вредношћу. | Замените оператора или уметање нових оператора у програмски израз. | Програмске изјаве су модификоване да би креирале програме мутаната. |
Пример- Ако (к> и) замените к и и вредности Иф (5> и) замените к константом 5 | Пример- Иф (к == и) Можемо заменити == у> = и имати мутант програм као Иф (к> = и) и уметањем ++ у израз Иф (к == ++ и) | Пример - Избришите део елсе у наредби иф-елсе Избришите целу наредбу иф-елсе да бисте проверили како се програм понаша Неки од оператора мутације узорака:
|
Аутоматизација испитивања мутација:
Тестирање мутација изузетно је дуготрајно и сложено је извршити ручно. Да бисте убрзали процес, препоручљиво је да се одлучите за алате за аутоматизацију. Алати за аутоматизацију такође смањују трошкове испитивања.
Листа доступних алата -
- Стрикер
- ПИТ тестирање
Врсте испитивања мутација
У софтверском инжењерству, тестирање мутација могло би се у основи поделити на 3 врсте - мутација изјава, мутација одлуке и мутација вредности.
- Изјава Мутација - програмер је исекао и залепио део кода чији би резултат могао бити уклањање неких редова
- Мутација вредности - вредности примарних параметара се мењају
- Мутација одлуке - контролне изјаве треба променити
Оцена мутације:
Резултат мутације дефинисан је као проценат убијених мутаната са укупним бројем мутаната.
- Оцена мутације = (Убијени мутанти / Укупан број мутаната) * 100
Тест случајеви су мутације довољни ако је резултат 100%. Експериментални резултати показали су да је тестирање мутација ефикасан приступ за мерење адекватности тест случајева. Али, главни недостатак је висока цена генерирања мутаната и извршавања сваког тест случаја против тог мутантног програма.
Предности испитивања мутација:
Следе предности мутационог тестирања:
- Моћан је приступ постизању велике покривености изворног програма.
- Ово тестирање је способно свеобухватно тестирати програм мутаната.
- Тестирање мутација доноси добар ниво откривања грешака програмеру софтвера.
- Ова метода открива нејасноће у изворном коду и има капацитет да открије све грешке у програму.
- Купци имају користи од овог тестирања добијањем најпоузданијег и стабилнијег система.
Мане тестирања мутација:
Са друге стране, следећи су недостаци тестирања мутаната:
- Тестирање мутација изузетно је скупо и дуготрајно јер постоји много програма за мутирање које треба генерисати.
- Пошто је дуготрајно, поштено је рећи да се ово тестирање не може обавити без алата за аутоматизацију.
- Свака мутација имаће исти број тест случајева него онај оригиналног програма. Дакле, можда ће требати тестирати велики број програма мутаната у односу на оригинални пакет за тестирање.
- Како овај метод укључује промене изворног кода, уопште није применљив за тестирање црне кутије.
Закључак:
Да ли желите исцрпно тестирање ваше пријаве? Одговор је тестирање мутације. То је најопсежнија техника за тестирање програма. Ово је метода којом се проверава ефикасност и тачност програма тестирања за откривање грешака или грешака у систему.