Do Testers Need Coding Skills?

Qualia Testing
3 min readMay 18, 2018

It’s a topical question not only in Testing community, but in Software Engineering field in general. You may like it, you may not, but the answer is — yes, absolutely.

There are plenty of Quality Assurance Engineers who see business domain knowledge and Exploratory Testing (that’s non scripted manual testing) as their main strength. Their question would be: ‘Why I have to learn programming? I don’t want to, that’s not what I truly want’.

While it’s perfectly understandable and we’re not saying you must learn coding, we believe you’d better do it. The truth is, QA Engineer denying programming existence is limiting his or her own potential.

Tester Without Coding Skills

Can you become a professional Tester without mastering coding? Yes, you can. Despite all the buzz around Testing shifting left, DevOps, heavy relying on Automation and some companies disbanding their QA Teams, no machine or machine executed script or perfect Software Development Life Cycle can replace truly skilled Testing Specialist.

Moreover, UI Automation Testing is one of the tools in QA arsenal, it’s the most efficient way to automate plain regression scenarios, not your ultimate panacea.

Seasoned Tester is someone with strong ability to examine and break software, doing this with user perspective in mind. If I remember correctly, the analogy was introduced by James Bach: F1 driver can drive the car, so can you, but you’re not a F1 driver. Tester is not your average user or random tech savvy guy, he’s your Swiss Army knife user.

Besides, Mobile Apps being a big deal, you can consider switching to Mobile Testing. The amount of Automated testing in Mobile Testing is significantly lower than in Web. In fact, most scenarios are either cannot be automated or it’s too complex to be done. Automation Testing pyramid is reverted for Mobile. Exploratory Testing portion is much bigger than Unit/UI Tests’ one.

Why Learn Coding Then?

Learning how to code forces you to improve your overall ‘Computer Science’ proficiency. You’ll have to grasp basics of IDE, to get familiar with branching model and version control systems, master SQL to certain degree. This will inject you into Development process more fluidly, you’ll be more effective in collaborations with developers.

Being able to read the code, means you’ll be able to do White Box Testing, debug software in case of bugs and last but not least — prepare yourself to Testing by going through code and SQL changes. Understanding what’s there under the bonnet is essential. Having enough product and code knowledge, occasionally you’ll spot bugs without even starting the solution.

Yes, you’ve guessed it, companies are keen to get QA Engineers who are versatile and can do all types of Testing. Coding is a valuable asset nowadays out there on the market.

As I’ve mentioned above, you can outsource laborious and repetitive regression tests to Automation. There’s no excuse for using high skilled Testers for scripted testing.

It’s not that hard to teach yourself how to code anyway. It will require some dedicated and effort certainly, but levels of coding in QA and in development are very different. You don’t have to be anywhere close to developer to write scripts of easy to average complexity. You’ll require slightly more to cover complex scenarios or to tweak your framework.

Few Words To Conclude

You don’t have to learn how to code, but if you see yourself as a QA Engineer for years to come, it would be smart to at least consider this idea. Programming knowledge will inevitably make you a better professional overall and it will help you to reach your potential. And it will do that at a very low price to pay.

author: Anton Hilko

Facebook | Instagram | Twitter

--

--

Qualia Testing

A company who wins users' hearts through software quality.