journal article·2023Open access

Value-Based Test Case Prioritization for Regression Testing Using Genetic Algorithms

Farrukh Shahzad Ahmed, Awais Majeed, Tamim Ahmed Khan

Computers, Materials & Continua· Volume 74· Issue 1

Abstract

Test Case Prioritization (TCP) techniques perform better than other regression test optimization techniques including Test Suite Reduction (TSR) and Test Case Selection (TCS). Many TCP techniques are available, and their performance is usually measured through a metric Average Percentage of Fault Detection (APFD). This metric is value-neutral because it only works well when all test cases have the same cost, and all faults have the same severity. Using APFD for performance evaluation of test case orders where test cases cost or faults severity varies is prone to produce false results. Therefore, using the right metric for performance evaluation of TCP techniques is very important to get reliable and correct results. In this paper, two value-based TCP techniques have been introduced using Genetic Algorithm (GA) including Value-Cognizant Fault Detection-Based TCP (VCFDB-TCP) and Value-Cognizant Requirements Coverage-Based TCP (VCRCB-TCP). Two novel value-based performance evaluation metrics are also introduced for value-based TCP including Average Percentage of Fault Detection per value (APFDv) and Average Percentage of Requirements Coverage per value (APRCv). Two case studies are performed to validate proposed techniques and performance evaluation metrics. The proposed GA-based techniques outperformed the existing state-of-the-art TCP techniques including Original Order (OO), Reverse Order (REV-O), Random Order (RO), and Greedy algorithm.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Software Testing and Debugging Techniques · Software Reliability and Analysis Research · VLSI and Analog Circuit Testing

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (48)

Show source-provided references
1. An insight into test case optimization: Ideas and trends with future perspectives10.1109/ACCESS.2019.2899471 ↗
2. Prioritizing test cases for regression testing10.1109/32.962562 ↗
3. Risk-based test case prioritization by correlating system methods and their associated risks10.1007/s13369-020-04472-z ↗
4. An empirical comparison of fixed-strength and mixed-strength for interaction coverage-based prioritization10.1109/ACCESS.2018.2879638 ↗
5. Search algorithms for regression test case prioritization10.1109/TSE.2007.38 ↗
6. Incorporating varying test costs and fault severities into test case prioritization
7. A systematic literature review of test case prioritization using genetic algorithms10.1109/ACCESS.2019.2938260 ↗
8. An assessment of operational coverage as both an adequacy and a selection criterion for operational profile-based testing10.1007/s11219-017-9388-0 ↗
9. Test generation and test prioritization for simulink models with dynamic behavior10.1109/TSE.2018.2811489 ↗
10. Test case prioritization using firefly algorithm for software testing10.1109/ACCESS.2019.2940620 ↗
11. sOrTES: A supportive tool for stochastic scheduling of manual integration test cases10.1109/ACCESS.2019.2893209 ↗
12. Prioritizing JUnit test cases without coverage information: An optimization heuristics-based approach10.1109/ACCESS.2019.2922387 ↗
13. Ant colony system with sorting-based local search for coverage-based test case prioritization
14. Prioritizing dissimilar test cases in regression testing using historical failure data10.5120/ijca2018916258 ↗
15. To be optimal or not in test-case prioritization10.1109/TSE.2015.2496939 ↗
16. Epistasis based ACO for regression test case prioritization10.1109/TETCI.2017.2699228 ↗
17. Test case prioritization using lexicographical ordering10.1109/TSE.2016.2550441 ↗
18. A multi-objective technique to prioritize test cases10.1109/TSE.2015.2510633 ↗
19. Abu Hasan · International Conference on Information, Communication and Computing Technology · 2017 · 750 · 26910.1007/978-981-10-6544-6_25 ↗
20. A static approach to prioritizing JUnit test cases10.1109/TSE.2011.106 ↗
21. Development test case prioritization technique in regression testing based on hybrid criteria
22. Input-based adaptive randomized test case prioritization: A local beam search approach10.1016/j.jss.2015.03.066 ↗
23. FAST approaches to scalable similarity-based test case prioritization
24. Regression testing in the presence of non-code changes
25. An empirical study on clustering approach combining fault prediction for test case prioritization
26. Total coverage-based regression test case prioritization using genetic algorithm
27. Test case analytics: Mining test case traces to improve risk-driven testing
28. TITAN: Test suite optimization for highly configurable software
29. Machine learning-driven test case prioritization approaches for black-box software testing
30. Optimized regression test using test case prioritization10.1016/j.procs.2016.03.020 ↗
31. Employing lexicalized dependency paths for active learning of relation extraction10.32604/iasc.2022.030794 ↗
32. Lexicalized dependency paths based supervised learning for relation extraction10.32604/csse.2022.030759 ↗
33. A bat-inspired algorithm for prioritizing test cases10.1007/s40595-017-0100-x ↗
34. Multi-perspective regression test prioritization for time-constrained environments
35. QTEP: Quality-aware test case prioritization
36. Combinatorial test set prioritization using data flow techniques10.1007/s13369-017-2631-y ↗
37. Value based PSO test case prioritization algorithm10.14569/IJACSA.2017.080149 ↗
38. Test case prioritization: A systematic mapping study10.1007/s11219-012-9181-z ↗
39. Boehm · Value-Based Software Engineering · 2006 · 310.1007/3-540-29263-2_1 ↗
40. Ramler · Value-Based Software Engineering · 2006 · 22510.1007/3-540-29263-2_11 ↗
41. Value-based cost-cognizant test case prioritization for regression testing10.1371/journal.pone.0264972 ↗
42. Prioritizing test cases for regression testing
43. Luque · Parallel genetic algorithms: Theory and real-world applications · 201110.1007/978-3-642-22084-5 ↗
44. Search-based techniques applied to optimization of project planning for a massive maintenance project
45. Multi-objective test case prioritization using improved pareto-optimal clonal selection algorithm10.1007/s13319-018-0182-y ↗
46. Cost saving and quality of care in a pediatric accountable care organization10.1542/peds.2014-2725 ↗
47. Static test case prioritization using topic models10.1007/s10664-012-9219-7 ↗
48. Pareto efficient multi-objective test case selection