In the previous post, we introduced software controllability and observability. Today we talk about test preconditions and postconditions. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.
Definition Prefix Values: Any inputs necessary to put the software into the appropriate state to receive the test case values.
When we test, we create a model of application under test. It is a good practice to create a state diagram of that model. Exploring that diagram, we realize that each test that we would like to do has value preconditions. With those values, we put applications under test in the desired state needed for our test case. To test the Tweeter tweet feature, we need to be logged in. Prefix test values are username, password, and two-factor authentication token.
Definition Postfix Values: Any inputs that need to be sent to the software after the test case values are sent.
When we are done with a test, it is good to put applications in a stable state. For that, we use postfix test values. From the previous example, this is a REST DELETE request with our current Browser session that clears our Tweeter browser session. This is better known as log out.
But for postfix values, there is more.
Definition Verification Values: Values necessary to see the results of the test case values.
These are famous CHECKS. Note the verb verification.
The main question in verification is: was something implemented correctly?
My stand on CHECKING is that it needs to be done, but this is not enough. Software testing is much more.
Definition Exit Commands: Values needed to terminate the program or otherwise return it to a stable state.
This is our Tweeter log out.
End to end testing is trendy. For that, we need prefix and postfix values. And entering those values is a great automation opportunity.