Controllability

Controllability image
Controllability is how easily testers can put a system into the state they need for a test. Alongside observability, it's one of the two main parts of testability.

Why it matters: If a system is hard to control, tests become slow, fragile or impossible. Raising controllability early, in design conversations, makes later testing far easier and cheaper.

In practice: Testers ask how they'll trigger each state a test needs, such as an error from a third-party service, a particular user setup or a data condition. Teams build in controls like test hooks, configuration switches and mocks to make those states reachable.

Examples:

  • Asking for a way to trigger a third-party service error on demand in a test environment.
  • Using a mock to reliably put the system into an error state.

Common pitfalls:

  • Raising controllability only after the system is built, when changes cost more.
  • Relying on fragile workarounds, like manually editing data, to reach a state.

What's the difference between controllability and observability? Controllability is how easily you can put a system into a state. Observability is how easily you can see what the system is doing once it's there.
Explore MoT
Test Forward 2027 ยท Software Quality in the age of AI image
Tue, 19 Jan 2027
Test Forward is one afternoon at Station F with the QA and engineering people closing that gap in their own teams.
Improving Your Testing Through Operability image
Gain the tools you need to become an operability advocate. Making your testing even more awesome along the way!
This Week in Quality image
Debrief the week in Quality via a community radio show hosted by Simon Tomes and members of the community
Subscribe to our newsletter