I recently went away on vacation to visit family in Massachusetts and found an Airbnb in Rhode Island. I’ve been using Airbnb for a few years now, so I have a checklist of things to look for in a place to stay. What are the reviews like (anything to read in-between the lines)? What does the neighborhood look like on StreetView? Is there a nearby grocery store? Is it a self-entry check-in? Etc.
But, there was a heatwave when we arrived. One thing I hadn’t checked: Did it have central air conditioning? No, but it did have AC units in every room. That meant we were able to stay cool, but it was somewhat noisy. I’m so used to having central air in my own home that it wasn’t something I thought to check.
A Testing Checklist
What’s this got to do with software development and testing? Over the years, I’ve learned a lot of ways to test, both from reading theory books and from experience, but I’m always learning more. I learn from projects I’ve worked on and experiences I read about in books or blogs.
When I started testing mobile apps, I had a fairly extensive list of standard tests to perform (airplane mode, putting the app in the background, back key on Android, rotating the screen). And then, I found a crash when I changed the text size in the general settings, so I added this to the list. Then a new iOS version came out with stricter permission controls, and I added this as well.
It’s easy to get complacent and think you’ve got it all covered — and then you find yourself in a noisy room as the AC units and overhead fans do their best to cool you down.
Now, having been caught out by this oversight, I created an actual checklist in a document. I’ll refer to (and add) to it whenever I’m about to book a vacation stay.
The Checklist Manifesto
Having a checklist is a common thing — one excellent book I read on this was The Checklist Manifesto. The author wrote it in response to reading about a physician who relied on a checklist to save a child who had fallen into a pond. You probably won’t use your checklist to save a life, but you could use it to save your project from bugs!
For my software testing, I have a “tester heuristics cheat sheet” from Elisabeth Hendrickson (one of the first testers I started to follow when I wanted to learn about testing). It’s basically a checklist of test types to think about. I’ll refer to this at the start of the project to refresh my memory. Then, I’ll also look at my own version of this, a document I’ve built up over the years. If you don’t want to use a document, then I’m sure an app is available for the same use.
And make sure one item on your list is to check your checklist!