Skip to the content
FixTheRobot Explore Robotics / UAV / Module 8 / M8-T3

UAV Systems Engineering · Module 8

M8-T3: Verification and validation

Verification checks the system against its requirements. Validation checks the requirements against the world. You need both, and each needs evidence of a stated strength.

  • Lesson 3 of 18
  • Safety, Verification and Flight Testing
  • Established engineering
  • About 6 minutes to read

A navigation system that meets every requirement can still fail in the field if the requirements assumed the wrong environment. Verification and validation are the two halves of the answer to “does it work?”. Choosing the right method for each requirement, and being honest about how strong the evidence is, is what makes a test campaign credible.

Learning objectives

After this lesson, you should be able to:

  • Distinguish verification from validation with UAV examples.
  • Choose test, analysis, inspection or demonstration for a requirement and justify it.
  • Grade evidence strength and state the credibility of simulation results.
  • Generate a verification plan with method, level, environment and pass criterion per requirement.

Conceptual explanation

Established The four verification methods (test, analysis, inspection, demonstration) are standard in systems engineering (for example in the NASA and INCOSE handbooks). Credibility assessment of simulation follows the idea in the NASA-STD-7009 family. The concrete plan structure is a common practical choice.

Verification: confirmation, through objective evidence, that a requirement is met. Validation: confirmation that the system fulfils its intended use in the intended environment. A UAV can verify (“position error ≤ 2 m p95 in the lab motion-capture arena”) yet fail validation if the real environment (long featureless corridors, vibration, lighting) was not represented.

The four methods:

undefined
MethodWhat it isTypical use for a UAVStrength
TestExecute the system under controlled conditions and measureFlight test against a reference trajectory; fault injection in HILHighest, for the conditions tested
AnalysisCalculation, simulation or modelling with validated modelsError budget; latency analysis; Monte Carlo in validated simulationDepends on model validity
InspectionExamine the design or artefactsCheck wiring, parameter values, calibration records, code reviewHigh for static facts
DemonstrationOperate the system to show a capability qualitativelyShow an abort sequence worksLower: qualitative
Verification versus validationVerification asks whether the system was built right: does it meet its requirements? Validation asks whether the right system was built: does it meet the real need in the real environment? Each requirement is verified by one of four methods.Needsreal worldRequirementsspecificationDesign + buildimplementationVerificationmeets the spec?Validationmeets the need?A system can pass verification and fail validation if the requirements were wrong.
Two questions, different evidence. The plan answers both.
Animation of the exact upper confidence bound on a failure probability. The number of independent test runs grows from ten to five hundred; three curves show the ninety-five per cent upper bound for zero, one and two observed failures. With no failures the bound falls roughly as three divided by n; each additional failure raises the bound for the same n, which shows how many more tests are needed after a failure is found.
A passing test campaign does not prove the absence of failure: it bounds the failure probability. The one-sided Clopper–Pearson 95 % bound is the pp for which the chance of seeing at most ff failures in nn trials is 5 %. Validate the assumption that trials are independent and representative of operations. (Looping, about 5 seconds; drawn and computed for this course with illustrative values.)

Engineering intuition

Verification is internal consistency (building the thing right); validation is external truth (building the right thing). Mistakes come in both kinds: the code can be wrong while the requirement is right (caught by verification), or the code can perfectly implement a requirement that nobody should have written (only validation catches that, usually in the field, and expensively).

The strength of evidence differs by method and by environment. A simulation can be a fine verification vehicle for logic, and a weak one for sensor behaviour unless the sensor models have been validated against real data. State the credibility: what was the simulation validated against, over what range, and what does it not model? An honest limitation statement is worth more than an overstated pass.

Mathematical formulation

Evidence accumulates in a statistical sense. For a Bernoulli success probability pp the Clopper-Pearson (exact) lower confidence bound after nn trials with ss successes is the value pLp_{L} solving

Exact lower bound on success probability
∑k=sn(nk) pL k (1−pL)n−k=α\sum_{k=s}^{n}\binom{n}{k}\,p_L^{\,k}\,(1 - p_L)^{n-k} = \alpha
One-sided, with confidence 1 − α.

For s=ns=n this reduces to pL=α1/np_{L}=\alpha ^{1/n}, which gives the success-run sample sizes of the requirements lesson. When part of the evidence comes from simulation, a simple conservative approach is to give the simulation an effective sample weight w∈[0, 1]w\in [0,\,1] reflecting model credibility (ww = 0 for an unvalidated model, rising as validation against flight data accumulates) and count only w nsimw\,n_{\text{sim}} trials toward the claim, in addition to real trials. This is a heuristic for communication, not a theorem, and the weight must be justified by the validation evidence; reviewers should see both the raw and the weighted counts.

α\alpha
significance level (1 − confidence).
ss, nn
successes and trials.
ww
credibility weight of simulated evidence (judgement, documented).

Architecture and data flow

Requirement (with method and criterion) → test case (SIL, HIL, ground or flight) → execution on a stated baseline (version, parameters, calibration) → raw data and log → analysis script producing the pass/fail and the statistics → result record with the baseline ID → traceability matrix → verification report. Validation activities (field trials in representative environments, user feedback) feed back into requirement updates through change control.

