Abstract – Regression Testing is mainly done in software maintenance aiming to assure that the changes made in the software have correctly been implemented and also to achieve the confidence that the modifications have not affected the other parts of the software. It is very costly and expensive technique. There are number of techniques present in literature that focus on achieving various testing objectives early in the process and hence reduces its cost. Despite of that, testers usually prefer only few already known techniques for test case prioritization. The main reason behind is the absence of guidelines for the selection of TCP techniques. Hence, this piece of research introduces a novel approach for classification of TCP techniques using fuzzy logic to support the efficient selection of test case prioritization techniques. This work is an extension of already proposed selection schema for test case prioritization techniques. To perform the validation of proposed approach results are compared with other classification techniques using Weka tool. The analysis clearly shows the effectiveness of proposed approach as compared to others in terms of its accuracy.
Introduction – Regression testing in maintenance phase is actually the process of retesting the updated software to ensure that new errors have not been introduced into earlier validated code. Moreover, regression testing should take up as little time as possible in the sense of executing as few test cases as possible. Due to its expensive nature various techniques exist in literature that focus on cost. These are: (i) Re-execute all; (ii) Test case Minimization/ Reduction; (iii) Test Case Selection; (iv) Test Case Prioritization; (v) Hybrid approach. This paper focuses on test case prioritization techniques.
The major issues of code based prioritization techniques is that they focus only on number of faults detected and, hence, treats all faults equally. In practice, all faults can’t be treated same. Moreover Testing does not assure about the absence of faults it is the process of validate the software against users’ specifications and requirements. Therefore, there may be some cases where existence of fault is not so important but its requirement coverage is . Requirement based test case prioritization address such issues by assigning the priority to test cases on requirement coverage based. Major Issue with specification based and requirement based Test Case Prioritization is that there is no efficient way to measure the effectiveness of selected Test Suits.
In general, it all depends on deadline and analysts’ decision whether to increase the effort by increasing the cost or not. So, this rule based approach is silent for the above said rule and provides flexibility to various industries to add in later stages according to their current requirements. But for the validation purpose we are considering it as ‘select’ in first case and ‘discard’ for the second case. During the analysis of proposed approach with data set two records were found in accordance to above said rule. Hence, 12 records were considered as classified out of 15 in this case. To calculate accuracy of proposed approach with data set, two options were considered. 1. Accuracy is 80% while considering that data as misclassified and 2. Accuracy is 93.333% while considering that data as classified or ignored it. The outputs of the proposed approach are three classes that provide the support for the selection of various existing TCP techniques.
Conclusion – In this research we have proposed a novel based technique for the classification of TCP techniques using Fuzzy Logic. Fuzzy Rule based classification technique is finally compared with bagging and J48 decision tree and KSTAR classifier for its accuracy. The results over the other classification techniques clearly show that this technique is efficient in terms of accuracy as compared to other techniques.