Carsten Feilberg posted the following on Twitter yesterday:
Since I started translating ‘testing’ to ‘demonstrating’ when talking to non-testers like mgrs, it all makes much more sense.
The post sent my mind off thinking about types of testing: I realised that demonstrating functionality is a common task in testing, and that demontrating is an important task in the project I’m working on at the moment.
And after dreaming about this all night, I have come up with four types of (knowledge producing) work commonly associated with ”testing”:
- Testing
- Checking
- Demonstrating
- Assessing Qualty
Let me briefly describe each:
Testing has the objective of finding issues and knowledge about a product. You don’t do testing if you know everything you need to know about a product, so part of the ‘charter’ involved in testing (whether it’s written down or not) is that you are expected to find out things about the product that wasn’t known before: E.g. bugs. It might be better termed ‘learning’, as suggested by Michael Bolton.
Checking is something you do to verify that things are in order. A pilot goes through a check list before takeoff. Checking implies that you already know exactly what you are checking, so a check will only produce knowledge about the items on the checklist. In software, checks are often automated. As described frequently by Bolton, Bach, Weinberg and others, much of the testing work carried out in software projects is actually checking.
Demonstrating functionality is about showing that a product can do something – and how it does it. Most ”acceptance testing” and ”user testing” are actually demonstrations, and demonstrations are very useful when you need to document that something is ”ready for delivery” from supplier to customer.
Assessing quality is something I think deserves more attention: Testing is usually associated with the production of ‘bugs’ or ‘issues’, which do not by themselves say anytnhing about ‘quality’ of something: If you’re an optimist (e.g. project manager), you’ll tend to say: ”ah, that’s just one bug, they’re fixing it”, whereas pessimists (e.g. testers) will say: ”oh, this is all rotten, just give me more time to find all the other bugs”. Assessing quality is about qualifying either statement – or something in between.
These are four types of activities – are there more?