Eleventh Annual International Workshop on Software Technology and Engineering Practice (STEP'03)
Using the Information: Incorporating Positive Feedback Information into the Testing Process
Amsterdam, The Netherlands
September 19-September 21
ISBN: 0-7695-2218-1
Software Testing is recognized as an essential part of the Software Development process. Random Testing (RT), the selection of input test cases at random from the input domain, is a simple and efficient method of Software Testing. RT does not however make use of previously executed test case information; in particular, information about non-failure-causing test cases is ignored. Intuitively, use of this positive feedback information can improve the failure-finding efficiency of a testing method. Adaptive Random Testing (ART) makes use of knowledge of general failure pattern types, and information of previously executed test cases, in the selection of new test cases. A failure pattern in a program?s input domain is composed of the regions of failure-causing inputs. Previous research has categorized failure patterns broadly into three types: point; strip; and block, and has identified important implications for the failure- finding efficiency of test methods, depending on the failure pattern type. In particular, it has been found that for non-point type patterns, the efficiency of RT can be improved upon by simple modification of the basic approach: by ensuring a more even and widespread distribution of test cases over the input domain, the number of test cases required to find the first failure (F-measure) can be reduced dramatically. This insight has motivated several Adaptive Random Testing methods, and produced convincing results. This paper introduces some of the research in this area and suggests areas of interest for future work.
Citation:
Kwok Ping Chan, Dave Towey, Tsong Yueh Chen, Fei-Ching Kuo, Robert Merkel, "Using the Information: Incorporating Positive Feedback Information into the Testing Process," step, pp.71-76, Eleventh Annual International Workshop on Software Technology and Engineering Practice (STEP'03), 2003