Abstract

Software testing and retesting occurs continuously during the software development lifecycle to detect errors as early as possible. As the software evolves the size of test suites also grows. When the no of test cases generated are more, obviously size of the test suite will also be more. So the testing time is to be minimized by reducing the execution time of the algorithm used for test data generation and also by introducing minimization procedure for test suite reduction. Due to limited resources and timing constraints for testing, test suite minimization techniques are needed to eliminate redundant test cases as possible. By considering multiple objectives rather than the coverage alone, the test cases are being generated which satisfies the testing requirements. Most of the existing techniques are code-based. In this article we present an approach by modifying an existing heuristic for test suite minimization. Genetic algorithm has been used for random test data generation and the output of GA is given to the minimization procedure for reducing the total no of generated test cases, collectively named as Hybrid Algorithm (HA). The results are satisfactory and show significant improvements in reducing test suite size with minimum execution time. Experiments have been done for simple to medium complexity java programs taken from SIR and execution time is reduced to 5,685ms for a test set. The results are compared with existing method Mutant Gene Algorithm and size of test suite is minimized upto 13.6% using Hybrid Algorithm.

Highlights

  • Software testing involves identifying the test cases which detect errors in the program

  • Over several versions of software development, some test cases in the test suite may become redundant with respect to the testing requirements; these are satisfied by other test cases in the suite that were added to cover modifications in the later versions of software

  • The data taken for result analysis includes both c++ and java programs that are given in the data set

Read more

Summary

Introduction

Software testing involves identifying the test cases which detect errors in the program. Genetic algorithms solve many search and optimization problems, effectively. The optimized test vector is generated, which enhances the fault coverage and improve the global search. In order to generate optimized set of test cases, genetic algorithm is used so that more number of faults can be detected with the minimum number of test cases. The main advantage of evolutionary algorithms, when applied to solve multi-objective optimization problems, is the fact that they typically optimize sets of solutions, allowing computation of an approximation of the entire Pareto front in a single algorithm run. Minimization of test suites may result in significant fault detection loss. Minimization procedures have to be developed by considering the objectives like maximize fault coverage, minimizing no of test cases, maximizing condition coverage, minimize execution time, minimize cost, and so on simultaneously.

Related work
Motivation for the work
Problem objective
Proposed Work
Input Representation
Test Data Generation
Tournament Selection
Arithmetic crossover
Multi-point random mutation
Implementation of Minimization Algorithm
Inputs for Minimization Procedure
Optimization Technique used for minimizing test cases
Experimental Results
Data Set
Result Analysis
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.