6 Practical Ideas to Stay Creative in Software Testing
by Simon Knight
You may not have thought of software testing as being a particularly creative discipline before. But if you haven't done so already, it may be time to start. If nothing else, thinking more innovatively about how you approach your testing projects will help you sharpen your own testing skills. And if you hit the jackpot with a new idea, concept or approach -- you'll win renown not just in your own team and organisation, but potentially within a global software development and testing community.
"Art is theft." -- Pablo Picasso
And thinking creatively doesn't have to be an uphill struggle. After all, if even Picasso acknowledges that "art is theft" -- there can't be that much to it, right? If you just had a few places to look for ideas to steal, and a methodology for turning them into something bigger, better, bolder, stronger -- you'd be good, right?
Well, look no further. I've listed 6 great places to start below:
A great place to begin your hunt for ideas is with the competition. Artists do this all the time, as Picasso would no-doubt happily attest to were he still alive. Businesses do it as well. And let's face it; checking out the competion comes very naturally to us as social beings. We're always trying to figure out where we fit into the pecking order of things and where we're winning and losing in respect of our closest competitors.
Who might the competition be in software testing though? Well, we could start by looking over the shoulder of any developers in the vicinity. More broadly speaking -- what are the development community doing? What tools are they using? What patterns and models have they come up with to make their lives easier? Are they applying some heuristics you should know about?
You don't need to stop with developers either. What about designers? Product owners and analysts? Devops engineers?
Keep an eye on what the competition is doing and see where they're doing it smarter and better than you, then steal their ideas. While you're at it, look for any mistakes they might be making, or gaps they've overlooked -- and try to think about ways to correct or fill them.
Don't stop with the competition though. You need to keep an eye on what your colleagues are doing as well. And not just the guy sat next to you. Think about the bigger picture. How can you keep tabs on what testers are doing throughout your organisation, your city, nationally and internationally?
You can approach this from a number of angles, on or offline, proactively or passively -- by way of social media, groups, community events, conferences and the like. Just keep in mind that the objective is to get talking with them and share ideas. Both on and offline you'll most likely find a better success ratio if you start by giving rather than just taking, so offer to share your own ideas as well as picking the brains of others.
These days, finding information isn't a problem. Filtering out the noise is the hard bit. But if you're hunting for ideas to capitalise on, you need to figure out some way of staying on top of current events and thinking in software testing that works for you.
Tools that work for me include RSS, social media, IFTTT, Evernote and in-person events both locally, nationally and internationally. As well as being hooked into the software testing community.
I use RSS to stay on top of relevant blogs and articles. Social media to see what people are up to and talking about. IFTTT to automatically gather and file pertinent information and Evernote to file it all in.
In-person events are a great way of staying in touch with friends and making new ones.
What works for you? Devise a system and work it!
Old and established material and techniques
In the quest to stay current, it can be easy to forget about the people and the work that has gone before. Much of what we have now by way of tools, models, heuristics, approaches and strategies have come about from the work of a great many people. James Bach and Michael Bolton have recently built upon the work of Harry Collins for example. But who did Harry Collins look to when carrying out his work? (Dreyfus, Ginzburg, Sacks etc.) And who informed their work?
What if, by tracing the work all the way back to its source, you were able to go off in a completely new and undiscovered tangent?
Top tester work
I've already mentioned James Bach and Michael Bolton, but there are plenty of other "top testers" you can look to for ideas and inspiration. And if you want to advance in your field, emulating established masters -- particularly by way of a mentoring or coaching relationship (it worked for Luke Skywalker, Justin Bieber and Plato after all) -- is a tried and tested technique for success.
You don't have to be up close and personal for this to work. Nearly everyone can be found on the interweb more or less, and then it can just be a case of keeping up to speed with what they're doing, where and how. You can try and follow along yourself, or just ask them for some tips. Whatever works for you.
I've saved the best until last. In my opinion at least, the most effective way of generating new ideas is through what has been appropriately coined "idea sex". Find two ideas that may (or may not) seem like a good fit for each other, put them together and see what happens...
Did they have some babies? Were they cute ones or some kind of Frankenstein's monster? The fun bit here is, you don't know until you try!
The other great thing about this approach is that you get to follow your own energy. What are you into? What makes your heart sing? Whatever it is that you have an interest in can potentially have some application to the software testing field that is new and useful. Your job is to dig that nugget of gold out. You may have to shovel a lot of dirt in the process, but it's dirt you love. So no problem, right?
Ok so now we have some places to look for ideas to steal and apply to our software testing work. What do we do when we get them? Well -- there's two basic tools we can apply to get things started:
Plus one it
Take the idea you've found and try to figure out a way to improve or "+1" it. Can you make it bigger? Can you make it faster? Can you plug a gap? Can you fix a problem? Can you make it better or improve on it in some way, big or small that makes it NEW?
If you can't find some way of improving the idea, what about just adding your own unique slant or personality to it? After all, you are completely unique, so the idea + you, by definition, has never been done before!
I mentioned idea sex already. Why stop at just two ideas though? How about a ménage à trois? 🙂 Or perhaps the idea or concept you've stolen can be remodelled in some other way.
Let's take the recent Star Wars film The Force Awakens for example. JJ Abrams just took a bunch of ideas from the Star Wars films that preceded it, rearranged them, spliced in some of his own [tried and tested] magic and -- hey presto -- we have a billion dollar blockbuster of a film, using exactly the same approach he applied to the Star TREK franchise by the way!
In the same way as not everybody will be happy with Abrams's spin on the Star Wars franchise, you may not meet with instant success the first time you apply some of the ideas above. Stick with it though and over time you'll find that the process becomes easier and your ideas get better. The brain is a muscle after all, and the more you exercise it -- the better results you'll get.
Probably you won't be a Picasso, or even a JJ Abrams. But learning to be more creative by constantly reviewing, combining and building upon ideas using some of the tools above may make you a better tester. Where you go from there, is up to you.
About Simon Knight
Simon works with teams of all shapes and sizes as a consulting test specialist, testing project manager & facilitator, helping to deliver great software by building quality into every stage of the development process. Find him on his blog, Twitter or LinkedIn.