Testing a Runbook Like You'd Test a Backup

Documentation & Runbooks

Chapter 8 · Testing a Runbook Like You'd Test a Backup

Chapter 7 explained why documentation decays silently. This chapter delivers the actual practice that closes the gap — the exact discipline `backup1`'s own Chapter 5 built for backups, applied here to documentation: only someone genuinely attempting to follow a document proves it actually works.

Why the Author Testing Their Own Document Isn't Enough

The author already knows what they meant — which means they'll unconsciously fill in every gap and resolve every ambiguity a genuine stranger would trip over. This is the same underlying problem Chapter 5's own "watch, don't just ask" material identified: an expert's own automatic knowledge quietly contaminates their ability to notice what's actually missing from what they wrote down.

What Counts as a Genuine Test

  • Ideal: someone unfamiliar with the specific procedure actually executes it, in a safe test environment when the real action would be risky or destructive
  • A reasonable substitute: when live execution genuinely isn't safe or practical, a careful, skeptical walkthrough — checking that every referenced hostname, value, and tool actually still exists and is current — mirroring `backup1`'s own "sampling beats nothing" reasoning for backup sets too large to fully restore-test
  • What to confirm: that preconditions are genuinely checkable as written, steps produce the stated expected results, verification actually confirms the real goal, and rollback is itself followable — Chapter 4's own four sections, each independently confirmed to hold up

Test Cadence, Tied to Chapter 7's Own Review Material

A test is a stronger, more rigorous form of the review Chapter 7 already established, not a separate unrelated task. Critical runbooks — the ones reached for during high-severity incidents — deserve more frequent, more rigorous testing than a rarely-used KB article ever needs.

Documenting Test Results

Each test should record the date, who tested it, what was found, and whether anything needed fixing — creating a real trail of evidence, echoing `log1`'s own foundational discipline, rather than an untracked, fading sense that a document "still seems fine."

Resolving Chapter 1's outage completely
Had that runbook been walked through by someone unfamiliar with the recent server migration, the outdated hostname reference would have been caught immediately — the precondition check itself, "confirm you are connected to the correct production host," would have failed the moment a tester actually tried to verify it against current reality. The exact gap that caused a real outage to take twice as long as it should have would have surfaced during a calm test, months before anyone genuinely needed the document to work.
A runbook that "sounds right" to an expert proves nothing
Confirming a document with its own author, or with anyone already expert in the system it describes, tests the wrong thing entirely. The whole point of testing is finding the gaps that are invisible to anyone who already knows the answer without needing the document at all.

Hands-On Exercises

Exercise 1

Explain why the author reviewing their own runbook is described as testing the wrong thing, using this chapter's own parallel to Chapter 5's "watch, don't just ask" material.

📄 View solution
Exercise 2

Explain exactly how a genuine test would have caught Chapter 1's own outdated hostname before the real outage, and which specific structural section (from Chapter 4) is what would have surfaced the problem.

📄 View solution
Exercise 3

Explain why this chapter describes a test as "a stronger, more rigorous form" of Chapter 7's own review, rather than as an entirely separate practice.

📄 View solution

Chapter 8 Quick Reference

  • Only someone genuinely unfamiliar with the system actually attempting the procedure proves a document works
  • The author testing their own document doesn't count — their own knowledge fills gaps a real reader wouldn't be able to
  • Ideal: real execution in a safe environment. Substitute: a skeptical walkthrough verifying every referenced value is still current
  • Critical runbooks deserve more frequent, more rigorous testing than rarely-used documents
  • Document each test's date, tester, findings, and fixes
  • Chapter 1's outage is now fully resolved: a genuine test would have caught the outdated hostname via the precondition check itself, months before it mattered
  • Next: Chapter 9, organizing and making documentation findable