You are on page 1of 2

Software testing (chapter 9 Syntax-based testing)

Q1. True or false

1) The result of one application of a mutation operator is Mutant (True)


2) Absolute Value Insertion (ABS) is Replace each occurrence of one of the relational
operators (<, >, ≤, ≥, ==, ≠) by each of the other operators and by falseOp and trueOp
(False)
3) Terminal replacement is replace every nonterminal symbol in a production by other
nonterminal symbols (False)

Q2. MCQ

1) For each mutation operator, and each production that the operator can be applied to, T R
contains the requirement to create a mutated string from that production is
a. Mutation Operator Coverage
b. Mutation Production Coverage
c. Mutation Coverage
2) All the choices are Inheritance mutation operators except
a. AMC—Access Modifier Change
b. IHI—Hiding Variable Insertion
c. IOD—Overriding Method Deletion
3) PCI—Type Cast Operator Insertion, OMD—Overloading Method Deletion and OMR—
Overloading Method Contents Replace are types of which mutation operators
a. Polymorphism mutation operators
b. Inheritance mutation operators
c. Encapsulation mutation operators

Q3. Essay

1) What are issues often come up when applying mutation operators?

First, should more than one mutation operator be applied at the same time to create one
mutant?

Another question is should every possible application of a mutation operator to a ground


string be considered?

2) Why testers define a threshold value when testing Programs with Mutation?

Because a mutation score of 1.00 is usually impractical, so they define a “threshold” value,
which is a minimum acceptable mutation score. If the threshold has not been reached, then
the process is repeated, each time generating test cases to target live mutants, until the
threshold mutation score is reached.
3) What the two most common ways to have fewer mutants?
 To randomly sample from the total number of mutants
 To use mutation operators that are particularly effective

You might also like