STUDY GUIDE · GKU 6
Software verification and validation study guide (Software Engineering)
Verification asks whether each work product was built correctly from the one before it; validation asks whether the finished system does what its users need. This guide covers how a V&V plan sets out both, how reviews, inspections, audits and static analysis find defects without running the code, and how testing finds the rest: the vocabulary and the reports, test design from the input domain and from state models, code coverage up to MC/DC, mutation analysis to judge a test suite, usage-based testing with reliability growth to decide when to stop, and unit testing with test doubles. Test levels, statement and branch coverage and cyclomatic complexity are taught in GKU 1 and used here.
Structured by the official ETEC subject standard for this topic: every listed topic and learning outcome, with formulas, figures and worked examples. The full sections are available to members in the app.
SKU 6.1 · Foundations of verification, validation and testing
Verification, validation and the V&V plan
What verification and validation each check, the static and dynamic techniques for both, how a system is validated against user needs, and how a V&V plan scaled by integrity level is put together.
Reviews, inspections, audits and static analysis
The static side of V&V: the five review types of IEEE 1028, how a Fagan inspection runs, how an audit examines a project against its standards and plans, what static analysis finds, and how to estimate the defects an inspection missed.
Testing fundamentals, prototyping and reporting
Error, fault and failure; what testing can and cannot show; the objectives a test can have; prototyping as a validation tool; and how testing is planned, tracked and reported, from the test plan to the defect report and its life cycle.
Input-domain and model-based test design
Black-box techniques that derive tests from the specification: equivalence partitioning and boundary values for several variables, decision tables for combinations of conditions, pairwise testing, and state-transition testing from a state model.
Code-based and fault-based testing: coverage, MC/DC and mutation
White-box criteria beyond statement and branch coverage — condition, condition/decision, MC/DC and multiple-condition coverage — and mutation analysis, which judges a test suite by the seeded faults it detects.
Usage-based testing, reliability growth and choosing techniques
How testing driven by an operational profile measures reliability as users will meet it, how the basic execution-time model tells you how much more testing a failure-intensity objective needs, and how to select and combine test techniques for a given situation.
Unit testing: frameworks, test doubles and test-driven development
How a unit test is structured and run in an xUnit framework, how dependencies are replaced by drivers, stubs, spies, mocks and fakes, and how test-driven development puts the test first.
MORE SOFTWARE ENGINEERING GUIDES
- Computing foundations study guideGKU 1 · 23 sections
- Engineering fundamentals study guideGKU 2 · 13 sections
- Ethical and professional practice study guideGKU 7 · 7 sections
- Software design study guideGKU 5 · 9 sections
- Software quality study guideGKU 8 · 7 sections
- Requirements analysis and specification study guideGKU 4 · 7 sections
- Software modelling and analysis study guideGKU 3 · 6 sections