Adaptive random testing through test profiles

  • Authors:
  • Huai Liu;Xiaodong Xie;Jing Yang;Yansheng Lu;Tsong Yueh Chen

  • Affiliations:
  • Centre for Software Analysis and Testing, Swinburne University of Technology, Hawthorn 3122, Vic., Australia;College of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, People's Republic of China;College of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, People's Republic of China;College of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, People's Republic of China;Centre for Software Analysis and Testing, Swinburne University of Technology, Hawthorn 3122, Vic., Australia

  • Venue:
  • Software—Practice & Experience
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Random testing (RT), which simply selects test cases at random from the whole input domain, has been widely applied to test software and assess the software reliability. However, it is controversial whether RT is an effective method to detect software failures. Adaptive random testing (ART) is an enhancement of RT in terms of failure-detection effectiveness. Its basic intuition is to evenly spread random test cases all over the input domain. There are various notions to achieve the goal of even spread, and each notion can be implemented by different algorithms. For example, ‘by exclusion’ and ‘by partitioning’ are two different notions to evenly spread test cases. Restricted random testing (RRT) is a typical algorithm for the notion of ‘by exclusion’, whereas the notion of ‘by partitioning’ can be implemented by either the technique of bisection (ART-B) or the technique of random partitioning (ART-RP). In this paper, we propose a generic approach that can be used to implement different notions. In the new approach, test cases are simply selected based on test profiles that are in turn designed according to certain notions. In this study, we design several test profiles for the notions of ‘by exclusion’ and ‘by partitioning’, and then use these profiles to illustrate our new approach. Our experimental results show that compared with the original RRT, ART-B, and ART-RP algorithms, our new approach normally brings at least a higher failure-detection capability or a lower computational overhead. Copyright © 2011 John Wiley & Sons, Ltd. (A preliminary version of this paper was presented at the 10th International Conference on Quality Software (QSIC 2010)).