After a recent discussion with another tester about options for learning more about software testing, I started to put together a brief response. The more I thought about it the more it continued to grow, so I decided it was worth resurrecting my defunct blog to make it a full blog post.
The content below only skims the surface of the knowledge and opportunities available. It's like that when you start thinking about context. As Socrates said, "True knowledge exists in knowing that you know nothing", a natural extension of the realization that the more you know, the more you know that you don't know.
Before I start, I should note that I fall into the context driven testing school of software testing. This means that my suggestions tend to prioritize investigation and self-learning, instead of memorizing terms and taking multiple choice tests.
In rough order of commitment in terms of both time and price, I offer the following groups of suggestions for beginning, continuing, or attempting to master the study of the art of software testing.
1. Self education: Things you can learn on your own in your spare time, mostly free or low cost options.
- Follow test industry leaders on Twitter: James Bach, Michael Bolton, Keith Klain, Elizabeth Hendrickson and many more can be found online.
- Read testing books, blogs and magazines
- Learn a scripting or programming language
- Join a local testing group
- Watch free presentations online from test conferences past and current
A good place to start is a free eBook called '99 Things You Can Do To Become a Better Tester', which includes the things above as well as many more:
Michael Larsen has even taken it upon himself to write a blog post about each of the 99 things!
2. More formal education: This will likely involve some expense, and a more structured time commitment. Check with your manager about the expense: Many companies have a training budget that may offset at least some of the cost of things like conferences and training courses. You may also need to join an organization to gain access to conferences or courses. The cost is usually reasonable, and provides other perks as well, such as publications and training material.
- Attend a conference in person - this is a good way to get exposed to a range of different ideas and have discussions with many other testers. Search the web, there may be a conference coming to your area!
- Take courses like the online BBST (Black Box Software Testing): http://www.associationforsoftwaretesting.org/training/courses/
- or the Rapid Software Testing course taught by James Bach or Michael Bolton http://www.satisfice.com/jamesschedule.shtml
- Some experienced testers offer direct coaching, usually via Skype. This may be on their own as time allows, or through an organization like the Association for Software Testing.
3. Formal and most expensive - A Masters program. I only list this one because I've been asked about it. All of the 'Masters in Software Testing' programs I have found in a Google search seem to be certificate programs offering a fancy (ie expensive) wrapper for ISTQB certification, not a true Master's degree.
The Florida Institute of Technology does offer a Masters in Software Engineering with a focus in software testing, a very respected program: http://www.fit.edu/programs/8050/ This is a full and comprehensive Masters program requiring a thesis and a background in computer science.
I found the following discussion of about the possibilities of establishing more formal training from a 2008 blog post, the post and replies make interesting reading.
As I consider myself to have fallen firmly in the camp of Context Driven Testing (see context-driven-testing.com), my feeling is that ISTQB or any other certification is a waste of your time and money. Many others have expressed their objections more eloquently so I won't belabor the point, except to say that if it's a requirement to get a job and you really have no alternative, do what you have to do. But don't expect it to make you a 'Master' tester.
As Groucho Marx said, "Those are my principles, and if you don't like them... well, I have others."
In summary, I think options 1 and 2 will take most testers anywhere they wish to go in the field of software testing. There are plenty of options and content to stimulate your brain, which is the main tool you need to test with anyway!
Update: James Bach followed up shortly after this with a similar post titled 'To the New Tester' : http://www.satisfice.com/blog/archives/958
Update: James Bach followed up shortly after this with a similar post titled 'To the New Tester' : http://www.satisfice.com/blog/archives/958