Mutation Testing - Aim

Aim

Tests can be created to verify the correctness of the implementation of a given software system, but the creation of tests still poses the question whether the tests are correct and sufficiently cover the requirements that have originated the implementation. (This technological problem is itself an instance of a deeper philosophical problem named "Quis custodiet ipsos custodes?" .) In this context, mutation testing was pioneered in the 1970s to locate and expose weaknesses in test suites. The theory was that if a mutation was introduced without the behavior (generally output) of the program being affected, this indicated either that the code that had been mutated was never executed (redundant code) or that the testing suite was unable to locate the injected fault. In order for this to function at any scale, a large number of mutations had to be introduced into a large program, leading to the compilation and execution of an extremely large number of copies of the program. This problem of the expense of mutation testing had reduced its practical use as a method of software testing, but the increased use of object oriented programming languages and unit testing frameworks has led to the creation of mutation testing tools for many programming languages as a means to test individual portions of an application.

Read more about this topic:  Mutation Testing

Famous quotes containing the word aim:

    To aim to convert a man by miracles is a profanation of the soul. A true conversion, a true Christ, is now, as always, to be made by the reception of beautiful sentiments.
    Ralph Waldo Emerson (1803–1882)

    In the long run men hit only what they aim at. Therefore, though they should fail immediately, they had better aim at something high.
    Henry David Thoreau (1817–1862)

    Do not let it be your aim to be something, but to be someone.
    Victor Hugo (1802–1885)