In the current issue of Better Software, Michael Bolton writes about risk-based testing. Thinking about what could go wrong with my application can, I find be a lot of fun. What might happen that shouldn't? What mightn't happen that should? My favorite way to approach this type of testing is to play Headline News: brainstorm headlines involving your feature or product, the more extreme the better. Find ways your application could take down civilization as we know it, or shut down Wall Street, or cause the Sahara Desert to disappear. Believability is not exactly necessary!
Now take the kernels of your best worst headlines and tone them down a bit so that they are believable. Still push yourself, however - the biggest negative consequences tend to come from risks and issues you hadn't foreseen. As you do this, remember to bring all of your customers into the fun. As I say in my Hallmarks of a Great Tester talk, and as Michael discusses in his article, you likely have many more customers than you realize. Stretch your definition of customer as far as it will go, and then stretch it a bit further. The most damaging headlines often involve customers you wouldn't normally consider.
Once you have a set of headlines, use them as a jumping off point for your testing. What would have to happen in order for each headline to come true? How can you make that happen? Alternatively - or, even better, in parallel, use your headlines to start a discussion with your team about the underlying risks where you prioritize and plan mitigations for each of them.
One reason I like this technique is that people in all disciplines and with all levels of experience can participate, from the newbie dev to the most senior tester. Playing it can be a fun way to help your feature team work like a team rather than being a developer, a tester, and a PM in the same room talking about mostly the same things.
What are your best worst headlines? Post them in the comments!
*** Want a fun job on a great team? I need a tester! Interested? Let's talk: Michael dot J dot Hunter at microsoft dot com. Great testing and coding skills required.