Abstract
Summary form only given. Random testing is a basic testing technique. Motivated by the observation that neighboring inputs normally exhibit similar failure behavior, the approach of adaptive random testing has recently been proposed to enhance the fault detection capability of random testing. The intuition of adaptive random testing is to evenly spread the randomly generated test cases. Experimental results have shown that adaptive random testing can use as fewer as 50% of test cases required by random testing with replacement to detect the first failure. These results have very significant impact in software testing, because random testing is a basic and popular technique in software testing. In view of such a significant improvement of adaptive random testing over random testing, it is very natural to consider to replace random testing by adaptive random testing. Hence, many works involving random testing may be worthwhile to be reinvestigated using adaptive random testing instead. Obviously, there are different approaches of evenly spreading random test cases. In this tutorial, we are going to present several approaches, and discuss their advantages and disadvantages. Furthermore, the favorable and unfavorable conditions for adaptive random testing would also be discussed. Most existing research on adaptive random testing involves only numeric programs. The recent success of applying adaptive random testing for non-numeric programs would be discussed.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.