Abstract-The test case generation är i sig ett multi-objektivt problem, eftersom målet är att täcka flera testmål (t.ex., grenar). Befintliga sökbaserade tillvägagångssätt antingen överväga ett mål i taget eller aggregera alla mål till en enda funktion (helsuite tillvägagångssätt). Multi- och många-objektiva optimeringsalgoritmer (MOAs) har aldrig tillämpats på detta problem, eftersom befintliga algoritmer inte skala till antalet täckningsmål som vanligtvis finns i verkliga programvara. Dessutom är det slutliga målet för MOAs att hitta alternativa kompromisslösningar i det objektiva utrymmet, medan de intressanta lösningarna i testgenerationen endast är de testfall som täcker ett eller flera mål. I detta dokument presenterar vi Dynamic Many-Thare Sorting Algorithm (DynaMOSA), en ny multiobjektiv lösare speciellt utformad för att ta itu med problemet med testfallsgenerering i samband med täckningstestning. DynaMOSA utökar vår tidigare mångobjektiva teknik Många målsortering Algoritm (MOSA) med ett dynamiskt urval av täckningsmål baserat på kontrollberoendehierarkin. En sådan utvidgning gör tillvägagångssättet mer effektivt och ändamålsenligt vid begränsad genomsökningsbudget. Vi genomförde en empirisk studie på 346 Javaklasser med hjälp av tre täckningskriterier (dvs. uttalande, gren och stark mutationstäckning) för att bedöma resultatet av DynaMOSA med avseende på hela suite-metoden (WS), dess arkivbaserade variant (WSA) och MOSA. Resultaten visar att DynaMOSA överträffar WSA i 28 procent av klasserna för filialtäckning (+8 procent mer täckning i genomsnitt) och i 27 procent av klasserna för mutationstäckning (+11 procent fler dödade mutanter i genomsnitt). Det överträffar WS i 51 procent av klasserna för redovisning täckning, vilket leder till +11 procent mer täckning i genomsnitt. Dessutom överträffar DynaMOSA sin föregångare MOSA för alla de tre täckningskriterierna i 19 procent av klasserna med +8 procent mer kodtäckning i genomsnitt.
Panichella m.fl. REF förbättrade MOSA-algoritmen genom att presentera DynaMOSA, en variant som fokuserar sökningen på en delmängd av mål som upptäckts baserat på kontrollberoendehierarkin.
Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets
{'venue': 'IEEE Transactions on Software Engineering', 'journal': 'IEEE Transactions on Software Engineering', 'mag_field_of_study': ['Computer Science']}