Sunday, March 14, 2010

Test Training? What’s That?

To be fair, the above statement isn’t as common as it used to be. There are now many options regarding testing training and how to get it. However, up until just a few years ago, being a tester and getting actual training related to testing was not an easy endeavor. Training for programming? Yes. Training for systems administration? Definitely. Training for engineering principles? Just look at MIT or Caltech or any number of engineering schools. Still, you would have been hard pressed to find a school that had an actual course of study related to software testing (and for that matter, just finding a single course was not a wide spread available option).

Show of hands, how many testers had any genuinely formal training in how to do their job short of perhaps a quick orientation from a test team lead or test manager? How many people actually participated in training beyond this introductory level? If my experience is indicative of the majority of testers, I’m willing to bet that number is probably very low. I have participated in product training and application level training, but testing training was always something I had to cobble together on my own from books or from web sites and discussion forums. Even when it came to the one testing training that I can point to where I was flown out to attend a week-long training event, it was to specifically learn how to use a tool, not how to effectively test with that tool. That I had to figure out on my own (and I’m still in the process of doing exactly that, it seems :) ).

Why has there been such a disparity? I can’t speak for every organization, but for the ones that I have been part of, to put it simply, training testers was not high on the priority list of things to do. I’m not sure if it stemmed from the idea that testers already knew everything they needed to know (common perception in many companies) or that the work they needed to do didn’t really require additional training (again, common perception). Many of the testers I’ve spoken to over the years had little to no formal training in testing, and of that grouping, there was a high percentage that had not read a testing book or, if they had, hadn’t read one in several years. Truth be told, I fit into that category for a long time (the only book I owned was “Testing Computer Software” by Kaner, Falk and Nguyen, and seriously, I figured that was all I’d ever need).

It turns out that there has been testing training offered for many years from various organizations, and once you learn about it and plug into it, learning begets more learning. There are many posts about this on the web and many companies you can talk to if you want to pursue training. Since I’m not affiliated with any of them, I’m not going to mention any by name, but if you do a search for “Software Testing Training”, you will find upwards of 30,000 links, many of them pointing to “for pay” organizations. For the record, I cannot vouch for the effectiveness of any of these courses at this time simply because I haven’t dropped the coin yet to pay for them, but I have seen several companies sample offerings and in my opinion the ones I have seen range from mediocre to exceptional.

That’s all fine and good, but what about those of us who are working for companies that have limited training budgets or, gasp, have no training budgets? Or what about those of us who are contracting and don’t have the ability to pay for a $300/day course or a $1500/week option to be trained? The great news is that there is a ton of information that you can get very cheaply or even for free on the Internet today. Here are some examples of cheap and free test training options:

Testing Blogs: If you look to the side of these posts, you will notice that I have a roll of a number of test blogs. There are hundreds, but these are the ones I keep returning to again and again. I return to them because they challenge the way that I think about things, or they provide me with solid information and ideas to explore. There are hundreds more out there, and to be totally honest, I’d love to have TESTHEAD fill that role for people as well (it’s going to take awhile to develop the credibility so that it will be worth that to someone, but hey, I aim to try :) ).

Testing Magazines and Communities: There are several magazines and groups that publish information that is readily available to everyone, and while they still require a subscription fee to get everything they offer, the amount of information they offer to the general public for free is substantial. Some of my personal favorites are Software Test and Performance magazine and their online collaboration site and Better Software magazine and the folks at Sticky Minds.

Webinars and Online Training Sessions: both STP and Better software listed above host a series of webinars that cover different areas of software testing on a regular basis. Most of the sessions are free and are open to the public, and many of the sessions are “tool agnostic”, meaning that they talk about principles and practices that can be used with any of the common test tools, or applied to home grown solutions. There are also a number of webinars that are sponsored by tool vendors that provide an opportunity to see the tools in action and show how they can answer certain issues in testing. Note: just because a tool vendor sponsors a webinar, it does not necessarily mean that the entire session is a sales pitch for the product. While that may be their desired goal, there is much that can be learned from them that doesn’t require dedicating yourself to purchasing their tool or using their product.

Books: Yes, those antiquated pieces of paper held together by some binding and between a hardcover or paperback can still really be tremendously helpful. I’ve already mentioned “Testing Computer Software” by Kaner, Falk and Nguyen, but there are many others worth reading and that will give you some great training that can carry over into many different disciplines. William Perry’s “Effective Methods of Software Testing” is a desk reference in the literal sense of the word, and it provides a lot of information for many different approaches to testing (more than most testers will ever use in their careers, in fact). I would also like to add to this list a few additional titles that I think any tester would be well served to also read (note: some of these books are not testing books, but they cover areas that I think any tester would be well served to read and learn from):

“Linchpin” by Seth Godin

“Secrets of a Buccaneer Scholar” by James Bach

“Software Testing: Fundamental Principles and Essential Knowledge” by James McCaffrey

“Software Test Automation” by Mark Fewster and Dorothy Graham

“Surviving the Top Ten Challenges of Software Testing” by William Perry and Randy Rice

I plan to do more extensive reviews on each of these books in the future, so stay tuned for those.

Wikipedia’s Software Testing Portal: Wikipedia is an example of, to borrow from Seth Godin, “the law of the Mechanical Turk in action”. The law of the Mechanical Turk refers to the ability to take something that would be too huge to develop and maintain for one person or a small staff, but becomes easy to develop and maintain when millions of people have access to it and provide a small part. The Wikipedia software testing portal is an example of where this vast resource of people and small contributions comes together to make for a very large repository of information related to testing. Note: a phrase I famously use among friends and colleagues is “Caveat Lektor Wiki”, and this is no exception. Using Wikipedia as a sole resource for anything is never a good idea, but to get started and develop some basic ideas and understanding, it’s a great tool, and again, will provide many jumping off points if you wish to explore them.

So, how about you? How have you gone about receiving training in software testing? For those who have specifically taken the extended course offerings through conferences and training organizations, how do you feel we are being served? As I said, I personally have not committed to a full training course through any of these companies, but many of the offerings have piqued my interest. What are your favorite web training resources, and how have they helped you? What would you like to see in the future regarding testing training, and who would you like to see offering it? One thing’s for sure, there’s no better time than now to finally get some clarity on this topic. The knowledge is out there, and whether it be formal or self directed, it’s entirely possible to get the training necessary to develop, survive and thrive in the testing world. If we don’t avail ourselves of the opportunities out there, we have no one to blame but ourselves.

1 comment:

Matthew said...

Great Stuff. I would add that if your budget is tight, you can usually Google around and find a regional conference within a state or two, which is reasonable driving distance, that's only one to three days long, at more like $200/day.

I know at least one blogger that claimed to be making six figures for over a decade, but wouldn't be at any conferences because they weren't affordable. That's just ... sad.

I've been investing in my career for awhile now; it seems to be working for me. And it seems to be the same with you!