Testing & Creativity

 

Testing & CreativityI think I love software testing because it involves such a great deal of creativity – “the process of having new ideas that provide value”. Sir Ken Robinson.

The creativity is needed both when generating test ideas outside explicit requirements, and when finding the effective methods for running important tests.

I’d like to explain this by visualizing software in the form of a potato The square is the requirements document, which covers important things that are easily expressible in written format. The implicit requirements, things that a user would want, are not included here.

The blue area is all possible usage and errors, which in reality is an infinite area.

But we’re lucky! The area for important things isn’t that wide, and we can perform sample tests (symbolized by dashes.)

The samples doesn’t cover everything, but if a skilled tester looks at what’s happening, there is a great chance that they will discover important issues in nearby areas (this is the everyday serendipity of the software tester.)

Creativity is needed to go from the requirements to “what’s important”, and to do it in an effective way.

Testers can combine knowledge from a variety of models, from the product’s history, from the technologies in use, from software testing itself, from actual usage (or stories thereof), from the context of the project, by conversations with different people, and by using their own skills.

We can’t find every bug, but we can aim to find all bugs that are important.

Cheating With Creativity

Since each project is unique, I can’t give you any secret methods of how you can create low-hanging fruit with ingenious test ideas and approaches.

But I can give you some hints on cheating:

Allow Creativity And The Mistakes That Go Along With It

Try many approaches, and cheat by letting there be some waste in your test efforts. Try rotating a “free role” within the team. You will make up for it, eventually.

Have a diversified team, and let people collaborate and inspire each other. Trust the tester’s intelligence.

Use Check Lists And Cheat Sheets

Your own list is the best, but as inspiration, search for “Test Heuristics Cheat Sheet”, “Exploratory Testing Dynamics” or “Software Quality Characteristics”

Get inspired by solutions and bugs for similar, and radically different, projects.

Count On Serendipity

You will find the best things when looking for something else; execute two different tests at the same time, and explore the areas in between Keep all your senses wide open!

Learn A Lot, And Combine Disparate Knowledge

Creativity never comes out of the blue; it is most often a new combination of existing things.

Ergo; learn more different things, and combine them in fruitful ways.

Steal, combine and adjust two well-known concepts and invent your own method.

Use Creativity Techniques

There are many ways to stimulate creativity, e.g. brainstorming, provocative operators, mind mapping, pair testing…

My favorite is “the opposite method”; thinking about things like “How can our software be as bad as possible” (Can’t start it; Can’t Install it; Can’t

Find it) has a good chance of generating insight of what is really important.

Creativity is not a gift, but rather the result of discipline and patience together with an open and curious mind.

Everyone is creative. Find your creative thinking and set it free.

About Author

Rikard Edgren, tester at TIBCO Spotfire, blogger at thetesteye.com

 

,

Trackbacks/Pingbacks

  1. Creativity in The Testing Planet | thoughts from the test eye - August 15, 2010

    [...] a small article for The Testing Planet about Testing & Creativity. (update: web article here) It contains the potato from this blog, but also some new content on “cheating”. Feel [...]

Leave a Reply