journal article·2021Open access

An Ontology Based Test Case Prioritization Approach in Regression Testing

Muhammad Hasnain, Seung Ryul Jeong, Muhammad Fermi Pasha, Imran Ghani

Computers, Materials & Continua· Volume 67· Issue 1

Abstract

Regression testing is a widely studied research area, with the aim of meeting the quality challenges of software systems. To achieve a software system of good quality, we face high consumption of resources during testing. To overcome this challenge, test case prioritization (TCP) as a sub-type of regression testing is continuously investigated to achieve the testing objectives. This study provides an insight into proposing the ontology-based TCP (OTCP) approach, aimed at reducing the consumption of resources for the quality improvement and maintenance of software systems. The proposed approach uses software metrics to examine the behavior of classes of software systems. It uses Binary Logistic Regression (BLR) and AdaBoostM1 classifiers to verify correct predictions of the faulty and non-faulty classes of software systems. Reference ontology is used to match the code metrics and class attributes. We investigated five Java programs for the evaluation of the proposed approach, which was used to achieve code metrics. This study has resulted in an average percentage of fault detected (APFD) value of 94.80%, which is higher when compared to other TCP approaches. In future works, large sized programs in different languages can be used to evaluate the scalability of the proposed OTCP approach.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Software Testing and Debugging Techniques · Software Engineering Research · Software Reliability and Analysis Research

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

References (70)

