• DocumentCode
    1398088
  • Title

    Random Testing: Theoretical Results and Practical Implications

  • Author

    Arcuri, Andrea ; Iqbal, Muhammad Zohaib ; Briand, Lionel

  • Author_Institution
    Simula Res. Lab., Certus Software V&V Center, Lysaker, Norway
  • Volume
    38
  • Issue
    2
  • fYear
    2012
  • Firstpage
    258
  • Lastpage
    277
  • Abstract
    A substantial amount of work has shed light on whether random testing is actually a useful testing technique. Despite its simplicity, several successful real-world applications have been reported in the literature. Although it is not going to solve all possible testing problems, random testing appears to be an essential tool in the hands of software testers. In this paper, we review and analyze the debate about random testing. Its benefits and drawbacks are discussed. Novel results addressing general questions about random testing are also presented, such as how long does random testing need, on average, to achieve testing targets (e.g., coverage), how does it scale, and how likely is it to yield similar results if we rerun it on the same testing problem (predictability). Due to its simplicity that makes the mathematical analysis of random testing tractable, we provide precise and rigorous answers to these questions. Results show that there are practical situations in which random testing is a viable option. Our theorems are backed up by simulations and we show how they can be applied to most types of software and testing criteria. In light of these results, we then assess the validity of empirical analyzes reported in the literature and derive guidelines for both practitioners and scientists.
  • Keywords
    program testing; software tools; mathematical analysis; partition testing; random testing; software testing; software tool; Algorithm design and analysis; Color; Generators; Random variables; Software; Testing; Upper bound; Coupon collector; Schur function; adaptive random testing.; partition testing; predictability; random testing; theory;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2011.121
  • Filename
    6104067