Skip to content

Non-functional

Operational resilience testing

Operational resilience testing checks what happens to payments, balances, and orders when a region, database, or third-party provider fails, including failover with transactions in flight and recovery per function. Buyers receive resilience test scenarios for critical services, failover and recovery time results, third-party provider outage simulations, and test evidence mapped to Digital Operational Resilience Act (DORA) requirements.

What operational resilience testing includes

We test what happens to money in flight when infrastructure or a provider fails: card authorisations, transfers, payouts, withdrawals, and orders. The requirements behind the tests are on the DORA testing requirements and RPAA testing requirements pages; this page sets out test scope. Legal sources were checked on 2026-09-16.

Resilience scenarios for critical services

  • Function to component map. Each critical service from your business impact analysis maps to its API gateway, database, message queue, ledger, scheduler, and provider connections. One scenario covers one failed component and states the pass condition as money state: each acknowledged request ends in one final state, and no ledger entry is missing or duplicated.
  • Scenario set. Commission Delegated Regulation (EU) 2024/1774 Article 26(2) lists scenarios that response and recovery plans take into account, including (a) cyber-attacks and switchovers to redundant capacity, backups, and redundant facilities, and (b) failure of any relevant ICT third-party service provider. Our executable set adds software failure modes: loss of a cloud region, promotion of a database replica, loss of the queue broker, an expired TLS certificate on a provider connection, and a DNS failure.
  • Degraded modes. When the ledger is unavailable, card authorisation declines, approves against a cached balance within a stand-in limit, or queues. The test checks that the service uses the mode in your continuity plan, and that queued items post exactly once when the ledger returns.

Failover and recovery time

  • Switchover under load. Region and database switchovers run while synthetic traffic sends authorisations, transfers, and withdrawals. The checks look for acknowledged requests that disappear, client retries that create a second charge (the payment idempotency guide shows the retry cases), and a payout scheduler that starts in both regions and sends each payout twice.
  • Recovery measured per function. Recovery time runs from the injected fault to the first successful end-to-end transaction and to a drained backlog. Recovery point is the gap between the last acknowledged ledger entry and the last entry present after recovery. A database that is back within its target while the transfer API still rejects requests fails the function.
  • Backup restore. A ledger backup restores into a segregated environment. Balances then reconcile against processor and bank settlement files for the same period, and transactions a counterparty confirmed after the backup point are listed as breaks (ledger reconciliation testing guide).
  • Failback. Traffic returns to the primary site. The checks cover replication direction, ID sequence collisions, and jobs that ran on the secondary site and run again on the primary.

Third-party provider outage simulations

Each provider connection gets five fault shapes: connection refused, timeout after the provider accepted the request, slow responses, an error burst, and late webhooks or files after recovery. Provider connections by segment:

  • Acquiring, neobank, business banking, BaaS. Card processor and scheme connections, the 3-D Secure server, the partner bank core, and settlement files over SFTP. A timeout after acceptance leaves the outcome unknown; the test checks that the product queries the status before a retry and shows "pending", never "failed".
  • Remittance. Payout partners per corridor. A payout rerouted to a second partner after a timeout pays the recipient twice when the first partner also completes it.
  • Crypto exchange. Node and RPC providers and custody services. A withdrawal service that re-signs an already broadcast withdrawal after recovery sends the funds twice.
  • Trading. Market data feeds and broker or exchange connectivity. The test checks that the order service stops accepting market orders priced against stale quotes.
  • Open banking. Bank APIs. A payment initiation that times out may still execute at the bank, so the test checks that the product reads the payment status before it offers a new attempt.

The tests also check that circuit breakers open and close, and that retries after recovery stay inside provider rate limits. Delegated Regulation 2024/1774 Article 25(2) requires continuity tests to contain testing of services from ICT third-party service providers where applicable, and to duly consider provider insolvency or failure scenarios where relevant. Where your exit strategy names a secondary provider, the simulation routes test traffic to it and back.

Evidence records

Each run records the scenario, the injected fault, fault and recovery timestamps, measured recovery time and point, the reconciliation result, and defects with retest status. The mapping names DORA and Delegated Regulation 2024/1774 articles. The same records support recovery plan tests under SOC 2 criterion A1.3 and backup and redundancy controls 8.13 and 8.14 of ISO/IEC 27001:2022. Threat-led penetration testing and peak load testing are outside this service.

Deliverables

  • Resilience test scenarios for critical services

    Executable scenarios per critical service that name the failed component, the injected fault, the expected degraded behaviour, and the pass condition for every payment, balance, or order in flight, for the engineering lead and the continuity plan owner.

  • Failover and recovery time results

    Measured recovery time and recovery point per business function for each switchover, failback, and backup restore, compared with the recovery objectives the client set, with fault and recovery timestamps, for the engineering lead and the operational risk owner.

  • Third-party provider outage simulations

    Results per provider connection for refused connections, timeouts after an accepted request, slow responses, error bursts, and late webhooks or files, with the transaction state and customer-facing status after each case, for the engineering lead and the third-party risk owner.

  • Test evidence mapped to DORA requirements

    Test records with scenario, run date, environment, measured results, and defects with retest status, mapped to Digital Operational Resilience Act (DORA) Articles 11, 12, and 28 and Commission Delegated Regulation (EU) 2024/1774 Articles 25 and 26, as input to internal audit or supervisory review of the test programme.

How resilience tests fit your release process

On every merge. Provider fault tests run in CI against mocks behind a fault injection proxy: refused connections, timeouts after acceptance, error responses, and slow responses. The build fails when a request ends in two states, a retry creates a second ledger entry, or the customer-facing status reads "failed" for an unknown outcome.

