INES – National Institute of Science and Technology for Software Engineering

RSS feed


December 2021
« Nov    

  • Search-based test case selection

    Publicado em August 28th, 2013Uncategorized

    Software testing is essential to guarantee high quality products. However, it is a very expensive activity, particularly when manually performed. Several techniques and tools have been proposed to automate or optimize software testing tasks, from test generation to its execution. Regarding automatic Test Case (TC) generation, we can identify tools which generate test suites from some software artifact (such as code, functional requirements, or use cases). These tools generate TCs in a systematic way, aiming to provide a good coverage of the testing adequacy criterion – e.g., requirement/piece of code. As such, the generated test suites are usually too large to be executed within the available resources (tools, time, people).

    Yet, since large test suites usually contain redundancies -i.e., two or more TC covering the same requirement/piece of code, it is possible to reduce them in order to respect time/people constraints without severely compromising the coverage of the test adequacy criterion being observed. The task of reducing a test suite based on some selection criterion is known as “Test Case selection”. Note that the test selection criterion depends on the test adequacy criterion being used.

    Automatic Test Case selection is commonly treated as an optimization problem, whose aim is to find a subset of TCs which optimizes one or more objective functions (i.e., selection criteria). In other words, the selected subset should maximize the coverage of the chosen test adequacy criteria.

    In this light, this project investigates search-based strategies to select an adequate subset of a given test suite considering both, functional requirements coverage (quality of the resultant suite), and execution effort (time/cost of the selected subset). We investigate here two different search-based strategies: (1) Constrained TC selection; and (2) Multi-objective TC selection. In the former approach, we formulate the TC selection problem as a constrained search-based task, using requirements coverage as the fitness function to be maximized, and the execution effort (time) of the selected TCs as a constraint in the search process. In the latter approach, TC selection is formulated as multi-objective search-based task which considers two objectives simultaneously: maximize requirements coverage while minimizing cost in terms of TC execution effort.

    In both approaches, we use the Particle Swarm Optimization (PSO) algorithm, which is simple and efficient when compared to other widespread search techniques (such as Genetic Algorithms, for instance). PSO is a promising optimization approach which was not yet investigated for this problem. Besides our previous works, we did not find any other proposals using PSO for TC selection, neither we found solutions treating this task as a constrained/multi-objective optimization problem.

    Keywords: Software TestingSearch-based Optimization Test Case SelectionSearch-based software engineering.

    Research team: Flávia de Almeida Barros; Ricardo Bastos C. Prudêncio; Eduardo Henrique S. Aranha; Luciano Soares de Souza; Péricles Barbosa Miranda.

Leave a Reply

You must be logged in to post a comment.