Good software testing is a challenging intellectual process. What you find when testing a piece of software depends on your thinking, your perceptions, how you organize your observations, and what connections you draw between them. Anything that makes you better organized, puts you in better command of your mental faculties, or increases the number of ways in which you can think makes you a better tester.
In his 2012 OSCON keynote, "Mindware Upgrades For Fun And Profit," Paul Fenwick talks about the mechanics of things like cognitive bias and motivation—how the mind (mis)apprehends situations it is presented with and how best to get your mind to consistently tackle important tasks that don't have immediate payoffs, like exercising.
In his 2011 OSCON keynote, "All Your Brains Suck—Known Bugs and Exploits in Wetware," he delves into how we can be manipulated into reaching certain conclusions but, moreover, how we are often unaware of why our thought process has panned out the way it has.
Several very interesting themes emerge from both of these talks:
- Our minds don't always work in the way we might expect.
- Moreover, our minds don't always work in the way we perceive them to be working.
- But, there are some simple things we can do to make our minds work better.
As an example, I often have a rather poor working memory—the kind of memory that lets you hold several bits of information in your head for short periods of time or while doing something else. One of the ways I cope with this is by using a pad of paper to scribble down things that I need to remember once they get too numerous to fit into my brain—things like variable names in a program I'm working on, areas of a UI that still need testing, or even an overview of the tasks I need to accomplish before leaving for the day.
By doing this, I've essentially externalized this function of my mind—my working memory is now effectively unlimited, laid out on a tactile and visual medium in front of me.
There are all kinds of high- and low-tech tools that let you externalize—or even outsource—different cognitive functions: organizers, checklists, cribnotes, cheat sheets, etc. The question is to find which tools and techniques are most helpful for you.
The ancients admonished us to "know thyself." Knowing how your mind works is not only intrinsically valuable and satisfying, but it will help make you happier and more productive in the workplace as well.
Rick Scott is a Canadian philosopher-geek who's profoundly interested in how we can collaborate to make technology work better for everyone. Rick's an incorrigible idealist, an open source contributor, and a staunch believer in testing, universal access, and the hacker ethic. When he's not in front of a computer, you'll find Rick hiking, making cupcakes, or honing his viola technique.