Lesson 1 of 5
Testability requirements
10 min
Listen to this lesson
Most SAP quality problems that surface in testing were designed in months earlier. An interface without a business key cannot be traced. A custom calculation buried in a user exit cannot be unit tested. A Fiori app with generated control IDs breaks every automated test after each change. None of these is a testing failure; they are architecture decisions that ignored testability. This course is for the architects who can prevent them.
What testability means
The ISTQB test automation syllabus defines testability of the system under test as the availability of interfaces that support testing, for example to enable control and observation. It says testability should be designed and implemented in parallel with the system's other features, that it is a non-functional requirement, and that this work is generally performed by a software architect, often with a test automation engineer. It names three aspects:
| Aspect | Meaning (ISTQB) | SAP example |
|---|---|---|
| Controllability | Interfaces that can be used to perform actions on the system | A released API to create a test sales order; a way to set a pricing date for a test |
| Observability | Interfaces that give insight into the system so tests can compare actual and expected results | Application log entries with the order number; an OData service that returns the calculated discount |
| Architecture transparency | Documentation with clear components and interfaces that give observability and controllability at all test levels | An interface catalog listing each flow's keys, error queues and owners |
The three aspects of testability from the ISTQB CTAL-TAE syllabus, with SAP examples.
From principle to requirement
"The solution shall be testable" is not a requirement anyone can verify. Write testability requirements the way you write any other: specific, per component, with a way to check them. Good testability requirements usually fall into a handful of families.
Each family maps to review questions at design time. Can the fleet discount calculation be called with test inputs without creating an order? Can the portal interface be fed a message in CMQ without the real portal? Does every inbound message carry the portal reference into S/4HANA? Will the custom Fiori app's buttons have IDs that the team sets and keeps stable?
Testability and clean core
Clean core and testability pull in the same direction. SAP's clean core guidance favors extensions built on released, stable APIs, whether on-stack with ABAP Cloud or side-by-side on SAP BTP. Those same APIs are natural control and observation points for tests: a test can create a business partner or read an order's status through the interface the extension uses, instead of driving screens. Conversely, extensions that modify SAP code or write to SAP tables directly are hard to test in isolation and must be retested broadly after every upgrade. When an architect weighs extension options, test cost belongs in the comparison.
- DesignArchitect lists testability requirements per component in the solution design
- ReviewTest lead and automation engineer review them with the architect
- BuildDevelopers implement isolation, logs, IDs and control points
- VerifyUnit tests, API tests and a review checklist prove the requirements are met
- OperateThe same observation points support monitoring and incident analysis
What would you do?
The design for a new custom approval process routes every purchase order above $25,000 through a workflow with logic spread over a BAdI, a custom table and an email step. Priya asks how her team will test the approval rules. What should the architect do?
- Testability is a non-functional requirement owned by the architect, designed with the automation engineer.
- Three aspects: controllability, observability and architecture transparency.
- Write concrete requirements: isolation, control points, observation points, stable IDs, determinism.
- Review testability at design time, like any other requirement.
Check your understanding · not graded
Lesson check
1. A testable architecture makes it easy to:
2. Who generally performs testability design work, according to the ISTQB TAE syllabus?
3. Which is a well-formed testability requirement?
4. What does architecture transparency refer to in the ISTQB syllabus?