Huib Schoots approached me late last year regarding some contribution for the TestNet Jubilee book he was putting together. The title of the book is “The Future of Software Testing”. I submitted something far too long, so that most of it fell for the copy-editing process. However, I wanted to share my original thoughts as well. So, here they are – disclaimer: they might be outdated right now.
In the past I made terrible experiences trying to predict the future of something. As a tester I have often failed to predict the future in my estimates. When the reality of a project kicked in, things delayed more and more, up to the point where the deadline actually was past the point where I got the software that I should be testing. What have I learned from this experience about the future of testing? I think efforts trying to predict or estimate something are doomed efforts. Instead of trying to predict the future, I prefer to see what I desire, and then derive my goals from that.
In order to consider my wishes, I have to take a look back on my experiences in the field. I remember back in April 2006 when I first entered the field of software development after having studied at the university. Originally I applied for a different position, but I was hired as a software tester as the original position was already taken. I was completely unaware of what software testing consists of. Back in university I didn’t even have the offer to visit a course completely on software testing. The only mention software testing got was in a course on Software Engineering in one single sentence. That was in 2001. Having spent some of my time in this profession, I really wish that software testing becomes a field that is taught with respect in universities. A student shouldn’t be forced to visit a course on software testing, but if he wants to dig deeper, he may get the opportunity to do so.
This wish also holds for the education of the future generation of software testers. As a profession we can not wait until the university adapt their syllabus to meet the reality of software development. I really wish to see the field of professional education for software testers grow. With professional I don’t mean certain courses that include the word “profession” or “professional” and teach you only basics about our craft ‑ sometimes even using misconceptions about practices and models. Instead I wish to see apprenticeship programs on software testing coming up. Matt Heusser’s Miagi‑Do school of software testing is one approach to this. James Bach’s and Michael Bolton’s Skype coaching sessions yet another. I wish to see more approaches as these evolving.
Last, I wish to see testers being treated with more respect. Good education for aspiring software testers will build the basis for this. With more and more great testers getting into our field, we will eventually become first‑class citizens. Imagine a world where testers are treated with honor and respect. A world where testers not only get the same payment as their programming counterparts, but where they are working together face‑to‑face. A world where we are allowed to speak to the programmers, the customer, and the project manager as peers, not as subordinates. With the downfall of factory school testing that treats testers as part of a machine that can be exchanged easily, we will eventually see this happening.
These are my three pillars for the future of testing. University education courses on software testing as well as education programs for software testers that don’t pay lip service to our craft, but actually teach people how to test, and how to do it well. Finally, a world where testers are treated as peers to their colleagues. In such a world questions like ” should we continue testing if smoke tests fail?” or “what is the best programmer to tester ratio?” or “what kind of metrics should be used to compare manual and automated software testing methods?” would be superfluous. In order to get beyond questions like “who is responsible for which kind of testing?” let’s seek an understanding of the testing that we can perform as a team ‑ jointly with programmers and testers. I am certain that we already have everything we need in order to achieve this. Let this wish become a truth.