En bra testsvit är en som upptäcker riktiga fel. Eftersom uppsättningen fel i ett program vanligtvis är ovetande, är denna definition inte användbar för utövare som skapar testsviter, inte heller för forskare som skapar och utvärderar verktyg som genererar testsviter. I stället för verkliga fel, testa forskning använder ofta mutanter, som är konstgjorda fel - var och en en en enkel syntaktisk variation - som systematiskt sås genom hela programmet under test. Mutation analys är tilltalande eftersom ett stort antal mutanter kan genereras automatiskt och användas för att kompensera för låga mängder eller avsaknad av kända verkliga fel. Tyvärr finns det få experimentella bevis för att stödja användningen av mutanter som ersättning för verkliga fel. I detta dokument undersöks om mutanter verkligen är en giltig ersättning för verkliga fel, dvs. om en testsvits förmåga att upptäcka mutanter är korrelerad med dess förmåga att upptäcka verkliga fel som utvecklarna har åtgärdat. Till skillnad från tidigare studier tar dessa undersökningar också uttryckligen hänsyn till de sammanflätande effekterna av kodtäckning på detektionshastigheten hos mutanter. Våra experiment använde 357 verkliga fel i 5 open-source applikationer som omfattar totalt 321000 rader kod. Dessutom använde våra experiment både utvecklar-skrivna och automatiskt genererade testsviter. Resultaten visar en statistiskt signifikant korrelation mellan mutationsdetektering och verklig feldetektering, oberoende av kodtäckning. Resultaten ger också konkreta förslag på hur man kan förbättra mutationsanalys och avslöja vissa inneboende begränsningar.
Bara ett par stycken. REF korrelerad mutationsdetektering och verklig feldetektering med hjälp av automatiskt och manuellt genererade testsviter.
Are mutants a valid substitute for real faults in software testing?
{'venue': 'FSE 2014', 'journal': None, 'mag_field_of_study': ['Computer Science']}