Mutation Adequacy:
Mutation
adequacy uses a similar concept to fault seeding to evaluate the effectiveness
of a test suite.
• Assume
we have a test suite TS with C total test cases c(j). • Assume that the program
under test P passes all the test cases c(j) for 1 <= j <= C. • Can we
stop testing? That is, have we tested P adequately? • The mutation adequacy
criterion provides one answer that we might use.
The
mutation adequacy approach differs from fault seeding in that it is applied at
a particular point in the testing process and also in that faults are not
directly inserted into P.
•
Instead, a series of mutants m(i) are created. • Each mutant m(i) differs from
P by the injection of exactly one fault. • Let M be the total number of mutants
m(i). • The test suite TS is applied to each mutant m(i). • If a particular
mutant m(i) fails any test in c(j), then it is said to be killed. • All mutants
that are not killed are said to remain live at this point. • The ratio of
killed to total mutants (K/M) can be considered a measure of adequacy of TS.
Automated
Mutation: Mutation Operators
•
Manually creating mutants is time-consuming. • A collection of mutants m(i)
created from P at some point in time will no longer be representative of P
after it has undergone many changes. • Mutation can be automated by through the
concept of mutation operators. • Mutation operators are simple changes that can
be made at various program locations.
We have a test suite structure which is not mandatory rather it is preferred to have a hierarchical structure where we have test cases separated according to concerns. Similar to test case lifecycle, we have software testing lifecycle phases. Once the testing activity is complete, we do test result reporting in a manner that we have a report to deliver against each anomaly recorded during testing and an overall stat or the result showing net results. The topics discussed in this lecture are pertaining to test suite structure, software testing lifecycle phases, test results reporting and bug log details. In this lecture, the following topics are discussed:
1. Test suite structure
2. Software testing lifecycle phases
0 Comments
Please do not enter any spam link in the comment box.