“Thats not testing, it’s demonstration”One of those sad things I hear testers say. Like checking.
Too right it is. In so many ways, demonstration is even better than testing. Take the happy path, much berated by testers. I love the happy path. Show someone the happy path and check out the reaction. It’s one of my favourite testing techniques. The beauty of demonstration is that it is a wide broadcast for the happy path, which is what most stakeholders are interested in. Testers can get all upset about the happy path but that is to forget one of the core aspects of testing, it’s not only about the person doing the testing. Apart from going to Production, it’s one of the biggest tests of shared understanding.
On this note, another thing I hear myself saying all the time while testing is:
“Let’s do a demo”Me, a lot
The circumstances I generally say this are:
- I’ve just tested something and performed all the testing I wanted to do on it. But I could be wrong about that, so a demo is quick way to find out if others around me feel thats true.
- A developer has just finished something and they want me to test it. When they want to demo something, almost always say yes. These are the golden opportunities.
- Something is nearly ready to be tested but the developer isn’t sure about letting someone else see it yet. I ask for a demo, but really I’m sneakily testing.
- I’ve found something interesting and want to know what it might mean to my system. A lot of the fun of testing is finding something and not knowing what it means for your product. A demonstration increases your chances of finding out greatly. Perhaps show the developer who built it first though.
- I’ve found something interesting and want to know what it might mean to someone else’s system.
- There is something that someone says can’t be tested. Fine, show me it in action.
- There is something that someone says doesn’t need to be tested. Maybe, but let me have a look anyway. You can drive.
- Someone else has tested something and I’m interested in what testing has been done.
- I’m stuck for ideas on what or how to test something. Seeing or making it move, generally triggers wider idea generation.
- I want to influence how someone tests something as I have experience in that area but allowing that person to have a go.
- I want to influence what types of testing are done as part of the wider strategy. A demo is a great time for innocently asking questions about performance and security.
- Something has been in development for too long or significant gold plating is happening.
- I feel that I will end up being asked to test something unnecessarily large or risky very soon.
- There was no story kick off session for whatever reason. Sometimes there is good reason, like its a well understood problem. A demo before testing though, gives a chance for illusion busting before anything official has happened.
- I feel that all the focus has been the alternative paths and not enough on the happy path. It’s hard to believe but yes, I have seen the happy path go untested (and not work) while testers obsess over error handling and edge cases.
- I want to show how hard to test something is. I may labour the point a little too, sighing in a defeated manner as I ssh into the tenth server I need to tail logs on to be able to see whats happening.
- I want to get to know the stakeholders but need a relevant context with which to do it. Sometimes you need a way in to certain meetings and volunteering to demo functionality is a great way to to so.
- I want to know who cares about something we have built. And who doesn’t. Quality is value to some person who matters right? If you are really invested you want to see it work. Ask these people about what you might test.
- To show that the requirements don’t address all of the hidden requirements. Sometimes stakeholders don’t want to hear it, so you have to show it. It might not be an explicit requirement that people might get halfway through your registration process then bail out to come back later. But it will happen.
- That something that everyone believes will integrate with something else without any intervention, really doesn’t. Like that contracts in documents exist in systems with no differing interpretations.
Check out that lot! Look at what adding a focus on demonstration to your testing can do. So next time you are asked to do a demo of something, instead of complaining that its always the testers that do the demo say ‘absolutely!’
I’m paraphrasing here but:
“Working software is our primary measure of progress, especially when you are a tester”Me with a helping hand from the agile manifesto
We might not like it, but it’s true. Most of the time, we work pretty close to the done column. So, if you feel up to it, become a demonstration champion. Your team will love you for it.