Adaptive Random Testing Through Iterative Partitioning
Random testing (RT) is a fundamental and important software testing technique. Based on the observation that failure-causing inputs tend to be clustered together in the input domain, the approach of Adaptive Random Testing (ART) has been proposed to improve the fault-detection capability of RT. ART employs the location information of previously executed test cases to enforce an even spread of random test cases over the entire input domain. There have been several implementations (algorithms) of ART based on different intuitions and principles. Due to the nature of the principles adopted, these implementations have their own advantages and disadvantages. The majority of them require intensive computations to ensure the generation of evenly spread test cases, and hence incur high overhead. In this paper, we propose the notion of iterative partitioning to reduce the amount of the computation while retaining a high fault-detection capability. As a result, the cost effectiveness of ART has been improved.
KeywordsGrid Cell Random Testing Failure Pattern Partitioning Scheme Test Case Generation
Unable to display preview. Download preview PDF.
- 8.Collected Algorithms from ACM. Association for Computing Machinery (1980)Google Scholar
- 9.Dabóczi, T., Kollár, I., Simon, G., Megyeri, T.: Automatic testing of graphical user interfaces. In: Proceedings of the 20th IEEE Instrumentation and Measurement Technology Conference 2003 (IMTC 2003), pp. 441–445 (2003)Google Scholar
- 10.Forrester, J.E., Miller, B.P.: An empirical study of the robustness of Windows NT applications using random testing. In: Proceedings of the 4th USENIX Windows Systems Symposium, pp. 59–68 (2000)Google Scholar
- 11.Godefroid, P., Klarlund, N., Sen, K.: DART: Directed automated random testing. In: Proceedings of ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation (PLDI), pp. 213–223 (2005)Google Scholar
- 13.Hamlet, R.: Random testing. In: Marciniak, J. (ed.) Encyclopedia of Software Engineering, 2nd edn. John Wiley & Sons, Chichester (2002)Google Scholar
- 15.Mak, I.K.: On the effectiveness of random testing. Master’s thesis, Department of Computer Science, The University of Melbourne (1997)Google Scholar
- 18.Miller, B.P., Koski, D., Lee, C.P., Maganty, V., Murthy, R., Natarajan, A., Steidl, J.: Fuzz revisited: A re-examination of the reliability of UNIX utilities and services. Technical Report CS-TR-1995-1268, University of Wisconsin (1995)Google Scholar
- 19.Miller, E.: Website testing, http://www.soft.com/eValid/Technology/White.Papers/website.testing.html
- 20.Nyman, N.: In defense of monkey testing: Random testing can find bugs, even in well engineered software. Microsoft Corporation, http://www.softtest.org/sigs/material/nnyman2.htm
- 21.Slutz, D.: Massive stochastic testing of SQL. In: Proceedings of the 24th International Conference on Very Large Data Bases (VLDB 1998), pp. 618–622 (1998)Google Scholar