In the previous post, we introduced a definition for the test expected result. Today we talk about software controllability and observability. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.
Software Controllability: How easy it is to provide a program with the needed inputs regarding values, operations, and behaviors.
For some programs, this is easy if we can use program UI components to control software under test. But what if we need to manage a software driver that receives input for hardware? In that case, we could handle such software either with real hardware or a program that would simulate such hardware. Such software under test is harder to control, and it would require more testing hours.
Some testers think that observability is a new hipe thing in software testing, but this is good marketing of software conferences. Observability is a well-known software testing topic:
Software Observability: How easy it is to observe the behavior of a program in terms of its outputs, effects on the environment, and other hardware and software components.
Again, if the software under test is using UX components to presents it’s output, that it would be relatively easy to observe such results. But if we need to observe the software environment or its output is for hardware or some other software component, then we would need to have real hardware or a simulator to observe such a result.
Observability and controllability are important software testing concepts. How easy it is to observe and control a program under test directly affects how long it would take to test the software under test.