Mutationstester är ett sätt att bedöma effektiviteten hos en testsvit och resultatet anses vara mer meningsfullt än mätvärden för kodtäckning. Trots flera optimeringar kräver dock mutationstestning en betydande beräkningsinsats och har inte antagits i stor utsträckning inom industrin. Därför studerar vi i detta dokument om testeffektiviteten kan approximeras med hjälp av en mer lättviktsstrategi. Vi antar att ett testfall är mer benägna att upptäcka fel i metoder som ligger nära testfallet på anropsstacken än i metoder som testfallet indirekt kommer åt genom många andra metoder. Baserat på denna hypotes föreslår vi det minimala stackavståndet mellan testfall och metod som en ny testmått, som uttrycker hur nära ett testfall kommer en viss metod, och studera dess korrelation med testeffektivitet. Vi genomförde en empirisk studie med 21 öppna projekt, som omfattar totalt 1,8 miljoner LOC, och visar att det finns ett samband mellan stackavstånd och testeffektivitet. Sambandet når en styrka upp till 0,58. Vi visar vidare att en klassificeringsgivare som använder den minimala stacksträckan tillsammans med ytterligare enkla beräkningsbara åtgärder kan förutsäga mutationstestets resultat med en metod med 92,9% precision och 93,4% recall. En sådan klassificering kan därför beaktas som ett lättviktsalternativ till mutationstest eller som ett tidigare, mindre kostsamt steg i förhållande till detta. • Programvara och dess konstruktion → Programmering och felsökning; KEYWORDS programvara testning • Testeffektivitet • Testmått • minimal stack avstånd • mutation test förutsägelse
Nyligen visade Niedermayr och Wagner REF en korrelation mellan stackavståndet från testkoden till den pseudotestade metoden och testeffektiviteten.
Is the Stack Distance Between Test Case and Method Correlated With Test Effectiveness?
{'venue': '2019 ACM 23rd International Conference on Evaluation and Assessment in Software Engineering (EASE)', 'journal': None, 'mag_field_of_study': ['Computer Science']}