Litcius/Paper detail

Enhancing Search-based Testing with Testability Transformations for Existing APIs

Andrea Arcuri, Juan Pablo Galeotti

2021ACM Transactions on Software Engineering and Methodology33 citationsDOIOpen Access PDF

Abstract

Search-based software testing (SBST) has been shown to be an effective technique to generate test cases automatically. Its effectiveness strongly depends on the guidance of the fitness function. Unfortunately, a common issue in SBST is the so-called flag problem , where the fitness landscape presents a plateau that provides no guidance to the search. In this article, we provide a series of novel testability transformations aimed at providing guidance in the context of commonly used API calls (e.g., strings that need to be converted into valid date/time objects). We also provide specific transformations aimed at helping the testing of REST Web Services. We implemented our novel techniques as an extension to EvoMaster , an SBST tool that generates system-level test cases. Experiments on nine open-source REST web services, as well as an industrial web service, show that our novel techniques improve performance significantly.

Topics & Concepts

Computer scienceTestabilityWeb serviceContext (archaeology)SoftwareSoftware engineeringArtificial intelligenceMachine learningData miningProgramming languageReliability engineeringBiologyEngineeringPaleontologySoftware Testing and Debugging TechniquesSoftware Engineering ResearchAdvanced Malware Detection Techniques