Answer:
See explaination
Explanation:
Mutation Testing:
Mutation Testing is a type of software testing where we mutate (change) certain statements in the source code and check if the test cases are able to find the errors. It is a type of White Box Testing which is mainly used for Unit Testing. The changes in the mutant program are kept extremely small, so it does not affect the overall objective of the program.
We say a mutant is valid if it is syntactically correct. We say a mutant is useful if, in addition to being valid, its behavior differs from the behavior of the original program for no more than a small subset of program test cases.
VALID MUTANTS
1. if (x < 12 && (r – 3 > 12)) LOR
2. if (x < 12 || (r – 3 < 12)) ROR
3. if (x < 12 || (x – 3 < 12)) IVR
INVALID MUTANTS
1. if (x < 12 ||(r – 3 > 12) UPR
2. if (x < 12 (r – 3 < 12)) MLO
3. (x < 12 || (x – 3 < 12)) CSM
Note:
LOR: LOGICAL OPERATOR REPLACEMENT
ROR: RELATIONAL OPERATOR REPLACEMENT
IVR: INVALID VARIABLE REPLACEMENT
UPR: UNBALENCED PARANTHISIS REPLACEMENT
MLO: MISSING LOGICAL OPERATOR REPLACEMENT
CSM: CONTROL OPERATOR MISSING REPLACEMEN