It’s official I’m a member of the Association for Software Testing or AST as it’s commonly known.
I’ve been meaning to sign up so I can take the BBST Foundations Course, meet some local (or not so local) context-driven testers, perhaps post on their discussion boards and eventually head to CAST (I’m aware you don’t have to join to go).
I’ve been bouncing around the idea of setting up some type of local tester chapter / meet up place where testers can get together, train with each other, perhaps join in a weekend tester session, learn from each other, etc. The problem is I’m not sure how to go about doing it.
In other news I also signed up for Udacity’s Software Testing (CS258) class. I’m not a programmer and it does require Python programming experience so I’m going to focus on getting up to speed before the class. I’m curious as to what they’ll teach although the syllabus gives some hint. Units include:
Domains, Ranges, Oracles, and Kinds of Testing
Advanced Random Testing
The mention of Oracles has me interested and so does the “kinds of testing”. I wonder how this relates to Test Techniques? Based on the site description the class seems geared more towards programmers for example unit 4 and 5 are about automatically generating test cases (Random and Advanced Random Testing). Regardless I convinced one of my co-workers (who’s a programmer) to take it with me; I might be able to learn something about testing from the programmers perspective.
If you read my previous post What Testers Need to Learn some of the areas James tells tester’s to understand include Mathematics and Technology. Udacity has an Intro to statistics and quite a few technology classes that could potentially help testers.
Some of the first testing books I read were from James Whittaker’s How to Break Software series. Those books, like this one, are laid out in a practical manner with each chapter focused on a specific attack or approach making them easy to read, reference and apply. Perfect for learning. I picked up this book a few years ago when I started questioning the way I was testing. The material was new to me and made me ask what is exploratory testing and what does touring have to do with it?
According to Whittaker (pg. 16) exploratory testing (E.T.) is testing where scripts or rigidity have been removed (paraphrasing). Whittaker explains his terms “E.T. in the small”, decisions made where the scope of the testing is small and “E.T. in the large”, decisions made when the scope of testing is large (small might be a screen in an application while large is the whole application). At the end of chapter 3 he mentions E.T. can be done in a way that allows test planning and execution to be completed simultaneously which is one of E.T.s most important aspects and simplest definitions. Touring (as in a tour guide or sight-seeing) becomes a metaphor for and a way to structure E.T.
There are eight chapters in the book plus a number of appendices. In the first few chapters Whittaker discusses what he sees as the case for software quality (the context of the book), introduces E.T. and explains how he uses it, in the small and the large. The next four chapters cover tours he and others have come up with. The last chapter is about how Whittaker sees the future of testing or at least how he did at the time of publishing.
The first appendix, A, is one of the most important parts of the book: building a successful career in software testing. Whittaker talks about how he got into testing and gives some advice on “getting over the hump” to be a better tester. Appendix A is short but worth reading. The rest of the appendices are old blog posts from his Microsoft days.
As a beginner I found this book much more valuable than I do now several years later. I understand E.T. is an approach to testing that can but doesn’t necessarily include tours or scripts. It isn’t just manual testing either. For reference Michael Bolton (the testing expert) has some good posts in what E.T. is not: (notice how the first post is about touring?)
As you might not guess from the title of this book it does not do a proper job explaining E.T. in a way that one can use it, aside from following the tour metaphor. In fact after reading it again this book seems to say to the reader: these tours are the best, don’t you agree? It’s important to understand exploratory testing is about the way you work, and the extent to which test design, test execution, and learning support and reinforce each other.
According to James Bach the term “exploratory testing” was coined and first published by Cem Kaner and has been worked on by Bach, Whittaker and Kaner (among others) over the last decade. It seems a bit odd that in a book about E.T. Whittaker never mentions their work and provides no references for the reader to follow up. Apparently Whittaker thinks the easiest way to explain E.T. is through testing tours (hence the book) while Bach has a more direct explanation of what constitutes exploratory testing. I found Bach’s post more informative, applicable and frankly cheaper than Whittaker’s Exploratory Software Testing book.
Exploratory Software Testing (the book) offers a limited metaphor for understanding exploratory testing. It isn’t as practical as Whittaker’s previous books because you can’t apply the teachings very well without fully understanding what E.T. is and how tours fit in. If you only want ideas on how Microsoft’s testers used the touring metaphor to “perform” exploratory testing then you’ll get four chapters of information otherwise Exploratory Software Testing is worth skipping.
I wrote the same review on Amazon under the heading “Limited metaphor for exploratory testing”.