Abstract-Snarare än skrivning enhet tester manuellt, kan verktyg användas för att generera dem automatiskt - ibland även resultera i högre kod täckning än manuell testning. Men hur bra är de här proven på att hitta fel? För att besvara denna fråga använde vi tre state-of-the-art enhet testgenereringsverktyg för Java (Randoop, EvoSuite och Agitar) på 357 verkliga fel i datauppsättningen Defects4J och undersökte hur väl de genererade testsviterna presterar för att upptäcka dessa fel. Även om de automatiskt genererade testsviterna upptäckte 55,7% av de totala felen, upptäckte endast 19,9% av alla individuella testsviter ett fel. Genom att studera effektiviteten och problemen med de enskilda verktygen och de tester de genererar, får vi insikter för att stödja utvecklingen av automatiserade enhetstestgeneratorer som uppnår en högre feldetekteringshastighet. Dessa insikter inkluderar 1) att förbättra den erhållna kod täckning så att felaktiga uttalanden utförs i första instans, 2) att förbättra spridningen av felaktiga program tillstånd till en observerbar utgång, i kombination med generering av mer känsliga påståenden, och 3) att förbättra simuleringen av exekveringsmiljön för att upptäcka fel som är beroende av externa faktorer såsom datum och tid.
På liknande sätt, Shamshiri et al. REF undersökte feldetekteringsförmågan hos automatiskt genererade tester jämfört med de manuellt skrivna.
Do Automatically Generated Unit Tests Find Real Faults? An Empirical Study of Effectiveness and Challenges (T)
{'venue': '2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)', 'journal': '2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)', 'mag_field_of_study': ['Computer Science']}