Testing, Verification, and Quality Assurance
This domain tests verification methods, test levels, coverage, defect management, and the distinction between quality assurance and quality control. Expect scenario questions that ask which method or level is appropriate.
Core rules
- Verification methods are inspection, analysis, demonstration, and test. Select based on risk, measurability, and cost; safety-critical quantitative requirements usually need test plus analysis for worst cases.
- Test levels are unit, integration, system, and acceptance. Each level needs entry and exit criteria, not just a start date.
- Test types include functional, regression, performance, security, usability, and reliability. Regression scope should follow change impact and traceability.
- Coverage can mean requirements coverage, code coverage, or risk coverage. Coverage is evidence, not proof of correctness.
- Quality assurance focuses on process adequacy; quality control focuses on inspecting and testing the product. They are not interchangeable.
- Defects have severity and priority; track them through assignment, fix, retest, and closure.
Worked example
A requirement states: “The brake controller shall enter fail-safe within 100 ms of sensor loss.” Inspection cannot measure timing. Demonstration may not capture the 100 ms bound. Analysis can model worst-case timing, but a test with fault injection and instrumentation provides direct evidence. The sound choice is a test for the timing threshold plus analysis for worst-case conditions, with traceability to the requirement and recorded results. Reasoning: the requirement is quantitative and safety-related, so weak verification methods are insufficient.
Traps
- Testing only the happy path and calling it complete.
- Declaring quality from code coverage alone.
- Conflating QA process assurance with QC product testing.
- Running regression without considering change impact.
- Omitting entry and exit criteria, so test completion is subjective.