Show source-provided references
1. Multi-objective optimization for regression testing10.1016/j.ins.2015.11.027 ↗
2. Cost-effective regression testing through adaptive test prioritization strategies10.1016/j.jss.2016.01.018 ↗
3. Test case prioritization in continuous integration environments: A systematic mapping study
4. Search-based test case prioritization for simulation-based testing of cyber-physical system product lines10.1016/j.jss.2018.09.055 ↗
5. On the use of usage patterns from telemetry data for test case prioritization10.1016/j.infsof.2019.05.008 ↗
6. Ontology-based approach to extract product’s design features from online customers’ reviews10.1016/j.compind.2019.103175 ↗
7. Overcoming business process reengineering obstacles using ontology-based knowledge map methodology10.1016/j.fcij.2017.10.006 ↗
8. Assessing the quality of domain ontologies: Metrics and an automated ranking system10.1016/j.datak.2018.02.001 ↗
9. Ontology-based test generation for automated and autonomous driving functions10.1016/j.infsof.2019.106200 ↗
10. Ontology based test case generation for black box testing
11. Risk assessment and adaptive group testing of semantic web services10.1142/S0218194012500167 ↗
12. A compact brain storm algorithm for matching ontologies10.1109/ACCESS.2020.2977763 ↗
13. SNOMED CT standard ontology based on the ontology for general medical science10.1186/s12911-018-0651-5 ↗
14. Analyzing and documenting the systematic review results of software testing ontologies10.1016/j.infsof.2020.106298 ↗
15. Relational-model based change management for non-functional requirements: Approach and experiment
16. Zhu · Advanced Web Services · 2014 · 17110.1007/978-1-4614-7535-4_8 ↗
17. Modeling ontologies in software testing
18. Validation test case generation based on safety analysis ontology10.1016/j.anucene.2012.02.001 ↗
19. Regression tests provenance data in the continuous software engineering context
20. Knowledge management initiatives in software testing: A mapping study10.1016/j.infsof.2014.05.016 ↗
21. Regression testing for large-scale embedded software development-exploring the state of practice10.1016/j.infsof.2019.106254 ↗
22. Regression test case prioritization by code combinations coverage10.1016/j.jss.2020.110712 ↗
23. Test case prioritization: An empirical study
24. Adaptive random test case prioritization
25. A requirement ontology for engineering design10.1177/1063293X9600400307 ↗
26. Validation of ontology based test case generation for graphical user interface
27. Regression testing minimization, selection and prioritization: A survey10.1002/stv.430 ↗
28. Test case prioritization of build acceptance tests for an enterprise cloud application: An industrial case study10.1016/j.jss.2016.06.017 ↗
29. Multi-objective test case prioritization in highly configurable systems: A case study10.1016/j.jss.2016.09.045 ↗
30. Requirements based test prioritization using risk factors: An industrial study10.1016/j.infsof.2015.09.002 ↗
31. To be optimal or not in test-case prioritization10.1109/TSE.2015.2496939 ↗
32. Software metrics fluctuation: A property for assisting the metric selection process10.1016/j.infsof.2015.12.010 ↗
33. Software defect prediction using stacked de-noising auto-encoders and two-stage ensemble learning10.1016/j.infsof.2017.11.008 ↗
34. Using ontology patterns for building a reference software testing ontology
35. Ontology for knowledge management in software maintenance10.1016/j.ijinfomgt.2014.06.005 ↗
36. A semantic based web page classification strategy using multi-layered domain ontology10.1007/s11280-016-0415-z ↗
37. Lytvyn · Advances in Intelligent Systems and Computing · 2017 · 22910.1007/978-3-319-45991-2_15 ↗
38. An empirical study of some software fault prediction approaches for the number of faults prediction10.1007/s00500-016-2284-x ↗
39. On the ability of complexity metrics to predict fault-prone classes in object-oriented systems10.1016/j.jss.2009.11.704 ↗
40. A bat-inspired algorithm for prioritizing test cases10.1007/s40595-017-0100-x ↗
41. Maven Repository, What’s new in Maven. [Online]. Available: https://mvnrepository.com/.
42. Toward a cybercrime classification ontology: A knowledge-based approach10.1016/j.chb.2018.11.039 ↗
43. An empirical study based on semi-supervised hybrid self-organizing map for software fault prediction10.1016/j.knosys.2014.10.017 ↗
44. Iterative software fault prediction with a hybrid approach10.1016/j.asoc.2016.08.025 ↗
45. Classification with reject option for software defect prediction10.1016/j.asoc.2016.06.023 ↗
46. Erdogmus · Advances in Software Engineering: Comprehension, Evaluation, and Evolution · 2013
47. Combining uml and ontology: An exploratory survey
48. Logistic regression and neural network classification of seismic records10.1016/j.ijrmms.2013.04.005 ↗
49. Finding an effective classification approach to develop a software team composition model
50. Incorporating fault-proneness estimations into coverage-based test case prioritization methods10.1016/j.infsof.2020.106269 ↗
51. Is mutation an appropriate tool for testing experiments?
52. Empirical evaluation of mutation-based test case prioritization techniques10.1002/stvr.1695 ↗
53. Eclipse SDK 3.7.2, 2012. [Online]. Available: http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/.
54. Winnowing: Local algorithms for document fingerprinting
55. Development nature matters: An empirical study of code clones in javascript applications10.1007/s10664-015-9368-6 ↗
56. PureMVC Java MultiCore Framework. [Online]. Available: https://github.com/PureMVC/puremvc-java-multicore-framework/wiki.
57. Moss Program. [Online]. Available: https://github.com/genchang1234/How-to-cheat-in-computer-science-101/blob/master/README.md.
58. David · Building Games with Flash for the Mobile Market · 2011 · 115
59. Software metrics thresholds calculation approaches to predict fault-proneness: An empirical comparison10.1016/j.infsof.2017.11.005 ↗
60. Software bug prediction using weighted majority voting techniques10.1016/j.aej.2018.01.003 ↗
61. An empirical study into class testability10.1016/j.jss.2006.02.036 ↗
62. Relation-based test case prioritization for regression testing10.1016/j.jss.2020.110539 ↗
63. Evolutionary inversion of class distribution in overlapping areas for multi-class imbalanced learning10.1016/j.ins.2019.04.052 ↗
64. Predicting the deforestation probability using the binary logistic regression, random forest, ensemble rotational forest and REPTree: A case study at the Gumani river basin
65. A comprehensive review on regression test case prioritization techniques for web services
66. Risk-based test case prioritization using a fuzzy expert system10.1016/j.infsof.2015.08.008 ↗
67. Prioritizing test cases for regression testing10.1109/32.962562 ↗
68. Scope-aided test prioritization, selection and minimization for software reuse10.1016/j.jss.2016.06.058 ↗
69. To be optimal or not in test-case prioritization10.1109/TSE.2015.2496939 ↗
70. An ensemble cascading extremely randomized trees framework for short-term traffic flow prediction