Automatic Test Data Generation är en mycket populär domän inom området Sökbaserad Software Engineering. Traditionellt har huvudmålet varit att maximera täckningen. Andra mål kan dock definieras, t.ex. orakelkostnaden, som är kostnaden för att genomföra hela testsviten och kostnaden för att kontrollera systemets beteende. I mycket stora programvarusystem kan kostnaderna för att testa systemet vara ett problem, och då är det vettigt att överväga två motstridiga mål: att maximera täckningen och minimera kostnaden för oraklet. Detta är vad vi gör i denna tidning. Vi jämför huvudsakligen två metoder för att hantera problemet med flermålstestdatagenerering: en direkt multi-objektiv metod och en kombination av en mono-objektiv algoritm tillsammans med multi-objektiv testfallsoptimering. Konkret, i detta arbete använder vi fyra state-of-the-art multi-objektive algoritmer och två mono-objektive evolutionära algoritmer följt av en multi-objektive test fall val baserat på Pareto effektivitet. Den experimentella analysen jämför dessa tekniker på två olika riktmärken. Den första består av 800 javaprogram som skapas genom en programgenerator. Det andra riktmärket består av 13 verkliga program som hämtats ur litteraturen. I den direkta multi-objektiva metoden tyder resultaten på att orakelkostnaden kan optimeras på rätt sätt, men systemets fulla täckning utgör en stor utmaning. När det gäller de monoobjektiva algoritmerna behöver de en andra fas av urval av testfall för att minska kostnaden för oraklet, men de är mycket effektiva när det gäller att maximera filialens täckning.
Ferrer m.fl. I Ref föreslogs ett flerobjektivt tillvägagångssätt som samtidigt tar hänsyn till kodtäckning och orakelkostnader.
Evolutionary Algorithms for the Multi-Objective Test Data Generation Problem
{'venue': 'Softw. Pract. Exp.', 'journal': 'Softw. Pract. Exp.', 'mag_field_of_study': ['Computer Science']}