Ad Code

CS - 608 Assignment No 2 || CS 608 Assignment by vickylab


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


 

Post a Comment

0 Comments

Close Menu