Abstract

Abstract test cases (ATCs) have been widely used in practice, including in combinatorial testing and in software product line testing. When constructing a set of ATCs, due to limited testing resources in practice (e.g., in regression testing), test case prioritization (TCP) has been proposed to improve the testing quality, aiming at ordering test cases to increase the speed with which faults are detected. One intuitive and extensively studied TCP technique for ATCs is $\lambda$ -wise Level-combination Coverage based Prioritization ( $\lambda$ LCP), a static, black-box prioritization technique that only uses the ATC information to guide the prioritization process. A challenge facing $\lambda$ LCP, however, is the necessity for the selection of the fixed prioritization strength $\lambda$ before testing—testers need to choose an appropriate $\lambda$ value before testing begins. Choosing higher $\lambda$ values may improve the testing effectiveness of $\lambda$ LCP (e.g., by finding faults faster), but may reduce the testing efficiency (by incurring additional prioritization costs). Conversely, choosing lower $\lambda$ values may improve the efficiency, but may also reduce the effectiveness. In this paper, we propose a new family of $\lambda$ LCP techniques, Repeated Small-strength Level-combination Coverage-based Prioritization (RSLCP), that repeatedly achieves the full combination coverage at lower strengths. RSLCP maintains $\lambda$ LCP's advantages of being static and black box, but avoids the challenge of prioritization strength selection. We have performed an empirical study involving five different versions of each of five C programs. Compared with $\lambda$ LCP, and Incremental-strength LCP (ILCP), our results show that RSLCP could provide a good tradeoff between testing effectiveness and efficiency. Our results also show that RSLCP is more effective and efficient than two popular techniques of Similarity-based Prioritization (SP). In addition, the results of empirical studies also show that RSLCP can remain robust over multiple system releases.

Highlights

  • I N practice, software systems are usually influenced by different parameters or factors, with each parameter possibly having a finite set of different levels or values

  • We report on empirical studies investigating each Repeated Small-strength Level-combination Coverage-based Prioritization (RSLCP) technique, comparing with λ-wise Level-combination Coverage-based Prioritization (λLCP) and Similarity-based Prioritization (SP), from the perspectives of: testing effectiveness; testing efficiency; and robustness

  • The Average Percentage of Faults Detected (APFD) difference between IV1 and the other RSLCP-IV techniques (IV2, IV3, IV4, and IV5) seems small, in terms of both median and mean values: the differences between the mean values of IV1 and each of the other four RSLCP-IV techniques are less than 3%; and the differences between the median values range from 0% to 3% — program gzip with versions v3, v4, and v5, for example, seems to have no difference in the median values for each comparison

Read more

Summary

Introduction

I N practice, software systems are usually influenced by different parameters or factors (such as configuration options and user inputs), with each parameter possibly having a finite set of different levels or values. An abstract test case (ATC) represents a combination of levels of different parameters, and has been used in different testing situations, including combinatorial testing [1], software product lines testing [2], and highly-configurable systems testing [3]. Due to often limited testing resources, it is often possible to only run some of the ATCs in the set In such situations, the ATC execution order may become critical, because a well-prioritized test case execution sequence may identify failures more quickly, and may enable earlier fault characterization, diagnosis and correction [1].

Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call