2dix-The Student Choice
Log in Register now

Research Paper on Cost-cognizant Test Case Prioritization

1 Introduction
2 Background
2.1 Regression Testing
2.1.1 Retest-all
2.1.2 Regression Test Selection
2.1.3 Test Suite Reduction
2.1.4 Test Case Prioritization
2.2 The Test Case Prioritization Problem
2.3 Measuring Effectiveness
3 A New Approach to Test Case Prioritization
3.1 Limitations of the APFD Metric
3.2 A New Cost-cognizant Metric
3.3 Estimating Test Costs
3.4 Estimating Fault Severities
3.5 Using Scales to Assign Test Costs and Fault Severities
3.6 Cost-cognizant Test Case Prioritization Techniques
3.6.1 Total Function Coverage Prioritization (fn-total)
3.6.2 Additional Function Coverage Prioritization (fn-addtl)
3.6.3 Total Function Difference-based Prioritization (fn-diff-total)
3.6.4 Additional Function Difference-based Prioritization (fn-diff-addtl)
4 A Formative Case Study
4.1 Study Setting
4.1.1 Selecting an Object of Study
4.1.2 Inserting and Detecting Regression Faults
4.1.3 Calculating Fault Severity
4.1.4 Calculating Test Case Criticality
4.1.5 Calculating Test Cost
4.1.6 Obtaining Coverage and Difference Information
4.2 Design
4.2.1 Test Cost and Fault Severity Scales
4.2.2 Variables
4.2.3 Procedures
4.3 Limitations
4.4 Results and Discussion
4.4.1 Cost-cognizant Prioritization has Greater Rate of Fault Detection: Case #1
4.4.2 Cost-cognizant Prioritization has Greater Rate of Fault Detection: Scenario #2
4.4.3 Non-cost-cognizant Prioritization has Greater Rate of Fault Detection: Case #1
4.4.4 Non-cost-cognizant Prioritization has Greater Rate of Fault Detection: Case #2
4.4.5 Summary of Insights
5 Conclusions and Future Work
Acknowledgments
References

1 Introduction-
                          Regression testing is an expensive testing process used to detect regression faults [30]. Regression test suites are often simply test cases that software engineers have previously developed, and that have been saved so that they can be used later to perform regression testing. One approach to regression testing is to simply rerun entire regression test suites; this approach is referred to as the retest-all approach [25]. The retest-all approach, however, can be expensive in practice: for example, one industrial collaborator reports that for one of its products of about 20,000 lines of code, the entire test suite requires seven weeks to run. In such cases, testers may want to order their test cases such that those with the highest priority, according to some criterion, are run earlier than those with lower priority. Test case prioritization techniques [9, 10, 11, 39, 40, 44] schedule test cases in an order that increases their effectiveness at meeting some performance goal. For example, test cases might be scheduled in an order that achieves code coverage as quickly as possible, exercises features in order of frequency of use, or reflects their historically observed abilities to detect faults.

Read Complete Below------>

comments (1)

avatar