What is mutation testing?


Q: What is mutation testing?

A: Mutation testing is testing where our goal is to make mutant software fail, and thus demonstrate the adequacy of our test case. How do we perform mutation testing?

Step one: We create a set of mutant software. In other words, each mutant software differs from the original software by one mutation, i.e. one single syntax change made to one of its program statements, i.e. each mutant software contains one single fault.

Step two: We write and apply test cases to the original software and to the mutant software.

Step three: We evaluate the results, based on the following set of criteria: Our test case is inadequate, if both the original software and all mutant software generate the same output. Our test case is adequate, if our test case detects faults in our software, or, if, at least, one mutant software generates a different output than does the original software for our test case.


__________________________________________

Copyright 2000 - 2010 Rob Davis PE. All rights are reserved. No part of

this document may be reproduced in any form whatsoever

without written permission from Rob Davis, PE.

http://www.softwaretestengineer.com

http://www.robdavispe.com


software qa testing test tester software qa testing test tester software qa testing test tester software qa testing test tester software qa testing test tester software qa testing test tester