I was on a panel a few weeks back, to discuss the above topic – Does getting a test certification make you a better tester?. It was an event co-hosted by MindTree and Microsoft as “Tester’s Day” at Pune. To be honest, my first thought on the topic was – it’s an Oxymoron!
I asked myself how someone could become a better tester just by getting a certificate. Interestingly, we had esteemed panel members as part of this discussion – and during our initial discussion it sounded like everyone was backing the thought. I was the odd man out!
So I had to do my homework.
I remember reading a blog from James Whittaker (currently working as Test Director at Google) in which he said, “I have yet to meet a single tester at Microsoft who is certified. Most don’t even know there is such a thing. They’ve all learned testing the old fashioned way: by reading all the books and papers they can get their hands on, apprenticing themselves to people at the company that are better at it than they are and critiquing the gurus and would-be gurus who spout off in person and in print”. This he said when he was at Microsoft (more than 3 years ago), and I don’t think his thoughts would have changed even after joining Google.
So I read the literature from many other testing gurus and all of them seem to believe that these certifications don’t make you a better tester. One even said, “I don’t think these certifications are really certifications at all. It’s just training. For most of the certifications, it’s not even training. It’s just passing an exam”.
Having read and heard from these experts in the industry, I was happy that I was not the only one who thought in this way.
After talking to a few members of the testing community I realized that:
In my opinion, what is important for a tester is to get the big picture quickly, and apply the known concepts to discover the defects in the product/application. Identifying the use cases quickly and applying them to make the product better will take them further in their career.
Let us look at this from two different angles, Maturity of testing and Testing community support.
Maturity of testing
Those who have been in the IT industry for over a decade will appreciate the way software testing has emerged into a discipline. Earlier, it used to be an activity which was done mostly by developers to validate what they wrote. There was no specific process or methodology on how a program should be tested. The whole testing pivoted on what the developer felt important at that time – or where the program was expected to be vulnerable. Today there are various schools of thought on how a certain way of testing is better than another. For example, exploratory testing will have an upper hand when you don’t have a spec, and need to quickly discover defects in a given app. There are various heuristics and oracles developed to enable testers to find bugs at a fast pace which were earlier only known to a few experienced testers. These have all made testing much more sophisticated than it used to be earlier. Unlike the longstanding disciplines, like mechanical or civil engineering, software doesn’t have much of a history, where certain concepts have matured and have been used in a similar way. For e.g., even today a hammer is used to hit a nail on the wall as it was used a 100 years ago. Though the material used to make hammers is more refined and various alloys or carbon are used to make stronger and lighter hammers, the basic function of the tool remains. But the irony is, even today, we develop different software for different customers without much reuse value.
The above examples suggest that things have evolved quite quickly in the software/IT world. Hence we see tools, software and utilities being developed to solve specific needs rather than growing with human evolution.
Testing community support
I am of the opinion that for anything to grow and mature, an active community must play an important role! As we see today, there are communities to post your query and someone from that community will respond. With advances in technology and tools at our disposal, some of these communities have grown better than the others. However, these communities still operate in silos – where they exist to solve a specific problem. For e.g., take a tool like Selenium which is widely adopted in automating web application testing. As you might observe, most of the discussions that would happen in this community would be around how a specific web component can be automated with this tool. They don’t provide scope for creativity and innovation. Even if innovation takes place, it is marginal. My suggestion is that, if such active communities can be leveraged by the testers (who have a big picture of the industry), then the possibilities are enormous!
Now what do these two aspects have to do with our topic “Does getting a test certification make you a better tester?” My take is, as this industry makes strides from an infant to a toddler, from youth to an adult, some of these communities will play an important role in how we become better testers. The bar for getting certified will increase and will expect the tester to have experienced the nuances of the trade before being certified. Testers will yearn to be certified in order to qualify to do the job – from being an apprentice to a certified tester! Being certified will make them think differently, enable them to apply the imbibed concepts to the work at hand. They will be respected by the community and peers. That day is not far considering the rate at which we are growing.