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:

    Whether the aim is in heaven or on earth, wisdom or wealth, the essential condition of its pursuit and attainment is always security and order.
    Johan Huizinga (1872–1945)

    It has never occurred to me to wish for empire or royalty, nor for the eminence of those high and commanding fortunes. My aim lies not in that direction; I love myself too well.
    Michel de Montaigne (1533–1592)

    Culture must have its ultimate aim in the metaphysical or it will cease to be culture.
    Johan Huizinga (1872–1945)