4.3.6 Controllability and Observability

Course subject(s) Module 4: Testability and Mock Objects

The terms controllability and observability are common in the field. In the following, we present Binder’s definitions:

  • Controllability determines the work it takes to set up and run test cases and the extent to which individual functions and features of the system under test (SUT) can be made to respond to test cases.
  • Observability determines the work it takes to set up and run test cases and the extent to which the response of the system under test (SUT) to test cases can be verified.

In other words, controllability is about how easy it is for us to provide inputs and invoke the behaviour that we want in the system under test. Observability is about how easy it is for us to observe the system under test in order to verify whether the system behaved as expected.

References:

  • Binder, R. V. Design for testability in object-oriented systems. Communications of the ACM, Sept 1994.
  • Binder, R. V. (2000). Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Professional.
Creative Commons License
Automated Software Testing: Practical Skills for Java Developers by TU Delft OpenCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://online-learning.tudelft.nl/courses/automated-software-testing-practical-skills-for-java-developers/.
Back to top