“Testing” (verb) - What a contentious word it is!
Speak to some people and it means checking whether specific expectations in our model of the thing are what actually occurs in the real product (via human or automated means). Speak to others and testing means specifically the human element of checking expectations of a product.
Others see testing as an all-encompassing term for anything that involves modelling, operating, analysing, and evaluating a product, whether via human or automated means.
And there are many other definitions out there.
Whatever definition you choose to go with, I’m here to declare that testing does NOT improve quality!
You see, testing in this context is a verb (a “doing” word) and just the act of doing testing is not enough to improve the quality in the systems we work on. Let me explain…
If someone tests something, gathers information about what was expected, what was observed, differences with the expected behaviour, ideas for improvements etc and then doesn’t share the info, did that “testing” actually improve the quality of the system/product?
Or to use an analogy; if you were cooking a dish and you tasted it while cooking it to discover information about how salty/sweet/sour/bitter it was in order to improve it, but then you never used that information from tasting it to make improvements (or abstain from changes), was there any benefit in tasting it?
And so you see, we also have to have another task to act on the information we gathered while testing, and we also need to make sure that the information we gather is able to be acted on in a manner which can increase the quality of the system, and then we also need to act on the info correctly, too! 😅
Think about what the effect might be on the “act on the info” mechanism in the following examples:
- What if something is tested well ✅ , but the good information is reported badly ❌ ?
- What if someone misinterprets what they see while testing ❌ and creates a great report ✅ with that incorrect information?
- What if the information is incorrect ❌ , and badly reported ❌ too?
Depending on the scenario it creates waste for the testing effort, waste for the development effort, or all-round waste.
Testing can be a significant part of improving quality but only when it is paired with a mechanism to alter the system under development.
An efficient change mechanism allows teams to lessen waste and use testing to generate information that can be actioned to improve quality.
Until next time, folks!