Concept and mechanism
Different tools answer different questions. A contract test observes compatibility between consumer expectations and provider behavior; it does not independently demonstrate capacity under load. A mutation tool introduces small program changes to check whether tests detect them. In PIT, killed means a test detected the change, survived means covering tests did not detect it, and no coverage identifies absent relevant execution. A mutant may be equivalent to the original program within the considered scope; survival does not always prove an assertion is missing. Investigate changed behavior and the oracle before increasing tests merely to improve a percentage.
Guided application
Fault injection can simulate dependency unavailability inside a bounded environment to study recovery. Distinguish this from modifying code to assess a suite’s detection capability. Model-based generation depends on represented transitions and rules; an incomplete model can produce many tests while retaining the same gap. Component tools support fast feedback, and continuous integration should preserve outcomes and artifact identity. For mobile applications, browser-parameter emulation can investigate viewport, touch, language, and time zone, but does not automatically reproduce battery, sensors, operating system, and network of a physical device. Define what the tool simulates and add other observations when risk depends on characteristics absent from that simulation.
A surviving mutant requires behavioral, coverage, and oracle analysis.
Common pitfalls
Contract treated as load; equivalent mutant treated as suite failure; emulation treated as a complete device.
Related topics: Technical risk and operational evidence · White-box logical coverage · Static and dynamic analysis
Connect the tool with a question and state what remains outside.
Reference: PIT mutation testing concepts · CTAL-TTA v4.0 (2021)