Before a release that changes resilience. A release that changes a provider connection, retry logic, a ledger schema, queue topology, or infrastructure runs the affected scenarios in staging. DORA Article 11(6)(a) requires testing of continuity and recovery plans in the event of substantive changes to ICT systems that support critical or important functions, and section 9(1)(e) of the Retail Payment Activities Regulations (RPAR) provides for testing before the adoption of any material change.

Scheduled exercises. Region switchover, failback, and backup restore run in a production-like environment ahead of your yearly continuity plan test. DORA Article 11(6)(a) sets that test at least yearly. The DORA resilience testing readiness scenario sets out a first test cycle.

Production. Tests in production run only under your change control, in a window you approve, with synthetic accounts and test cards. Resilience environments hold no real cardholder data or account data.

Handover. Scenarios, fault injection configuration, and load scripts live in your repository. Each run adds a folder with timestamps, measured recovery values, reconciliation output, and the change ticket to your evidence store, and defects go to your tracker with the money state they left.

What your team owns. Your team owns the business impact analysis, the classification of critical or important functions, recovery objectives per function, approval of production tests, notices to providers before tests against their sandboxes, and reports to the competent authority or the Bank of Canada.

Sample deliverable

Sample, synthetic data

requirement traceability matrixRequirement traceability matrix: SCA, DORA, GLBA, and Nacha requirements for an EU and US payments product
Requirement traceability matrix: SCA, DORA, GLBA, and Nacha requirements for an EU and US payments product
Requirement referenceProduct requirementTest case IDsLast resultCoverage status
PSD2 RTS, Delegated Regulation (EU) 2018/389, Article 4(3)(b): no more than five consecutive failed authentication attempts before a blockPR-AUTH-012: Payment authentication blocks after five consecutive failed attempts, counted across app, web, and API channelsTC-AUTH-031, TC-AUTH-032, TC-AUTH-033Passed, 3 of 3 test cases, build 4.18.0, run 2026-09-08Covered
PSD2 RTS, Delegated Regulation (EU) 2018/389, Article 5(1)(d): a change to the amount or the payee invalidates the authentication codePR-PAY-044: A payee IBAN or amount edited after code entry requires a new authentication before the credit transfer executesTC-PAY-210, TC-PAY-211Failed, TC-PAY-211 executed an edited payee with the original code, defect DEF-0892 open, run 2026-09-08Covered, failing until DEF-0892 is fixed and retested
DORA, Regulation (EU) 2022/2554, Article 25(1): scenario-based tests in the digital operational resilience testing programmePR-RES-003: A card processor timeout moves the payment to pending, and a retry posts no duplicate captureTC-RES-014, TC-RES-015, TC-RES-016Not run in cycle 2026-Q3, processor outage simulator not deployed to the staging environmentPartial, test cases written and not executed
DORA, Regulation (EU) 2022/2554, Article 25(1): end-to-end testing in the digital operational resilience testing programmePR-E2E-001: A card payment moves from authorisation through capture and settlement to a balanced ledger entryTC-E2E-001, TC-E2E-002, TC-E2E-003, TC-E2E-004Passed, 4 of 4 test cases, build 4.18.0, run 2026-09-09Covered
GLBA Safeguards Rule, 16 CFR 314.4(d)(2): annual penetration testing and vulnerability assessments at least every six months, absent continuous monitoringPR-SEC-021: The public payment API and the customer web app get a penetration test every year and a vulnerability assessment every six months and after a material changeTC-SEC-100, TC-SEC-101, TC-SEC-102Passed after retest, 2 medium findings closed as SEC-F-017 and SEC-F-018, run 2026-07-15Covered
GLBA Safeguards Rule, 16 CFR 314.4(c)(5): multi-factor authentication for any individual accessing any information systemPR-ADM-009: Every support console login requires a second factor for each agent roleTC-ADM-040, TC-ADM-041TC-ADM-040 passed, TC-ADM-041 blocked because the supervisor test role is missing, run 2026-09-10Partial, supervisor role not verified
Nacha Operating Rules, Risk Management Topics, Company Entry Descriptions (effective 2026-03-20)PR-ACH-018: Consumer online purchase WEB debits carry "PURCHASE" in the batch header Company Entry DescriptionTC-ACH-301, TC-ACH-302Passed, 2 of 2 test cases on generated ACH file ACH-20260905-01, run 2026-09-05Covered
Nacha Operating Rules, Risk Management Topics, Fraud Monitoring Phase 2 (effective 2026-06-19)PR-ACH-025: An ACH debit to a payee account changed in the last 24 hours raises a fraud monitoring alert for reviewNone linkedNo run recordedNot covered, gap GAP-07 raised for the next test cycle

Product requirement IDs, test case IDs, defect IDs, build numbers, file names, and run dates are synthetic; requirement references were checked against EUR-Lex, eCFR, and nacha.org on 2026-09-16.

Questions

What is operational resilience testing?

Operational resilience testing injects failures into the systems behind a critical business service, such as a lost region, a failed database, or an unavailable payment provider. Operational resilience testing then measures whether the service keeps running in a degraded mode, how long recovery takes, how much data is lost, and whether every transaction in flight ends in one correct state.

What is scenario testing in operational resilience?

Scenario testing in operational resilience runs a documented disruption, such as a cloud region outage, against a critical business service and records the outcome. Commission Delegated Regulation (EU) 2024/1774 Article 25(2)(a) requires business continuity plan tests by EU financial entities under the Digital Operational Resilience Act (DORA) to use test scenarios that simulate potential disruptions, including an adequate set of severe but plausible scenarios.

Scope your operational resilience testing

Send your critical services, their recovery objectives, and the providers each service depends on, and we return a scenario list and a test plan for the four deliverables.

Scope your testing