A definition is not just a group of words. It sets the theme. It sets the expectation. If someone gives you a definition of a test in terms of process and measurements, you can expect that what he or she would offer later will be in that direction. A definition is a window into the mind of the person putting it together.
I wanted to come up with a definition to represent what I think about what is a test. A definition could not contain it. So, here’s my attempt at capturing a sort of temporary, incomplete “Undefinition” of a what is a test. I will use this as a base for my future writings:
What is a Test?
A test is a theoretically possible, mental or documented, standalone or subsequent instance of one or more expected or unexpected interactions, comprising of input & output variables and related protocols, with a test object and other participants – human or non-human real objects or doubles, in a combination of sequential and parallel steps, whose birth and life is controlled by the people, processes and technologies involved, further constrained by the time and budget availability, automating wherever it is necessary and feasible, in an attempt to observe all these objects to understand the test object, in the light of the assumptions and expectations of the people involved with a hope to determine confidence in Quality of the test object in terms of whether different targeted users will feel about it in the same way we intend them to and/or whether the targeted objects will find it fit for purpose with respect to the targeted Quality attributes, taking into account side-effects on other Quality attributes, conducted by one or more testers who are supposed to make sense of themselves in the midst of all these noises and contradictions, managing perceptions about risk and value about Quality in the overall context which is inherently non-determinable as theoretical infinity exists across all pieces of the puzzle.
The above text is overly complex. I know that. This is what expresses the complexity I want to break down in the upcoming articles.
Here are different parts of this definition: (delving into each one of them in this article will mean writing all posts as one, not something I am keen on):
- A test being theoretical possible but infeasible or unimagined
- Whether it is documented or in the mind
- Standalone or subsequent (follow-up) interactions to highlight the interactive nature of the test
- Type and sequence/parallelism of interactions with the test object in terms of input, output & control variables and the related protocols
- The target of interactions – test object (real), participant objects (real or artificial)
- The role of people, process and technologies of whether one will even come up with this test and accordingly, its life thereafter
- The role of time and budget
- The role of assumptions and expectations
- The purpose of the test in relation to quality attributes, the relationship of quality attributes amongst themselves and targeted users/objects
- The role of all of the above complexity put together with testers’ own limitations and biases
- Finally, the acknowledgement of infinite nature of all of the above
I don’t want to simplify anything. Testing is a complex profession. We first need to respect the complexity involved. Then we simplify it to fit a situation. The other way around is often biased.
That’s all for now.

Leave a comment