When we test a program, we create our model for this program. How much this model differs from the original program under test results in the quality of our testing activity. This post gives a model of the system under test, that is aligned with the Black Box Software Testing Foundations course (BBST) created by Rebecca Fiedler, Cem Kaner, and James Bach.
Tester’s model of the system under test is an approximation of the system under test. The quality of testing activity is based on model accuracy.
Here is Doug Hoffman model of the system under test:
A simplified model of the System Under Test (SUT) includes only green objects. Tester observes outputs of inputs that tester put into the system under test. Doug expands the model of the system under test that runs on desktop or mobile device:
SUT additional Inputs
- SUT internal state and data (was SUT already used or this is the first interaction with it?)
- Host system internal state and data (e.g. memory usage)
- system and SUT configuration (e.g. regional settings)
- neighboring program are programs that run on the same system as SUT (e.g. Mac Time Machine)
SUT additional Outputs:
- SUT internal states and data (was SUT already used or this is the first interaction with it?)
- System states and data (e.g. disk size)
- connected devices (e.g. printer)
- neighbor programs (e.g. Dropbox and SUT writes into Dropbox folder)
You will start testing with a simplified model of SUT. As your test mission and strategy will evolve, that model must also evolve.