Тестирање мутација у тестирању софтвера: Мутант Сцоре & амп; Пример анализе

Преглед садржаја:

Anonim

Испитивање мутација

Мутацијско тестирање је врста софтверског тестирања у којем се одређене наредбе изворног кода мењају / мутирају да би се проверило да ли су тест случајеви у могућности да пронађу грешке у изворном коду. Циљ тестирања мутација је осигурати квалитет тест случајева у смислу робусности да не би успео мутирани изворни код.

Промене направљене у програму мутаната треба да буду изузетно мале да не утичу на општи циљ програма. Мутацијско тестирање се назива и стратегија тестирања заснованог на грешкама, јер укључује стварање грешке у програму, а то је врста тестирања Вхите Бок-а која се углавном користи за јединично тестирање.

Мутација је првобитно предложена 1971. године, али је изгубила жар због високих трошкова. Сада је поново покушао да се користи и широко се користи за језике као што су Јава и КСМЛ.

У овом упутству ћете научити-

  • Шта је тестирање мутације?
  • Како извршити тестирање мутације?
  • Како створити програме за мутанте?
  • Шта променити у програму мутанта?
  • Врсте испитивања мутација
  • Оцена мутације:
  • Предности испитивања мутација:
  • Мане тестирања мутација:

Како извршити тестирање мутације?

Следе кораци за извршавање тестирања мутација (анализа мутација):

Корак 1 : Грешке се уносе у изворни код програма стварањем многих верзија које се називају мутанти. Сваки мутант треба да садржи једну грешку, а циљ је да пропадне верзија мутанта што показује ефикасност тест случајева.

Корак 2 : Тест примери се примењују на оригинални програм, а такође и на програм мутаната. Тест случај би требао бити адекватан и дорађен је да би се откриле грешке у програму.

Корак 3 : Упоредите резултате оригиналног и мутант програма.

Корак 4 : Ако оригинални програм и програми за мутанте генеришу различит излаз, тада је тест случај убио мутанта. Стога је тест случај довољно добар да детектује промену између оригинала и програма мутаната.

Корак 5 : Ако оригинални програм и програм мутанта генеришу исти излаз, Мутант се одржава на животу. У таквим случајевима треба створити ефикасније тестове који убијају све мутанте.

Како створити програме за мутанте?

Мутација није ништа друго до једна синтаксичка промена која се врши у програмском исказу. Сваки програм мутанта треба да се разликује од оригиналног програма по једној мутацији.

Оригинални програм Мутант Програм
Ако (к> и)
Одштампајте "Хелло"
Елсе
Принт "Хи"
Ако ( к <и )одштампајте "Хелло"
Елсе
Принт "Хи"

Шта променити у програму мутанта?

Постоји неколико техника које се могу користити за генерисање програма мутаната. Погледајмо их

Оператори замене операнда Оператори модификације израза Оператори за измену извештаја
Замените операнд другим операндом (к са и или и са к) или константном вредношћу. Замените оператора или уметање нових оператора у програмски израз. Програмске изјаве су модификоване да би креирале програме мутаната.
Пример-
Ако (к> и) замените к и и вредности
Иф (5> и) замените к константом 5
Пример-
Иф (к == и)
Можемо заменити == у> = и имати мутант програм као
Иф (к> = и) и уметањем ++ у израз
Иф (к == ++ и)
Пример -
Избришите део елсе у наредби иф-елсе
Избришите целу наредбу иф-елсе да бисте проверили како се програм понаша
Неки од оператора мутације узорака:
  • ГОТО замена налепнице
  • Враћање замене извода
  • Брисање изјаве
  • Уно уметање оператора (Лике - и ++)
  • Замена логичког конектора
  • Упоредна замена имена низа
  • Уклањање дела елсе из изјаве иф-елсе
  • Додавање или замена оператора
  • Замена изјаве променом података
  • Измена података за променљиве
  • Модификација типова података у програму

Аутоматизација испитивања мутација:

Тестирање мутација изузетно је дуготрајно и сложено је извршити ручно. Да бисте убрзали процес, препоручљиво је да се одлучите за алате за аутоматизацију. Алати за аутоматизацију такође смањују трошкове испитивања.

Листа доступних алата -

  • Стрикер
  • ПИТ тестирање

Врсте испитивања мутација

У софтверском инжењерству, тестирање мутација могло би се у основи поделити на 3 врсте - мутација изјава, мутација одлуке и мутација вредности.

  1. Изјава Мутација - програмер је исекао и залепио део кода чији би резултат могао бити уклањање неких редова
  2. Мутација вредности - вредности примарних параметара се мењају
  3. Мутација одлуке - контролне изјаве треба променити

Оцена мутације:

Резултат мутације дефинисан је као проценат убијених мутаната са укупним бројем мутаната.

  • Оцена мутације = (Убијени мутанти / Укупан број мутаната) * 100

Тест случајеви су мутације довољни ако је резултат 100%. Експериментални резултати показали су да је тестирање мутација ефикасан приступ за мерење адекватности тест случајева. Али, главни недостатак је висока цена генерирања мутаната и извршавања сваког тест случаја против тог мутантног програма.

Предности испитивања мутација:

Следе предности мутационог тестирања:

  • Моћан је приступ постизању велике покривености изворног програма.
  • Ово тестирање је способно свеобухватно тестирати програм мутаната.
  • Тестирање мутација доноси добар ниво откривања грешака програмеру софтвера.
  • Ова метода открива нејасноће у изворном коду и има капацитет да открије све грешке у програму.
  • Купци имају користи од овог тестирања добијањем најпоузданијег и стабилнијег система.

Мане тестирања мутација:

Са друге стране, следећи су недостаци тестирања мутаната:

  • Тестирање мутација изузетно је скупо и дуготрајно јер постоји много програма за мутирање које треба генерисати.
  • Пошто је дуготрајно, поштено је рећи да се ово тестирање не може обавити без алата за аутоматизацију.
  • Свака мутација имаће исти број тест случајева него онај оригиналног програма. Дакле, можда ће требати тестирати велики број програма мутаната у односу на оригинални пакет за тестирање.
  • Како овај метод укључује промене изворног кода, уопште није применљив за тестирање црне кутије.

Закључак:

Да ли желите исцрпно тестирање ваше пријаве? Одговор је тестирање мутације. То је најопсежнија техника за тестирање програма. Ово је метода којом се проверава ефикасност и тачност програма тестирања за откривање грешака или грешака у систему.