A History-Based Dynamic Random Software Testing
Following the idea of software cybernetics, Dynamic Random Testing (DRT) was proposed to improve the traditional random testing and random-partition testing strategies. The essential idea of Dynamic Random Testing is to update the testing profile dynamically during the software testing according to test data collected online. As a result, the sub domains which have higher defect detection rate are selected more easily. There are some shortcomings in the original DRT, such as it is not rigorous to update the testing profile each time merely according to whether a test case reveals defects or not. In order to overcome the shortcomings in the original DRT, a History-based Dynamic Random Testing is proposed on the basis of DRT and it is denoted as DRT-h. In DRT-h strategy, the estimate of the defect detection rate of each sub domain is calculated in real-time during the software testing by using history testing information. In this paper some real-life software were used to verify the effect of DRT and DRT-h, and the experiments show that DRT-h outperforms random testing, random-partition testing and Dynamic Random Testing greatly.