Abstract
Regression testing makes sure that upgradation of software in terms of adding new features or for bug fixing purposes should not hamper previously working functionalities. Whenever a software is upgraded or modified, a set of test cases are run on each of its functions to assure that the change to that function is not affecting other parts of the software that were previously running flawlessly. For achieving this, all existing test cases need to run as well as new test cases might be required to be created. It is not feasible to reexecute every test case for all the functions of a given software, because if there is a large number of test cases to be run, then a lot of time and effort would be required. This problem can be addressed by prioritizing test cases. Test case prioritization technique reorders the priority in which test cases are implemented, in an attempt to ensure that maximum faults are uncovered early on by the high priority test cases implemented first. In this paper we propose an optimized test case prioritization technique using Ant Colony Optimization (ACO) to reduce the cost, effort and time taken to perform regression testing and also uncover maximum faults. Comparison of different techniques such as Retest All, Test Case Minimization, Test Case Prioritization, Random Test Case Selection and Test Case Prioritization using ACO is also depicted.
Highlights
No matter how well a software is designed and tested before being released, it will eventually have to be modified for either adding new features or to fix the bugs in the current version
Test case prioritization technique reorders the priority in which test cases are implemented, in an attempt to ensure that maximum faults are uncovered early on by the high priority test cases implemented first
In this paper we propose an optimized test case prioritization technique using Ant Colony Optimization (ACO) to reduce the cost, effort and time taken to perform regression testing and uncover maximum faults
Summary
No matter how well a software is designed and tested before being released, it will eventually have to be modified for either adding new features or to fix the bugs in the current version. Regression test suites are often the test cases that had been previously developed, and that have been saved so that they can be used later to perform regression testing [4]. It is an important and necessary activity as it maintains the quality of modified software systems. Minimization of test cases may require discarding of few test cases whereas prioritization of test cases gives an execution order of test cases such that all higher priority test cases are executed based on the selection criteria thereby reducing the probability of degradation in software components quality
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have