EvoMaster: A Search-Based System Test Generation Tool

Testing web/enterprise applications is complex and expensive when done manually. Often, software testing takes up to half of the development time and cost for a system. So much testing is needed because the cost of software failure is simply too large: for example, in 2017, 304 software failures (re...

Full description

Bibliographic Details
Authors: Arcuri, Andrea, Galeotti, Juan Pablo, Marculescu, Bogdan, Zhang, Man
Format: article
Status:Published version
Publication Date:2021
Country:Argentina
Institution:Consejo Nacional de Investigaciones Científicas y Técnicas
Repository:CONICET Digital (CONICET)
Language:English
OAI Identifier:oai:ri.conicet.gov.ar:11336/174164
Online Access:http://hdl.handle.net/11336/174164
Access Level:Open access
Keyword:OPENAPI
REST API
SWAGGER
JUNIT
https://purl.org/becyt/ford/2.2
https://purl.org/becyt/ford/2
Description
Summary:Testing web/enterprise applications is complex and expensive when done manually. Often, software testing takes up to half of the development time and cost for a system. So much testing is needed because the cost of software failure is simply too large: for example, in 2017, 304 software failures (reported in the media) impacted 3.6 billion people and $1.7 trillion in assets worldwide (Tricentis, 2017). Unfortunately, due to its high cost, software testing is often left incomplete, and only applied partially.To address this problem, in Software Engineering (SE) research a lot of effort has been spent in trying to design and implement novel techniques aimed at automating several different tasks, where software testing is among the most studied tasks. Search-Based Software Test- ing (SBST) (Harman et al., 2012) casts the problem of software testing as an optimization problem, aimed at, for example, maximizing code coverage and fault detection.Our SBST tool called EvoMaster addresses these challenges by using evolutionary techniques to automatically generate test cases. It currently focuses on RESTful web services, which are the pillars of modern web and enterprise applications (Allamaraju, 2010; Fielding, 2000).