Field Note · VTS-FN-003

Your backups aren't tested until you've restored them

TL;DR A backup job that completes successfully answers one question: did the software finish running. It does not answer the question that actually matters: can you get your data back. Those are different disciplines, tested in different ways, and confusing them is one of the most common — and most expensive — mistakes in IT. The only real test of a backup is a restore. Everything else is a hypothesis.

Two different questions, one green checkmark

Every backup platform reports success the same way: a green checkmark, a completion email, a dashboard that says "all jobs healthy." That checkmark answers a narrow question — did the backup process run to completion without an error. It says nothing about whether the data it produced can actually be turned back into a working system, a mountable mailbox, or a readable file.

Those two questions feel like the same question. They are not. A job can report success every single night for a year while producing backups that would fail to restore on the night you actually need them — and the monitoring dashboard would never show a single red flag, because nothing about the failure shows up until someone tries to use the backup for its actual purpose.

What verification checks — and what it can't

Modern backup software is good at verification: checksums confirm the bytes written match the bytes read back, catalog integrity checks confirm the backup's internal index isn't corrupted, and job logs confirm every step in the process reported success. All of that is real and worth having. None of it tests the thing you actually care about.

Verification checksOnly a restore test checks
The backup job completed without errorThe restored system actually boots, or the restored database actually mounts
Checksums match on the stored dataApplication-consistency was preserved, not just file-level consistency
The backup catalog/index isn't corruptedA single file, mailbox, or table can be recovered individually, not only the full set
Storage capacity and retention policy are healthyThe restore finishes inside your actual recovery time objective (RTO)
The schedule ran when it was supposed toThe written restore procedure is complete, current, and followable by someone other than its author

Failure modes that hide behind a green checkmark

These are common, well-documented, and every one of them can coexist with a perfect verification history:

A practical testing cadence

Verification should run on every job, automatically, as it already does in any competent backup platform. Restore testing needs its own deliberate schedule, because it will never happen by accident:

  1. Quarterly, at minimum. A full restore test for every critical system, on a schedule that doesn't get skipped when things get busy — busy is precisely when a bad backup gets discovered the hard way.
  2. Restore to an isolated environment. Never test a restore by writing over production. An isolated sandbox proves recoverability without creating a second incident while testing for the first one.
  3. Time it against your actual RTO. A stopwatch, not a guess. If the real number doesn't meet the business requirement, that's a finding worth having in peacetime rather than during an actual outage.
  4. Rotate who performs the test. Have someone other than the usual backup administrator run the restore, following only the written documentation. Gaps in the runbook surface immediately when the person running it doesn't already know the undocumented steps.
  5. Test individual-item recovery, not just full-system recovery. The most common real-world request is "get me back this one mailbox" or "restore this one folder," not "rebuild the whole server." Confirm both are actually possible.

A simple maturity ladder

Useful for sizing up where an environment actually stands, not just where its dashboard says it stands:

LevelWhat's true
1 — HopeJob completion is monitored. Nothing has ever actually been restored.
2 — VerifiedChecksums and catalog integrity are checked automatically. Still no real restore has been performed.
3 — Spot-testedIndividual files or mailboxes have been restored successfully, at least once, somewhat recently.
4 — ProvenFull-system restores are tested on a fixed schedule, timed against RTO, performed by rotating staff, to an isolated environment, with results documented.

Most environments believe they're at Level 4 and are actually at Level 1 or 2 — because verification looks and feels like proof, right up until the day it isn't.

The lesson

This is the expanded version of a principle we hold to across everything we build, not just backups: verification over trust. A patch isn't deployed until it's confirmed. A security control isn't real until it's been exercised. And a backup isn't a backup — it's a hope — until it's been restored, on a schedule, by someone who didn't write the runbook, inside the time your business can actually afford to wait.

From the team that tests its own restores

When was the last time your backups were actually restored?

A security and infrastructure posture review checks exactly this — before you find out the hard way.

Talk to VTS