Australian cloud for business software — built and run in Sydney since 2003

NetLeverage
NetLeverage

Testing the restore of an application and the systems it needs

Technical article
Backup & Recovery

About this article: AI-assisted writing, reviewed against the cited sources. This is source research, not a lab validation of the procedures. Check the stated versions and your own recovery requirements before making changes.

Pick the smallest set of systems that can perform one real task, restore that set to a mutually consistent recovery point, and run the task. If the task needs three systems and you only restored two, you tested a fragment. Copies taken on different nights can form a valid recovery set only if supported replay or reconciliation brings them to a mutually consistent state; merely starting each copy does not prove that. The group test is the one that fails when the pieces do not fit.

This is a test design, not a rebuild manual. It does not tell you how to repair an operating system or how to replay a database engine's logs. Those are separate skills. The design question is which members belong in the set, which backup generation they share, which order the contingency plan already gives them, and which observable result counts as success.

Nothing here was executed. The worked example is hypothetical.

Why it matters

The controls discussed here apply where your organisation has selected or is required to meet them. They are not a blanket legal requirement for every business.

The Information Security Manual of September 2026 does not ask you to restore "a server" and stop. Control ISM-1515 says restoration of data, applications and settings from backups to a common point in time is tested as part of disaster recovery exercises. The paragraph above it says the test is how you learn that the backups can be restored, and how you find dependencies before you need them. Control ISM-1810 says the backups of data, applications and settings are synchronised so that restoration to a common point in time is possible. A test that ignores the common point is checking something the control did not ask for. A backup design that cannot produce a common point will fail ISM-1810 before the test even starts.

NIST SP 800-34 treats interdependency as part of the business impact analysis, not as an afterthought in the runbook. The BIA characterises system components, the processes they support, and interdependencies, so the consequences of a disruption can be described. One of its three steps is to identify the resources required to resume the process and the related interdependencies. The examples it gives are facilities, personnel, equipment, software, data files, system components, and vital records. Another step is to set recovery priorities so activities can be sequenced. A group restore test is how you find out whether that sequence and that resource list are real.

The same publication's recovery chapter says that when a complex system has multiple independent components, procedures should follow the priorities from the BIA, in a stepwise order, so components come back in a logical way. Its example is specific enough to reuse as a pattern and general enough not to be a product recipe: when recovering an application server, address operating system restoration and verification before the application and its data. It also says recovery teams need to understand how interdependencies between teams affect the strategy. A test that assigns every member of the set to one person, when the plan assigns them to three teams, has not exercised the interdependency the guide is worried about.

SP 800-53 CP-9(2) asks for a sample of backup information to be used in restoring selected system functions during contingency plan testing. A function that only exists across several systems is a selected function. Sampling one disk because it is small substitutes an easy function for the real one. CP-4 says you test the plan to determine whether it works, and you review the results. A group test with a written success criterion gives that review something to hold.

ASD Essentials action PRO-10, published 15 October 2026, asks that regular restoration testing be capable of meeting defined recovery time and recovery point objectives. For a group, the recovery point is the common time, and the recovery time is the time until the cross-member task works, not the time until the first virtual machine shows a login prompt.

How it works

Name the set from the task, not from the backup job

Start with a task a customer or a colleague would notice. A hypothetical example: "issue a receipt for a paid invoice." List every system the task reads or writes on the way through. In the example that might be the web tier, the application tier, the data store, and a mail or message system that sends the receipt. Stop when the task can finish. Resist adding the entire data centre because it is "related". SP 800-34's BIA is there to correlate the system with the process. A set that cannot be tied to a process has no criticality and no success criterion.

Write two lists.

  • Members in the set: each system or data set the task touches, including settings and accounts that live somewhere else. CP-9's discussion separates system-level information (system state, operating system software, middleware, application software, and licences) from user-level information. If the task needs a licence server or a service account that is not on the application host, that item is a member or an explicit external dependency. Leaving it unnamed means the test will "succeed" on a guest that cannot log in.
  • External dependencies you will not restore: identity, name service, time, and the network, only where an explicitly approved test design permits use of production services. Default to isolated substitutes with blocked outbound writes, payment calls and message delivery. Mark them as assumptions. An assumption that is false on the day of an incident is a hole the test did not see. The manual's reason for testing is to surface dependencies. An assumption hides one. Prefer to promote a dependency into the set when the task fails without it.

