Random Testing: Theoretical Results and Practical Implications

被引:112
作者
Arcuri, Andrea [1 ]
Iqbal, Muhammad Zohaib [1 ]
Briand, Lionel [1 ]
机构
[1] Certus Software V&V Ctr, Simula Res Lab, N-1325 Lysaker, Norway
关键词
Coupon collector; random testing; theory; Schur function; predictability; partition testing; adaptive random testing; PARTITION;
D O I
10.1109/TSE.2011.121
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:258 / 277
页数:20
相关论文
共 53 条
[1]  
Andrews James H., 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, P19, DOI 10.1109/ASE.2008.12
[2]  
[Anonymous], 1994, Encyclopedia of software Engineering
[3]  
[Anonymous], 2010, Proceedings of the 19th International Symposium on Software Testing and Analysis, ISSTA'10
[4]  
Arcuri A., 2011, IEEE T SOFTWARE ENG
[5]   Formal Analysis of the Probability of Interaction Fault Detection Using Random Testing [J].
Arcuri, Andrea ;
Briand, Lionel .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (05) :1088-1099
[6]   A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering [J].
Arcuri, Andrea ;
Briand, Lionel .
2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, :1-10
[7]  
Arcuri A, 2010, LECT NOTES COMPUT SC, V6435, P95, DOI 10.1007/978-3-642-16573-3_8
[8]  
Arcuri A, 2009, LECT NOTES COMPUT SC, V5792, P156, DOI 10.1007/978-3-642-04944-6_13
[9]  
Arcuri Andrea., 2011, Proceedings of the 2011 International Symposium on Software Testing and Analysis, P265
[10]   Comparing partition and random testing via majorization and Schur functions [J].
Boland, PJ ;
Singh, H ;
Cukic, B .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2003, 29 (01) :88-94