A few weeks ago, I wrote about tearing down all of my initial ideas about automated testing and even testing in general. Even though I’ve decided the automation I was building was taking my testing down a road I don’t want to travel, development and project plans continue. We have CM resources looking at my automated tests for consumption as smoke tests. I have to move onward.
In rebuilding my system and my ideas about testing, I’ve pulled in a resource given to me well over year ago by my good friend, Gordon Shippey. When I was flailing around as an Absolute Beginner in testing, Gordon noticed this table from wikipedia pinned above the monitor in my cubicle. I’m sure I found this through Slashdot or some equivalent. Gordon, who has done a lot of research in Artificial Intelligence and psychology, showed up in my cube the next day with the book How to Solve It by Georg Polya. I’m ashamed to say that it’s been languishing on my shelf for the better part of a year and a half.
The ambiguity of the title reminds me of a book I and my classmates were forced to read in college, How We Know. (That professor, by the way, was a Taoist.) I recognize that there are good reasons for these generic sounding titles, but they intimidate me because they are so general and imply more depth than I typically look for in my reading. I am just NOT the type to sit around pondering everything. If Gordon hadn’t placed Polya in my hands and shown me how accessible it is, I don’t think I would have come back to it. In actuality, it appears Polya intended that his book be read in small sections of no particular order. For someone like me who cannot find the time to read anything straight through these days, this is exactly what I need and is partly why I consider this book the Tao of Te Ching of Testing.
The other reason I am calling this book the Tao Te Ching of Testing is because of the attitude with which it was written. This book does not come from ego. In my limited reading and pondering of the Tao Te Ching, I noticed that a very strong message was, “check your ego at the door because this world is not all about you.” In Maslow’s hierarchy of needs, helping others is at the top of the self-actualization pyramid. Georg Polya has long departed this earth, but his honest interest in helping people solve their problems gives me the impression that he didn’t suffer from the expanding head syndrome that afflicts many great thinkers and some great testers too.
After getting past the title, I started asking what this book has to do with testing. Aren’t the developers the ones solving the problems? Well, yes, sort of, and they ought to be reading this too. Regarding testing, I think that this book is an aid in going down the path of exploratory analysis. Y’all saw me write about that, and I’m still figuring it out.
Consider this: Polya is writing about ways to investigate problems in order to solve them. Let’s shorten that: Polya is writing about ways to investigate. Semantics…gotta love ’em. Sometimes.
Since I now know I can automate the hell out of just about anything I want, it’s time to learn more about investigating and questioning. Umm, I guess that would be testing. This is not to say that I’m abandoning automation altogether. In fact, I’m also pondering this blog post written by Bj Rollison a couple of years ago that discusses balance between automation and manual testing. One thing is for sure, learning how to test has been far more challenging than all of the programming classes I took put together.
Hey, I know Gordon Shippey! Good man.
Also, I wrestle with the balance of manual and automated testing on a daily basis.
For more on investigating, questioning and testing, invest some time reading stuff from the Context School — Cem Kaner, James Bach, Michael Bolton, et al.
Yeah, I’m putting together a stack of reading for December when my Masters is finally over. “Lessons Learned in Software Testing” is definitely on the stack.
I read the paper suggested by Mike Kelly a couple of posts back and it’s, well…just freaking awesome! Great direction for automation.
Actually, I checked and it looks like James Bach has a workshop at PNSQC. (I’m presenting there this year.) Since they extended their early bird discount, I might actually shell out the $400 and read the book on the plane.
I always like reading someone’s book and then seeing them talk about it. If anyone else is planning on attending this workshop send me a tweet (marlenac) or comment. It would be nice to talk about the workshop after.