Settings are members of the data the manual names. A restored application binary with yesterday's configuration file, or with no configuration file, is not "applications and settings" at a common point. Include the configuration location in the member list even when it sits on the same host. The test must show that the recovered configuration is compatible with the selected data state. Unchanged configuration need not have the same backup timestamp; record the version and compatibility evidence.

One point in time is a property of the set

ISM-1810 is a requirement on the backups: they are synchronised so a common point in time is possible. The test checks that you can use that property. Before the exercise, write the target time in one sentence. "All members will be recovered to a mutually consistent application state representing the agreed 02:00 recovery point." Record each backup identity, the state it contains and any supported log replay or reconciliation used to reach that state. Merely choosing copies taken before 02:00 does not establish consistency; a week-old copy also satisfies that loose timestamp rule. Matching file or job timestamps alone cannot prove that cross-system transactions agree.

A common failure of bookkeeping looks like success. The application host is restored from 02:00. The data store is restored from 02:00 the previous week, because this week's data backup failed and someone substituted an older one without changing the sentence. Each restore job can be green. The set does not meet the sentence. SP 800-34's validation data testing asks whether recovered data are complete and current to the last available backup. For a group, "current" has to be current to the same backup horizon, or you must write down the gap as a finding. A gap is allowed only as a finding. It is not allowed as a silent substitution.

If the backup method is incremental, SP 800-34's description still applies inside the group: restoring a member may require the last full backup and each later incremental, or the full backup and the last differential. The common point is the time the chain reaches, not the time of the last incremental job alone. Walk the chain for every member or do not claim the point in time.

Order comes from the plan, and the plan should come from the BIA

SP 800-34 says procedures for a multi-component recovery should be stepwise and should reflect BIA priorities, so that related systems are not hit by a sequence that blows the maximum tolerable downtime. Use the order already written in the contingency plan. The test's job is to find out whether that order works, not to invent a cleverer order on the day.

The guide's application-server example is a usable inner order: verify the platform before you bring up the application and the data. Apply that idea inside each member, and apply the BIA priority across members. If the data store must be up before the application will start, the plan should already say so. If the test discovers the opposite of the plan, that discovery is the result. Change the plan in the after-action report. SP 800-34 says lessons learned update the plan.

Coordination between teams is part of the order. If the network team, the data team, and the application team each hold a step, the test clock includes the hand-offs. SP 800-34 says an action that is not completed in the expected time should have an escalation step. Put that escalation in the test plan so a stuck hand-off is a recorded event, not a hallway conversation that never reaches the report.

Do not confuse this set-level order with the order of an entire estate. Identity, addressing, and name service for a whole organisation are a wider sequence. Inside this test you either include the particular identity and name dependencies this task needs, or you document that the test borrowed the live ones. Borrowing them means you have not proved you can recover them.

The success criterion crosses the members

SP 800-34 requires explicit test objectives and success criteria, and it says tests use quantifiable metrics. For a group, a per-member "ping succeeded" can all be true while the task is impossible. Choose a criterion that is false unless the members cooperate.

In the receipt example, the criterion might be: a test payment recorded against the restored data produces a receipt whose amount matches the payment, and the receipt is visible in the restored message store. The amount, the payment identifier, and the time the receipt became visible are the metrics. A login page on the web tier is a waypoint. It is not the criterion.

Also record the negative checks you meant to make. SP 800-34's reconstitution section separates data testing from functionality testing. Data testing asks whether the files or databases are complete and current to the last backup you claimed. Functionality testing asks whether the system can do its work. For a group, do both. A task that "works" on empty or stale data is a functionality pass and a data fail. Write both results.

Time is a metric for the set. Record the disruption start, declaration time and recovery-work start separately. Compare total service unavailability with the RTO; a shorter restore-operation clock cannot omit detection and approval delays from that comparison. Stop it when the cross-member criterion passes, not when the last job in the backup console says completed. PRO-10's interest in the recovery time is about the procedure meeting the objective. A console time that excludes the hand-off between teams under-measures the procedure the BIA's interdependency step was written to capture.

