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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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

All study guides

Read the full guide beside your practice questions.

Open the app