Link to Outdated testing concept #1
Link to Outdated testing concept #2
Link to Outdated testing concept #3
I was having this internal struggle for a long time – certification. At first, I thought “it will be cool to be certified, it will probably drag some attention to me”, keeping in mind I was green and didn’t have enough routine. Then, I thought that certification is a must, I should have it in my skill set at any cost, it will show people that I spent some time and invest in my own development. Now, I believe it is up to me, to be recognized as a skillful tester and it has nothing to do with being certified. This week’s outdated testing concept is dedicated to certificates and other cool scratch paper.
Outdated testing concept #4: Certified means qualified.
I have been thinking on this article for quite some time, I even failed to post it last week as I had doubts on talking about it. I was having this struggle within, whether or not I am qualified enough to give my opinion on certification. And a miracle happened, an argument in the local QA Facebook group I participate in made my belief solid, that there’s something fishy in certification, after all.
What was certification supposed to mean?
I will try to speak on testing certification only, but I think this applies to all certificates. Many people have different expectations towards software testing certification, unfortunately most of them wrong:
- Certification is supposed to mean you took some formal software testing education.
This is a broad topic and I will only scratch the surface with what I have to say, but software testing could not be learned by notebooks, nor certification courses. It is a practical activity and could be learned, educated and trained only through practice. You can learn the principles of testing, you can learn the testing terminology or the testing glossary, you can learn common techniques that are used in testing, but you can not learn how to perform testing at an expert level.
If you want to go deeper in the topic – education isn’t what it was supposed to be, we are aware already that great minds are not “laboratory grown”, e.g. could not be cultivated in schools, colleges and universities. I am not saying schools and universities are useless, I’m saying they are not enough. Formal education isn’t satisfying our needs for natural interest, our professional choice, etc. I referred many times to Sir Ken Robinson‘s work, in one of his talks “Ken Robinson: How to escape education’s death valley”, he is talking how modern education is applying the so-called “fast food” approach towards students. This is commonly observed in testing certification as well, the “one size fits all” concept that tried to make you believe you can learn something easily and by following simple steps, which is far from true. Another important point that Sir Ken Robinson makes, is that above all, intelligence is diverse, and we should take this diversity into account, while educating, in software testing or out of it.
- Certification is supposed to standardize testing.
This is another fallacy that has to be brought to rest. The purpose of certification is not standardize the process, but to assert that you gained specific expertise. In fact, there is a way to standardize the process already like the IEEE standard for test documentation and if you take a look at it you will find out it is not that cool as it seems. If we have to follow the standard point by point, the testing process will become unnecessarily document heavy, slow and boring, resembling more of a court case rather than experimental process.
- I will find better job / get promoted, if I am certified.
It is possible, certificates will have certain value for your future or current employer, but that shouldn’t be all. Me personally, I wouldn’t trust employer who uses certificate only to evaluate an employee. Most of the times, when it comes to recruitment, your motivation and willing to progress will play more general role in decision, rather than the certificate.
You can go and continue the list. What probably pops in your mind as a question is…
Who values certification, anyway?
My personal opinion is we can split this group in 3 sub-groups:
- New testers who are looking for a way to prove themselves – and this is kind of normal. Every new tester is trying to prove his/her value, wants to progress fast and dynamically and most of all is not familiar with all testing fallacies, one of which is the certification.
- Testing professionals who invested too much in certification, themselves – psychology is a weird thing and it states that, when an individual makes a reasonable choice, he or she must find a way to justify it. And this is the case with this sub-group of testers – they spent probably $200 for the foundation level course and probably much more for the intermediate, manager and ultra-super-mega-uber-testing-ninja-master-rockstar level. It is understandable why they will tell you certificates are valuable, otherwise these guys would have to admit that they threw their money into the ocean.
- Non-testing professionals who are involved in recruitment process – and we have to make a condition here, even when they are interested in you having certificate, don’t be too proud with it, it is just conversation starter, you will have to actually prove what you can and not just rest on “certification laurels”. Why are HRs and recruiters interested in certification? Well, normally they have none to minimum knowledge on what a really good testing professional is, so if he has a certificate, it is a really comfortable social contract. If he happens to be a complete moron, knowing nothing about testing, they will blame the bastards that certified him, because it’s their responsibility to tell good testers from the incapable ones. And if he turns to be greatest professionals – “Yay, see that? I told you, certification is an important thing to have for a tester.”
So, what is the truth about certification.
The truth is – it is useful to some extend. The reason why people are basically impressed by certificate is – it shows that you have the dedication and the motivation to invest in your own professional development. It is also useful, or at leas its foundation level, because you can get familiar with some basic terminology in the testing domain. That doesn’t necessarily mean you will be able to explain what it means or understand it profoundly, but you will be comfortable using it in certain occasions.
Should I get certified, after all?
I am not the one to answer this question, it’s you and only you. My suggestion is, if you want to invest in yourself and your professional development, invest in practical courses and not in certification. Testing is a practical activity and it is only learned and explored effectively through practice. And not testing only, you can invest in learning some basic programming or networking or any other generic IT knowledge. That will always be in your favor. I don’t want you to stay off certification, because of me, I don’t want you to take it because of me, either. It is all up to you and your personal philosophy. My own opinion is – if you are passionate about your profession, if you strive to progress, if you make yourself stand from the crowd by being proactive or a blogger or a conference speaker, I believe no one will ever ask you if you have a certificate.
And one more suggestion if you decide to take certification, anyway. It is from the book “Lessons learned in software testing” by Kaner, Bach and Pettichord – I quote by memory “if you can get a black belt for two weeks only, try to stay out of fights”.
That’s it for this week, thanks for reading and as always I would love to read your opinion on the topic. That was it for Outdated testing concepts, as well. I think I said what I had for now, on this topic. Some day I will probably continue with a new one. Thanks, good luck! 😉
8 thoughts on “Outdated testing concepts #4”
I became certified in 1997 at a CSTE (Certified Software Test Engineer) via QAI. At that time the process was all experiential in nature. You had to provide work examples to them for review & consideration, as part of that you had to have 3 recommendations from already certified people (either through QAI or equivalent group like ASQ). You also had some written essays you had to provide too. There wasn’t an exam. It took about 3 to 6 months for the review to complete, and then you found out. It was a very hard process, but if you made it the certification had some weight behind it.
Then a few years later QAI did like everyone else and went the Microsoft Certification Mill way. Take a class, pass and exam and bam!, you’re certified. It totally diluted and discredited the process. It was a money maker and turned out a bunch of “paper” CSTE’s. Then a couple years later the ISTQB popped up and after that ASTQB which only excellerated the demise of testing and certification (IMO). People were becoming certified testers but had no practical real world experience.
So as a test professional with almost 30 years experience I can say get certified if you want, but know it is only a small stepping stone. You need the on-the-job experience to really be good at this line of work. As you said, certified doesn’t mean qualified. Which is a term I’ve used for years. I used to be a Scuba Instructor, and that is the saying we would use for new divers or divers with lots of classes but no real world experience.
Thanks for the input, I really like when people with your experience speak up about the true quality in testing and certification, of course certification is not bad, but it is not “the silver bullet” that it is marketed to be.
I think you are deducing too much from the weak testing certification programs you are familiar with, and ignoring the benefits that certifications may provide (assuming they are built right).
A good, strong certification program can provide value I don’t think is easy to dismiss. Learning towards it forces the individual person to learn and practice the basic skills of the trade, it provides a quick way of filtering out new candidates by measuring the effort they have invested (or, to be more precise, that measures that they have invested enough effort for them to achieve certain result – the amount of effort varies between people), and it gives a quick heuristic of ranking people that have no experience (That girl is certified with distinction? she’s probably better than the guy here that has barely managed the certification). On top of that, as you have mentioned, it teaches the basic terminology. Moreover – it *creates* that basic terminology, facilitating conversation and progress.
For instance, let’s have a look on three certification programs – two of which I have underwent, the third I will probably take in the future.
1) Bachelor’s degree in Computer science. Which is, at least in my area, in a sort of a “programming certificate” – Most graduates (and all graduates with no experience) are not anywhere being good, or even decent programmers. But they have proved that they can program and are familiar with basic concepts and probably can start working in at least two or three programming languages. They are aware of stuff like efficiency, resource management, multi threading, recursion, some basic databases, networks and even a bit about hardware. They will understand the jargon (excluding product, or industry specific context) and their learning curve will be shorter than anyone else picked at random from the street. This, I consider to be a strong certificate.
2) the ISTQB foundation level certificate.
Let’s face it – it is a weak certification. A pure random answer has ~40% chance of being certified, and most of what is learned there isn’t being used in practice, at least not formally (when was the last time you have calculated the cyclomatic complexity of a piece of code?). I think you can still make something out of the learning process around it, but this will require some experience in the field and a deliberate effort on your side to extract out of it more than it is intended to provide.
3) CISSP – that one I don’t yet have, so I am a bit less confident about what I say here.
The CISSP has a very clear definition of what it should mean – it means that any certified person is familiar with the basic concepts of software security, and is doing some minimal amount of effort to remain up to date. A certified person is not an expert in software security, but should be able to have a meaningful conversation with most practical security experts (probably, the cryptographers will still have to dumb-down their talk quite a long way, but this is how it is for all mathematicians).
From my current POV, I think it’s actually a great goal for a certification, and judging by the amount of material I have seen some very strong candidates struggling to cram into their heads, I would say that this is a strong certification path that provides its intended value.
Thanks for the comment.
I think you are actually proving my point. And yet, while you are talking about the “effectiveness” of certification I would like to hear more about its practical application, we both agree common terminology is a benefit?
“I think you are deducing too much from the weak testing certification programs you are familiar with” – and I think you don’t know what I know, and you are deducing based on my “deduction”, which makes yours even less effective. I didn’t undergo the certification, yet I have red the textbooks that they ask you to read and I’ve encountered the “product” of their certification, which in my experience is often, unfortunately, incompetent and with limited understanding of their own craft.
“the weak testing certification programs you are familiar with, and ignoring the benefits that certifications may provide (assuming they are built right)” – Can you describe which “weak” certifications you think I am talking about, since I am not mentioning names deliberately anywhere, and what is your definition for a certification “built right” ?
1. The bachelor degree – I agree with you, it works. It let’s you know the common jargon of the craft, as you said. But is this enough? Do you think you think getting a diploma is enough to be called a professional ? Let me give you a more vivid example, we all go to doctors and we all have to undergo certain procedures sometimes, if a person needs to undergo a heart surgery and surgeon comes and says: “Hello, my name is Dr. Smith and I just got out of the university, I have never done a surgery so far, but I red all the books and know all the cardiologist jargon”. Do you think anyone will put his life in Dr.Smith’s hands?
2. ISTQB – I’ve seen total rookies with not even a single day of testing experience to undergo and take the foundation level. Is that good? Probably yes, for them. Your comment here is proving my point again, getting the certificate shows you are familiar with the ISTQB glossary, and is irrelevant to the practical craft of testing happening today.
Thanks for your time.
Thanks for your response.
I think that we are, mostly, in agreement. The main question I think we should clarify is: What does holding a certification mean?
For me, a certified person is by no means an expert. In order to hold the certificate you should present the *minimal* amount of skill, knowledge and practice required to work in that field. For instance, in order for Dr. Smith to get a good certification, he’ll have to both prove his theoretical knowledge and provide proof of actual, hands-on experience. Like a driver’s license, if we’ll take an easier example (At least in my place, in order to get a driver license you have to pass a theoretical exam, provide proof of ~30 hours driving with a licensed driving instructor and pass a driving test). In the same manner, I will give a junior programmer a programming task. It probably won’t be an extremely difficult task, but there are cases where I might hire such person as the only programmer I have (I encounter such projects mostly in university research teams that send out a call for students to code them some stuff as part of their research)
As for the certifications you are familiar with – you are correct, I don’t know which certifications you are familiar with, I just have yet to hear about a strong testing certification program. The most prominent program in my area is the ISTQB, which is completely useless as a certification (but can still benefit a little the person learning).
So, what can a good certification do?
In short, it should be a shortcut. It should enable anyone to identify a person capable of functioning withing the claimed field.
In addition, it sets a minimal set of skills and knowledge base that you should be able to assume the certified person have.
A certification that does not provide both of these points is a weak certification.
Now, for the interesting part – How would you imagine a strong certification in testing look like?
You stated that testing cannot be learned from textbooks only. I agree. Therefore, a strong certification must have some sort of hands-on phase. maybe an apprenticeship of a sort.
I believe that a strong certification path should provide you with theoretical knowledge and tools that you won’t probably have the chance to properly encounter during your day-to-day job. For instance – I learned at the university about dealing with graphs, and about the difference between DFT and BFT. In my daily job, I rarely talk about graphs, but here and then I do encounter a situation where I can choose to go depth-first, and I can go breadth-first. I assume that without learning about those terms, I might have missed the choice I was doing, since just by knowing the terms I can now think about them more easily. If we’ll relate that to testing – Boundary values are such thing, as is James Bach’s Galumphing – both are things a tester can utilize, almost unconsciously, but without putting them to words, they are harder to use.