Pragmatic and realistic, not abstract or theoretical; that’s the way I describe “Explore It” by Elizabeth Hendrickson. This book on exploratory testing, while focused on the tester, moves beyond the esoteric world of testing and sits firmly in the value based world of being a team member who delivers meaningful information to the team.
Elizabeth plots her path very well, as I would expect of an experienced explorer. Instead of starting at the abstract and then drilling into specifics, I adore the way she goes straight to heart of the matter…”here’s what you are looking for and here’s how to find it!” and then moves to the more conceptual discussions of when and where and who can apply these techniques. I also really enjoyed the way that Elizabeth focused on the problems as well. My favourite quote is “If you meander without direction or purpose, you’ll spend much time wandering for precious little insight: you’ll be lost. This is a book about how to explore well.” The specific skills and tools that can establish an explorer are well defined and articulated without delving into too much technobabble.
Each approach is discussed with meaningful examples and techniques that are there to be practiced and applied in real environments. Often when reading about these types of techniques the focus is on how knowledgeable you need to be to be able to apply the techniques well. Elizabeth seems to say “just give it a go, see how it works.” Which appeals to the pragmatist in me. She also discusses this world in a humorous and easy to ready manner, which is inclusive rather than exclusive; once again opening the techniques and discussions up to a wider audience.
The book is structured into three key sections; it can be read sequentially; but it can also be read many times (easily – I have done it) with key questions in mind. The three sections are 1. Establishing Foundations which covers the “core building blocks” of how to maximise the ROI for exploratory testing 2. Adding Dimensions which enhances the basic skills and moves the testing to a new level of value, beyond just the “testing” and then 3. Putting into Context where Elizabeth explores (pun intended) the context and value of testing in a team, making sure to focus on the value of testing instead of the traditional reasons for testing.
From a practical viewpoint the book is ideal for explorers. The key tips and techniques are grouped by the level you want to look at, section 1, 2 or 3. But they are also cross referenced so that you can quickly review the technique in the context of the section you are currently in. I reviewed an e-version of the book, but am very tempted to have a hardcopy so that I can make my own notes in it, and flick through it as I am working. Though I must admit Appendix 2 is my “go to” section for application of the heuristics and approaches and the links in the e-book are really quick! As the book states, explorers have a specific goal, they are prepared and they bring tools and supplies. This book allows exploratory testers to follow a similar mantra of goal, tools and information.
The valuable information for me was in the new thought processes and approaches Elizabeth discusses. Although this is a technique or approach that is quite popular in the testing community, it is often discussed in more philosophical rather than practical means. Elizabeth has made it available to almost everyone who cares enough to put their mind to something new, or expand what they currently know – as most explorers are driven to do.
The book also stays well away from any specific lifecycle or toolset. I really enjoyed the generic nature of the approaches outlined, and then how Elizabeth wraps it all up in part 3 discussing the direct application of these techniques throughout any lifecycle. I also really enjoyed the stories about how to spread the learning among other team members, even when working behind the UI. The example about applying Exploratory Testing at API level both made me proud to be a tester and taught me how to share more about these skills.
I found the book to be thoroughly readable and applicable at many levels. From fundamental skill acquisition, through to the thinking about the application of those skills in a meaningful and valuable way to the team and your organisation. The growth of knowledge from the specific to the context based approach was very instructive and the examples do help bed the knowledge down. The size of the book also allows it to be a very handy reference to quickly flick through to find the exact information you were looking for. This book removed the nativity from exploratory testing and moves it to the realm of mature techniques.
Exploratory testers need to be able to articulate their craft and empower others to use it; Elizabeth has done just this. But even better, like any good explorer; she has awakened in me a desire to see more, learn more and to go beyond my current borders. This is a great start point to well designed and managed exploratory testing at both an individual and team level.
As an experienced tester and someone who knows Elizabeth personally, I was excited about reading this book for many reasons, but the key one was to learn more, and I did! I expect that this book will provide insight at all levels, from experienced practitioner through to new team member wondering what exploratory testing is all about. It may not be a vast and weighty tome, a font of all knowledge, but within its slim confines is knowledge presented at many levels for a multitude of learning outcomes.
She recently spoke to InfoQ about the book:
InfoQ: Why did you write this book now?
Elisabeth: Grin. I think the question is really "what took you so long?" I tried writing a book like this years ago and failed utterly. I knew how to explore but did not know how to articulate the techniques. It wasn't until I'd been teaching my class on exploratory testing for several years that I finally figured out how to write this book.
InfoQ: What stops teams from doing great exploratory testing?
Elisabeth: I think there are two things that get in the way: lack of understanding of the importance of exploratory testing, and lack of understanding of what real, rigorous exploration looks like. These two things are, of course, related. If you don't think something is important you won't invest in it; if you don't invest in it, you won't get good at it.
InfoQ: Have you had any major wins (or losses) using this technique?
Elisabeth: I have found showstopper bugs on every project I have ever been on by using these techniques to explore the software: security vulnerabilities; potential denial of service attack vectors; situations the would prevent customers from completing transactions; any number of other serious requirements violations. Of course, exploring is not enough: testing has to include both checking and exploring. On the projects where we did not have thorough automated regression testing in place, other kinds of problems slipped through the cracks.
InfoQ: What are some of the ways to talk to resistant teams or managers about this approach?
Elisabeth: It has been a long time since I've met anyone resistant to the idea of exploring. I'm actually surprised that anyone is resistant. However, if you happen to meet someone who truly thinks that scripted regression tests are sufficient, It helps to remind them that there are an infinite number of ways to exercise even the simplest software, and that scripted tests can only cover a tiny and finite set of those variations. It also helps to demonstrate the value of exploration. There's nothing like sitting down and almost immediately finding a serious bug no one knew about to demonstrate that the regression tests are not enough.
The book can be purchased from the Pragmatic Bookshelf and an excerpt is available for InfoQ readers here.
About the Book Author
Elisabeth Hendrickson is a tester, developer, and Agile enabler. A seasoned veteran, she wrote her first line of code in 1980, and almost immediately found her first bug. In 2010 she won the prestigious Gordon Pask Award from the Agile Alliance. She is best known for her Google Tech Talk on Agile Testing as well as her wildly popular Test Heuristics Cheatsheet. She currently works on Cloud Foundry at Pivotal.
About the Author
Sharon Robson is the Software Testing Practice Lead for Software Education. She has been working in this role since the start of 2008. As a passionate tester and a natural born trainer, Sharon delivers and develops courses at all levels of Software Testing from Introductory to Advanced. Sharon also focuses on agile and spends a significant amount of her time working with teams (training and coaching) to assist them in their agile transitions. In 2010 Sharon was recognised by Software Test and Performance Magazine as one of the 13 most influential women in Software Testing. Sharon has been interviewed and recorded speaking about agile and testing for many forums including Agile 2010