What you do with a member that will not come back

The test plan should say what a missing member means before you start. SP 800-84, which SP 800-34 points to for exercise design, expects a way to end a test that threatens live operations. A group test on isolated systems can usually continue after one member fails, and the result is "set not restored". A group test that has been allowed to touch production names or production data needs the abort written down. This article does not provide that production procedure. If you cannot describe the abort, do not aim the test at production.

CP-4 says corrective actions follow the review. A failed member becomes a change to the backup scope, the order, the team hand-off, or the success criterion. It does not become a note that the other members were fine, filed as an overall pass.

What to choose and why

Choose the smallest task that would cause a real operational problem if it were down for longer than its maximum tolerable downtime, using the BIA language in SP 800-34. Then let that task pick the set. A task with two members is a better first group test than a task with twenty, because you will actually finish the common-point accounting. Add members when a finished task still depends on something you assumed.

Choose the backup generation using ISM-1810's rule: one point in time for data, applications, and settings. If your backup product cannot mark that point across members, the test's first finding is a design finding. Do not paper over it by restoring whatever each console offers as "latest". Latest on five consoles is five times.

Choose the order from the current plan, including the guide's pattern of platform before application and data where that pattern matches the member. Invite every team that owns a step. SP 800-34 is direct that interdependencies between teams affect the strategy. A test run entirely inside one team hides those interdependencies by construction.

Choose an isolated place for the set whenever the test would otherwise collide with live names, live accounts, or live upstream senders. You then prove the set can function together. You do not prove that production routing will send users there. Say which of those two claims you are making. The second claim is a cutover question and needs its own authority and its own abort.

For the record, one page is enough if it has these lines:

  • Task and success criterion.
  • Members, each with backup identity and the time that backup represents.
  • Assumptions left on production, each named.
  • Order actually used, and any step that missed its expected time.
  • Data result and function result, separately.
  • Elapsed time to the criterion.
  • Findings that will change the plan.

That page is the after-action material SP 800-34 already expects. A folder of per-server job tickets is the raw material, not the group result.

Risks and limits

The widest risk is testing the diagram you wish you had. If the receipt task silently calls a tax service you did not list, the test can pass in a lab that does not include the tax service and fail in production. The BIA step that asks for interdependencies is the mitigation, and it is only as good as the people who walk the real task. Schedule that walk before the restore, not during it.

The second risk is a common clock achieved by restoring one member and copying files onto the others from production. Those other members were not restored. ISM-1515 is a restoration test. A hybrid of restore and live copy needs to be labelled as a hybrid, and it does not satisfy the control for the members that were copied live.

The third risk is declaring the recovery point from the oldest member without saying so. If four members are at 02:00 and one is at last week, there is no proven common recovery point. The set passes only after a supported procedure aligns or reconciles every member and verifies the cross-system business state. Taking the oldest timestamp alone does not establish this. Pick the rule in the test plan. Do not pick it in the summary.

The fourth risk is using this test as a substitute for an estate-wide sequence. A group can borrow live directory and name services and still be a valid test of the application task. It is not a test that the organisation can rebuild directory and name services. Keep that limit in the first paragraph of the report so a later reader does not upgrade it.

The fifth risk is scope that wanders into engine repair. SP 800-34's example stops at "verify the platform, then the application and its data." It does not, in the section opened here, provide filesystem or database repair steps. This article also does not. If the data store will not start, the group result is that the member failed. The repair belongs to a procedure that has been validated for that engine, which this source-researched draft is not.

SP 800-34 dates from November 2010 and its worked BIA times are marked as notional. Do not copy the hours in its figure into your own objectives. The structure — process, impact, downtime, components, recovery time — is what the figure is for. The September 2026 manual's ISM-1515 and ISM-1810, and PRO-10 from 15 October 2026, are the Australian requirements used here. The transition note published the same day says old Essential Eight maturity ratings do not automatically become ratings in the new framework.

This article was written with AI assistance. It is source research only. The factual claims have been independently checked against the cited sources. No group restore was performed.

Sources