Introducing a Fuzzy Model for Cost Cognizant Software Test Case Prioritization
Rajendrani Mukherjee, K. Sridhar Patnaik · 2019
Testing ensures the delivery of a product in stipulated amount of time. According to Test Case Prioritization (TCP), test cases with higher priority get executed earlier. Enhancing the fault detection rate, capturing high priority requirements, reducing the cost and time of prioritization mechanism are several goals of TCP techniques. In this paper, we have proposed a fuzzy model that quantifies the savings generated by the prioritization mechanism. The model considers the effect of fault detection rate and number of test cases. Our first research question concentrates on implementing this fuzzy model while our second research question explores which technique for prioritization generates how much savings. Analysis of 10 C programs and 6 Siemens programs from Software Infrastructure Repository (SIR) shows that the technique of combining branch coverage and modified condition and decision coverage (MC/DC) yielded 2.01 times savings over non-prioritized test suite. Results also indicated that only branch coverage based TCP yielded 1.26 times savings over non-prioritized test suite. We hope our cost aware fuzzy model and these savings analysis will make test case prioritization more applicable with better planning. As several stages of software development do not have exact calculation of parameters, we realized that building a fuzzy model is of utmost importance.