In high school I would, on occasion, be accused of being lazy. My witty response would invariably be something along the lines of “I’m not lazy; I’m efficient.” It is somewhat fitting that I have been consciously pursuing a path of actual efficiency in how I approach my testing activities.
The change from “uncover quality-related information” to “uncover quality-related information as efficiently as possible” happened as a result of my rise in seniority at a couple of different organizations and an increased role in the business side of development. It turns out that management, while interested in standard quality information, is really interested in knowing when I/we think the product is ready to ship.
In this chapter I will share my three main methods toward efficient (beautiful) testing: SLIME, scripting, and mindmaps.
SLIME (Security, Languages, RequIrements, Measurement, Existing) is a mnemonic that describes the order in which I conduct testing on a new application, or even a feature, in order from first to last. The key rationale behind the order is to reduce the amount of retesting that needs to be completed. (Being able to see the look on your boss’ face when you tell him you are SLIME-ing your application is secondary.)
The very first thing I want to think about when testing something is security. Yes, loss of personal information is dangerous, as is being an unwilling participant in something ...