Abstract

Regression testing is performed to see if any changes introduced in software will not affect the rest of functional software parts. It is inefficient to re-execute all test cases every time the changes are made. In this regard test cases are prioritized by following some criteria to perform efficient testing while meeting limited testing resources. In our research we have proposed value based particle swarm intelligence algorithm for test case prioritization. The aim of our research is to detect maximum faults earlier in testing life cycle. We have introduced the combination of six prioritization factors for prioritization. These factors are customer priority, Requirement volatility, implementation complexity, requirement traceability, execution time and fault impact of requirement. This combination of factors has not been used before for prioritization. A controlled experiment has been performed on three medium size projects and compared results with random prioritization technique. Results are analyzed with the help of average percentage of fault detection (APFD) metric. The obtained results showed our proposed algorithm as more efficient and robust for earlier rate of fault detection. Results are also revalidated by proposing our new validation equation and showed consistent improvement in our proposed algorithm.

Highlights

  • Regression testing is the process of testing software after any functional or non-functional changes

  • We propose to achieve our goal by an earlier fault detection using value based test case prioritization

  • Considering the Project 1, we report that we obtain 42 % fault detection via Particle swarm optimization (PSO) after executing 40% of test cases; and we detect 24% faults through random technique

Read more

Summary

Introduction

Regression testing is the process of testing software after any functional or non-functional changes. One popular approach is to select some of the test cases randomly from the entire testing range but it is not a wise option when high quality software is required [20]. Another feasible option is test case prioritization technique that involves the reordering test cases in a way to achieve certain goal. These goals can be achieving maximum code coverage or to expose maximum faults in earlier time or reduction of cost. Test case prioritization implies eliminates the need to run the entire test case set and only some selective test cases achieve the goals required

Objectives
Results
Conclusion
Full Text
Published version (Free)

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