Test Case Prioritization in Unit and Integration Testing: A Shuffled-Frog-Leaping Approach
Source abstract
Abstract
Both unit and integration testing are incredibly crucial for almost any software application because each of them operates a distinct process to examine the product. Due to resource constraints, when software is subjected to modifications, the drastic increase in the count of test cases forces the testers to opt for a test optimization strategy. One such strategy is test case prioritization (TCP). Existing works have propounded various methodologies that re-order the system-level test cases intending to boost either the fault detection capabilities or the coverage efficacy at the earliest. Nonetheless, singularity in objective functions and the lack of dissimilitude among the re-ordered test sequences have degraded the cogency of their approaches. Considering such gaps and scenarios when the meteoric and continuous updations in the software make the intensive unit and integration testing process more fragile, this study has introduced a memetics-inspired methodology for TCP. The proposed structure is first embedded with diverse parameters, and then traditional steps of the shuffled-frog-leaping approach (SFLA) are followed to prioritize the test cases at unit and integration levels. On 5 standard test functions, a comparative analysis is conducted between the established algorithms and the proposed approach, where the latter enhances the coverage rate and fault detection of re-ordered test sets. Investigation results related to the mean average percentage of fault detection (APFD) confirmed that the proposed approach exceeds the memetic, basic multi-walk, PSO, and optimized multi-walk by 21.7%, 13.99%, 12.24%, and 11.51%, respectively.
Source: openalex_inverted_index · Quality: baseline
Research context
OpenAlex topics: Software Testing and Debugging Techniques · Software Reliability and Analysis Research · Software Engineering Research
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
References (32)
Show source-provided references
1. Systematic literature review on test case selection and prioritization: A tertiary study10.3390/app112412121 ↗
2. Lou · Advances in Computers · 2019 · 113 · 110.1016/bs.adcom.2018.10.001 ↗
3. Multifactor algorithm for test case selection and ordering10.21123/bsj.2021.18.2(Suppl.).1056 ↗
4. Hemmati · Advances in Computers · 2019 · 112 · 18510.1016/bs.adcom.2017.12.004 ↗
5. Acceptance testing based test case prioritization10.1080/23311916.2021.1907013 ↗
6. Prioritizing test cases for regression testing10.1109/32.962562 ↗
7. A systematic requirements and risks-based test case prioritization using a fuzzy expert system
8. Incorporating fault-proneness estimations into coverage-based test case prioritization methods10.1016/j.infsof.2020.106269 ↗
9. Test case prioritization approaches in regression testing: A systematic literature review10.1016/j.infsof.2017.08.014 ↗
10. A survey on regression testing using nature-inspired approaches
11. A systematic literature review of test case prioritization using genetic algorithms10.1109/ACCESS.2019.2938260 ↗
12. Shuffled frog-leaping algorithm: A memetic meta-heuristic for discrete optimization10.1080/03052150500384759 ↗
13. A Shuffled frog leap algorithm based test case prioritization technique to perform regression testing
14. Vats · ICT Systems and Sustainability · 2021 · 72110.1007/978-981-15-8289-9_69 ↗
15. Ant colony system with sorting-based local search for coverage-based test case prioritization10.1109/TR.2019.2930358 ↗
16. Coverage-based clustering and scheduling approach for test case prioritization10.1587/transinf.2016EDP7356 ↗
17. Prioritizing dissimilar test cases in regression testing using historical failure data10.5120/ijca2018917970 ↗
18. Cluster-based test cases prioritization and selection technique for agile regression testing
19. Test case prioritization based on path complexity
20. A test case prioritization genetic algorithm guided by the hypervolume indicator10.1109/TSE.2018.2868082 ↗
21. K-step crossover method based on genetic algorithm for test suite prioritization in regression testing10.3897/jucs.65241 ↗
22. Total fault exposing potential based test case prioritization using genetic algorithm10.1007/s41870-018-0117-0 ↗
23. Using memetic algorithms for test case prioritization in model based software testing
24. Value based PSO test case prioritization algorithm10.14569/IJACSA.2017.080149 ↗
25. Multiobjective test case prioritization using test case effectiveness: Multicriteria scoring method10.1155/2021/9988987 ↗
26. Discrete cuckoo search algorithms for test case prioritization10.1016/j.asoc.2021.107584 ↗
27. A bat-inspired algorithm for prioritizing test cases10.1007/s40595-017-0100-x ↗
28. Test case prioritization using firefly algorithm for software testing10.1109/ACCESS.2019.2940620 ↗
29. Prioritizing JUnit test cases without coverage information: an optimization heuristics based approach10.1109/ACCESS.2019.2922387 ↗
30. Test re-prioritization in continuous testing environments
31. Test case prioritization in continuous integration environments: A systematic mapping study10.1016/j.infsof.2020.106268 ↗
32. Multi-level random walk for software test suite reduction10.1109/MCI.2017.2670460 ↗