Real-world UAV applications

  • Building the verification plan for a GNSS-denied navigation capability.
  • Reviewing whether a simulation campaign can substitute for flights.
  • Deciding which requirements need flight evidence.
  • Writing the limitations section of a test report.

Implementation example

This runs as shown. A verification-plan generator: requirements with a verification method and level, a check that the method is allowed for the statistical nature of the requirement, and an exact (Clopper-Pearson) lower bound with simulation credibility weighting shown separately.

import math

def clopper_pearson_lower(s, n, alpha=0.05):
    # one-sided lower bound on p after s successes in n trials, by bisection on the binomial tail
    lo, hi = 0.0, 1.0
    for _ in range(80):
        mid = (lo + hi) / 2
        tail = sum(math.comb(n, k) * mid ** k * (1 - mid) ** (n - k) for k in range(s, n + 1))
        if tail > alpha: hi = mid
        else: lo = mid
    return lo
print("zero-failure (s = n = 45): lower bound", round(clopper_pearson_lower(45, 45), 4), " alpha^(1/n) =", round(0.05 ** (1 / 45), 4))
assert abs(clopper_pearson_lower(45, 45) - 0.05 ** (1 / 45)) < 1e-6

plan = [  # id, text, method, level, statistic needed
 ('R-10', 'p95 position error <= 2 m over 5 min without GNSS', 'test', 'flight', True),
 ('R-11', 'detect VO loss within 0.5 s and land or hold', 'test', 'HIL + flight', False),
 ('R-12', 'odometry latency <= 100 ms (p99)', 'analysis', 'bench measurement + budget', True),
 ('R-13', 'camera calibration file is recorded in the flight manifest', 'inspection', 'ground', False),
 ('R-14', 'pilot can abort and take over manually', 'demonstration', 'flight', False)]
problems = [f"{i}: statistical requirement verified only by {m}" for i, t, m, l, st in plan if st and m in ('inspection', 'demonstration')]
print("plan problems:", problems or "none")
runs_real, ok_real, runs_sim, ok_sim, w = 12, 12, 400, 398, 0.1                    # 12 flights all fine; 400 simulations with 2 failures; simulation credibility weight 0.1
real_only = clopper_pearson_lower(ok_real, runs_real)
weighted = clopper_pearson_lower(ok_real + round(w * ok_sim), runs_real + round(w * runs_sim))
print(f"success probability lower bound (95 %): real flights only {real_only:.3f}; with simulation at weight {w}: {weighted:.3f} (heuristic)")
assert real_only < weighted < 1 and problems == []
A verification plan with a method check and an exact binomial bound; simulation counts only with a documented credibility weight (a heuristic for communication).

Common engineering mistakes

Verifying with demonstration what needs statistics

A single successful run says little about a 95th percentile.

Using unvalidated simulation as evidence

State what it was validated against; otherwise treat it as exploration.

Passing verification in a benign environment and claiming validation

The validation environment must be representative of the ConOps.

No baseline on the result

Evidence for an older build does not cover the current one.

Dropping failed runs

Report every run, including those that failed and why.

Failure modes

Failure modes, symptoms and causes
Failure modeHow it shows upLikely cause
Passes tests, fails in the fieldReal environment differsValidation gap: unrepresentative test conditions
Cannot defend the claimReview challenges the evidenceMethod or sample size too weak for the requirement
Surprises after software changeOld results reusedNo version stamp or impact analysis
Overconfident simulationReal performance worseSensor or environment models not validated

Debugging approach

  1. For each requirement, state the method, the level, the baseline and the sample size.
  2. Compare simulated and flown results for the same scenario to measure model credibility.
  3. Look for conditions in the ConOps that no test covers.
  4. Have a reviewer attack the weakest piece of evidence.

Practical exercises

  1. Choose the verification method for ten requirements of your capstone and justify each.
  2. Compute the Clopper-Pearson lower bound for 20 successes in 21 trials.
  3. List five validation questions that tests in a motion-capture arena cannot answer.
  4. Write a credibility statement for a simulation you used: what it was validated against and its limits.

Interview questions

Write an answer in your own words, then reveal the model answer. Nothing is sent anywhere.

Question 1

What is the difference between verification and validation?

Model answer

Verification checks that the system meets its requirements (built right); validation checks that it meets the real need in the real environment (the right system built).

Question 2

How do you choose a verification method?

Model answer

By the nature of the requirement: measurable performance with statistics needs test or validated analysis; static facts use inspection; qualitative capabilities can use demonstration; and strength of evidence must match the risk.

Question 3

How much should you trust simulation results?

Model answer

As much as its validation against real data supports for the conditions in question; state the validation basis and limits, and show real flight evidence for safety-relevant claims.

References and further reading

Primary papers, official documentation and standards. Each claim above that is specific to a tool or version points here.

What’s next

Mark this lesson

Saved in this browser and synced to your account when you are signed in.

Next lesson

M8-T4: SIL, HIL and ground testing

Plan test levels (unit, SIL, HIL, ground, flight), the evidence each provides and the entry criteria between them.