Adaptive random testing through test profiles
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.
adaptive random testing random testing test profile software quality software testing