Hjem Udvikling Hvad er mutationstest? - definition fra techopedia

Hvad er mutationstest? - definition fra techopedia

Indholdsfortegnelse:

Anonim

Definition - Hvad betyder mutationstest?

Mutationstest er en metode til softwaretestning, hvor program eller kildekode bevidst manipuleres, efterfulgt af pakke af test mod den muterede kode. De mutationer, der introduceres til kildekoden, er designet til at efterligne almindelige programmeringsfejl. En god enhedstest suite registrerer typisk programmutationerne og mislykkes automatisk.


Mutationstest bruges på mange forskellige platforme, herunder Java, C ++, C # og Ruby.

Techopedia forklarer Mutation Testing

Mutationstest er en enkel, men genial metode, der bruges til at validere kildekodens korrekthed og testprocessen. Konceptet blev først opfundet af Richard Lipton i 1971, og der har været en voldsom stigning siden den tid.


Mutationstests arbejdsmekanisme er enkel og ligetil. Der vælges et stykke kildekode, der omfatter alle enhedstest. Efter at have verificeret alle positive test for en given kildekode, introduceres en mutation i programmet.


Graden af ​​mutation, der anvendes på en given kodeblok, kan variere. En almindelig implementering af mutationstest involverer udskiftning af en logisk operator med dens inverse. For eksempel bruges operator "! =" I stedet for "= =." I nogle tilfælde involverer mutation omarrangering af linjer for at ændre eksekveringsrækkefølgen eller endda slette et par kodelinjer. Komplekse mutationstestniveauer kan resultere i kompilationsfejl.


Når et program er modificeret, udføres en pakke enhedsforsøg mod den muterede kode. Den muterede kode passerer eller mislykkes enhedstesten, afhængigt af testkvaliteten. En velskrevet enhedstest skal detektere muterede kodefejl, hvilket resulterer i fejl. En enhedstest, der ikke registrerer kodefejl, kan kræve en omskrivning.


Mutationstest letter følgende fordele:

  • Identifikation af programkodefejl
  • Effektiv udvikling af test case
  • Påvisning af smuthuller i testdata
  • Forbedret softwareprograms kvalitet
  • Fjernelse af kodetydighed

Ulemper ved mutationstest inkluderer:

  • Svær implementering af komplekse mutationer
  • Dyrt og tidskrævende
  • Kræver dygtige testere med programmeringskendskab

Hvad er mutationstest? - definition fra techopedia