Mutation Testing vs. Regression Testing
Mutation Testing vs. Regression Testing
Abstract:- Testing is the process of finding as many errors development process. It basically consists of two techniques-
as possible before software is delivered to customer. Since, Functional testing or black box testing and Structural testing
there are various testing techniques available to establish or white box testing. As the name suggests, in functional
quality, performance and reliability of software but testing the focus is on what is the output produced not how
Mutation Testing and Regression Testing is focused in this it is produced while in structural testing, focus is on both i.e.
paper. Mutation testing involves manipulating program what is the output produced and how it is produced.
slightly and testing it with intention to find effectiveness of Therefore, in structural testing, source code is reviewed
test suite selected. Regression testing intends to find bugs thoroughly and test cases are derived from it. Functional
in software, if software is modified after delivery either testing includes Boundary Value Analysis (BVA),
due to result of fixes or due to new or enhanced Equivalence Class Testing, Decision Based Table Testing,
functionality. The use of regression testing is to check that Cause Effect Graphing Technique etc. while Structural testing
enhancements have not affected previous functionality as includes Control Flow Testing, Data Flow Testing, Slice
well as working correctly. Based Testing, Mutation Testing etc[1].
Keywords: - Mutation Testing, Regression Testing
II. MUTATION TESTING
I. INTRODUCTION
Mutation testing involves changing the program and testing it.
www.ijltemas.in Page 91
International Journal of Latest Technology in Engineering, Management & Applied Science (IJLTEMAS)
Volume VI, Issue IV, April 2017 | ISSN 2278-2540
15) tax=10.0/100*(income-40000);
16) System.out.println("Tax\t: "+tax);
17) }
18) else if(income<=150000)
19) {
20) tax=2000+20.0/100*(income-60000);
21) System.out.println("Tax\t: "+tax);
22) }
23) else
Figure 1 Process of Mutation Testing
24) {
25) tax=20000+30.0/100*(income-150000);
After mutation testing is done mutation score is calculated as- 26) System.out.println("Tax\t: "+tax);
27) }
Mutation Score = Number of Mutants Killed / Total 28) }
Number of Mutants 29) }
Mutation score determines the accuracy and sensitivity of Let the test suite selected is
program towards changes. Mutation score is always lies
between 0 and 1. A higher value of mutation score indicates ID Income Tax (Expected Output)
the effectiveness of test suite. 1 37000 No Tax
2 57000 1700.0
Mutation was originally proposed in 1971 but being very
3 100000 10000.0
expensive, it lost its importance but now, again it is being
widely used for languages like Java and XML. 4 200000 35000.0
www.ijltemas.in Page 92
International Journal of Latest Technology in Engineering, Management & Applied Science (IJLTEMAS)
Volume VI, Issue IV, April 2017 | ISSN 2278-2540
www.ijltemas.in Page 93
International Journal of Latest Technology in Engineering, Management & Applied Science (IJLTEMAS)
Volume VI, Issue IV, April 2017 | ISSN 2278-2540
www.ijltemas.in Page 94