What are different mutation testing methods?

Mutation testing is another methodology of software testing. It can be defined as the software testing methodology which involves modification of source code or programs or the byte code of the program in a way that is particularly small but significant.

Mutation is known by two other names:
- program mutation
- mutation analysis.

SOME IMPORTANT FACTS
- The mutated code is tested using various cases and the test suite that doesn’t detects and rejects the code that has been mutated is usually considered to be defective in nature.

- The required mutations are carried out on the basis of some well defined operators known as mutation operators.

- These mutation operators are well known to mimic typical programming bugs or errors and some times they also force the creation of tests which are significantly valuable tests.

- Best example of such test is given by the test which derives each expression to the value zero.

- The purpose of the mutation testing is basically to allow the tester or software developer to develop effective test cases so that the weaknesses or the vulnerabilities of the software system or application can be located or detected in the test data that is being used as the input for the program or in the sections of the program code.

- These sections are chosen as such that they are rarely used and accessed during the execution of the software system or the application.

- The mutation testing is carried out to ensure or verify that the implemented software program or application is correct or not.

Still the creation of the mutation testing poses some doubts.
- The doubt is whether the mutation tests are correct or not?
- Whether they sufficiently cover all the specifications and the requirements that have lead to the origination of the implementation of the test cases?

Mutation testing represents a technological problem of “who will guard the guards?”
- In the 19s, the mutation testing was pioneered to detect or locate the weaknesses and the potential vulnerabilities of the test suites.

- A theory was put forward regarding the behavior of the mutation testing.

- It stated that if a mutation was done without affecting the behavior of the program or output, then it meant that either the code that had been mutated did not execute or the employed testing suite wasn’t able to detect the injected mutation.

- In order to make one mutation work, one has to introduce many mutations all over the program.

- This in turn leads to the compilation of a large number of copies of the program code.

- The increase in the use of unit testing frame works and object oriented programming languages has led to the increase in the creation new mutation testing tools for other programming languages.

METHODS FOR MUTATION TESTING
- Mutation testing is carried out by selecting few mutation operators and then applying them to the source code using one at a time for each correct piece of the program code.

- The resultant of application of a mutation operator is known as mutant.

- If the mutant is detected during the testing, then the mutant is said to be killed.
- Strong mutation testing or strong mutation coverage ensures that the test suite is effective in detecting the mutants.
- Weak mutation coverage or weak mutation testing can be related to code coverage methods.
- It takes less number of calculations to ensure the effectiveness of the weak mutation testing.
- In some cases equivalent mutants are also used.
- In those cases it becomes impossible for a test suite to kill such a mutant.

- Equivalent mutation proves to be the greatest obstacle in the path of practical usage of the mutants.
- Equivalent mutants require more efforts for testing.
- A variety of mutation operators have been discovered by the researchers.

0 comments:

Post a Comment

Your Comment Here!.....

Categories

10th 3i InfoTech Academic Books Accenture ACIO ActiveX ADT Agricultural AIEEE Air Force Algebraic Amdocs Android Answers Application Development Aptitude Aptitude Questions Architectures ASP ATOS B.Sc B.Tech.B.E. Bank Exam BCA BE Board Exam Books break-continue Business Plan C C Programming C# C++ Campus campus interview Candidate profile Capgemini Career CDS Certification CET Challenge Circle Cisco class code Cognizant communication Company Company Profile Competitive Exams computer Computer Networks concentric circles constructor Course Credit Suisse CSS CTS Data Structure DBMS DC Deloitte difficult interview questions dimensions Distributed Computing do while dotNet Download ds Dynamic Web Development e-Admit card Educational engineering entertainment Even Odd Events exam schedule exception for loop fresher GATE general Discussion general knowledge Get Placed Government Job Hall Ticket HCL how to answer How to Prepare HR HR Interview HSC hypertext preprocessor IB IBM IBPS IIT Indian Army Information infosys Intelligence Bureau Internship interview Experience interview questions Interview Tips IntroC IntroC# IntroJava IntroPHP IT J2EE J2ME Java JavaScript jobs Language Books Language Tutorial Languages limit number of objectsJava Limit the number of objects being created in JAVA Linux Linux Administrator Linux Developer Logical Questions loops M Tech M.E. M.Tech M.Tech AND B.Tech Management Management Skills Matrices MBA mca ME microsoft mistakes Mixture Mobile Computing mock questions mock test MySql naukri NDA OOP opening Operating System Oracle paper Persistent PHP php programming php string variables PL/SQL Placement placement guide Placement Paper Placement Process preparing for placement presentation probability Problems Professional program Programming Project Engineer project idea Projects Puzzle qualities Question of the day Questions Quiz Question Recruitment Recruitment Pattern Requirement Result Resume Reviews Screen Sizes Scripting Session Skills Software Software Engineering solved papers Source Code Speed time and distance SQL SSC story Stress Interview Study Material study tips submit resume Synonym TCS Tech Mahindra tech news Technical Books Technical Interview Testing thank you letter Thought Time Table TutC++ Unix questions asked in aptitude and inteviews for MCA UPSC verbal Web Designing Web Developer Website Development What to read while loop Wipro Writing Resume

Receive Quality Tutorials Straight in your Inbox by submitting your Email ID below.

Categories

10th 3i InfoTech Academic Books Accenture ACIO ActiveX ADT Agricultural AIEEE Air Force Algebraic Amdocs Android Answers Application Development Aptitude Aptitude Questions Architectures ASP ATOS B.Sc B.Tech.B.E. Bank Exam BCA BE Board Exam Books break-continue Business Plan C C Programming C# C++ Campus campus interview Candidate profile Capgemini Career CDS Certification CET Challenge Circle Cisco class code Cognizant communication Company Company Profile Competitive Exams computer Computer Networks concentric circles constructor Course Credit Suisse CSS CTS Data Structure DBMS DC Deloitte difficult interview questions dimensions Distributed Computing do while dotNet Download ds Dynamic Web Development e-Admit card Educational engineering entertainment Even Odd Events exam schedule exception for loop fresher GATE general Discussion general knowledge Get Placed Government Job Hall Ticket HCL how to answer How to Prepare HR HR Interview HSC hypertext preprocessor IB IBM IBPS IIT Indian Army Information infosys Intelligence Bureau Internship interview Experience interview questions Interview Tips IntroC IntroC# IntroJava IntroPHP IT J2EE J2ME Java JavaScript jobs Language Books Language Tutorial Languages limit number of objectsJava Limit the number of objects being created in JAVA Linux Linux Administrator Linux Developer Logical Questions loops M Tech M.E. M.Tech M.Tech AND B.Tech Management Management Skills Matrices MBA mca ME microsoft mistakes Mixture Mobile Computing mock questions mock test MySql naukri NDA OOP opening Operating System Oracle paper Persistent PHP php programming php string variables PL/SQL Placement placement guide Placement Paper Placement Process preparing for placement presentation probability Problems Professional program Programming Project Engineer project idea Projects Puzzle qualities Question of the day Questions Quiz Question Recruitment Recruitment Pattern Requirement Result Resume Reviews Screen Sizes Scripting Session Skills Software Software Engineering solved papers Source Code Speed time and distance SQL SSC story Stress Interview Study Material study tips submit resume Synonym TCS Tech Mahindra tech news Technical Books Technical Interview Testing thank you letter Thought Time Table TutC++ Unix questions asked in aptitude and inteviews for MCA UPSC verbal Web Designing Web Developer Website Development What to read while loop Wipro Writing Resume