Details
The DORA Methodology: A Developer-First Approach for Resilience Testing
Year: 2025
Term: Fall
Student Name: Matthew MacRae-Bovell
Supervisor: Jean-Pierre Corriveau
Abstract: Resilience testing and chaos engineering evaluate how a system holds up under adverse conditions such as network delays, dependency outages, or resource exhaustion. Even though downtime poses obvious technical and business risks, these practices remain uncommon outside large organizations. Most current tools require substantial operational expertise, complex environment setup, and workflows that diverge from how developers normally write tests. This paper introduces DORA (Declarative test Orchestration for Resilient Applications), a methodology that brings resilience testing into the test layer by abstracting away the underlying infrastructure and operational complexity. With DORA, developers describe services, faults, workloads, and behavior assertions using the same idioms as their unit and integration tests, while the DORA runtime provisions temporary environments and handles orchestration and cleanup automatically. We also introduce ChaosSpec, a reference implementation that shows how developers can spin up containers, inject failures, and check system behavior directly from their usual test suites. Our qualitative and quantitative results show that DORA noticeably reduces the work needed to write and run resilience tests, and that it behaves consistently in CI environments. By lowering expertise and setup requirements, DORA makes resilience testing practical for teams of any size and enables further integration into everyday software development.