Chapter 30 — Verification laboratory I
Lesson map
Lesson 30 published. Map, example, EX088.
flowchart TD
N0["Learning outcomes"]
N1["30.1 Verification plan"]
N2["30.2 Error injection"]
N3["30.3 Responding to misses"]
N4["30.4 Verification report"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Worked example"]
EX --> Q["Exercise EX088"]
Logical drawing
flowchart LR
N0["Learning outcomes"]
N1["30.1 Verification plan"]
N2["30.2 Error injection"]
N3["30.3 Responding to misses"]
N4["30.4 Verification report"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX088"]
[Learning outcomes]
|
v
[30.1 Verification plan]
|
v
[30.2 Error injection]
|
v
[30.3 Responding to misses]
|
v
[30.4 Verification report]
|
v
[Worked example] --> [Exercise EX088]
Learning outcomes
You will (1) verify that implemented controls meet requirements; (2) use synthetic error injection; (3) report verification results.
30.1 Verification plan
The first verification laboratory checks whether the controls implemented so far meet the requirements from chapter 21. Kofi writes a plan listing each requirement, the control that should satisfy it, the test method and the pass criterion. For example, the completeness requirement is verified by removing one district from a synthetic billing extract and confirming that control DQ-04 raises an alert within an hour. The plan is reviewed by Prof. Varga before testing begins. Each test has a pass criterion agreed in advance.
30.2 Error injection
Kofi prepares a synthetic dataset with known errors: missing districts, readings below previous values, negative flows, a stuck sensor and a file with swapped columns. He runs the pipeline and records which controls detect which errors. Of twelve injected errors, ten are detected. The stuck sensor is missed because the flat-line detector needs six hours of constant values and the injection lasted four. The swapped columns pass because both columns hold plausible numbers. Kofi records both misses in the test log. Both are investigated.
30.3 Responding to misses
For the stuck sensor, Kofi discusses with network operations whether four hours of constant flow is suspicious. They agree that for large mains it is, and reduce the window for those sensors to three hours. For swapped columns, he adds a check that compares each column's distribution with its history, which would flag reversed values. He reruns the injection, and all twelve errors are detected. Each change is recorded in the control catalogue with its reason. Both owners approve both changes in writing, with dates.
30.4 Verification report
The report lists requirements, controls, tests, results before and after changes and remaining limitations. Kofi notes that verification shows controls work on known errors, not that they catch every possible problem. Prof. Varga explains that verification answers whether we built the controls right, while validation, later in the course, asks whether we built the right controls for the people who rely on the leakage figure. The report is filed with the control catalogue and becomes the baseline against which the second verification laboratory will later compare its own results.
Worked example
Kofi injects twelve errors, detects ten, shortens the flat-line window for large mains, adds distribution checks for swapped columns, reruns with all twelve detected and reports limitations.
Synthetic case. The laboratory is synthetic.
Errors and limits
Passing injected tests does not prove completeness; state limits.
Exercises
- EX088 — Detection count. How many injected errors were detected at first? Rubric: 3 = ten of twelve;; 2 = partly correct;; 1 = wrong;; 0 = none.
- EX089 — Swapped fix. What check catches swapped columns? Rubric: 3 = comparing each column's distribution with history;; 2 = partly correct;; 1 = vague;; 0 = none.
- EX090 — Verification versus validation. What does verification answer? Rubric: 3 = whether controls were built right;; 2 = partly correct;; 1 = vague;; 0 = none.
Continue studying — lesson 30 (chapter 30 of 50)
← Chapter 29 · Course chapter index · Chapter 31 →
Continue to the next authored lesson.