DO TESTERS NEED PROGRAMMING SKILLS?

By Sankhadeep Chakraborty . June 14, 2021 . Blogs

I have been leading Verinite Labs for 6 months now where the mandate has been to develop our own IP by building technology solutions for some of the problems faced by the financial institutions. Being from services background, these 6 months have given me an interesting perspective about lot of things and one of them is about an off-running argument of “Whether today’s testers need programming skills?”.

In a product team, a tester plays a unique and an important role. He is an advocate for the end user while collaborating with his team in maintaining the right agility in its operations and the product development effort.

To be able to understand the product under development more technically, to automate tests, develop test frameworks, and customize tools to meet the team’s testing needs, programming skills come handy.

Testers come under 7 categories:

  • Administrative
  • Technical
  • Analytical
  • Social
  • Empathetic
  • User expert
  • Developer

Every tester type has its own value, plus a tester does not have to confine himself to a particular category.

Usually, most testers come with an engineering background, and the least coding skills. They lose touch though if they don’t get sufficient opportunities to code.

Testers can, if they wish, ensure they don’t let their coding skills rust. For that they need to do periodic static code reviews, work on test automation, review existing test automation code etc.

Some argue that since all testers don’t do test automation, all testers need not have programming skills. Because testers who do exploratory testing, bring along a different yet valuable set of skills to the team. They have good analytical skills, investigative skills, and a deep understanding of risk, and other hidden issues along with some technical knowhow like databases, networks, system administration etc. Some of the very best testers don’t know even a bit of programming.

Some others argue that coding and testing skills should not be mutually exclusive.

They say that if a tester has programming skills it will benefit him and the organisation immensely.

Here are a few benefits:

  • Ability to code, makes the tester comfortable in owning and preparing test environments. He can pick out the problems, ask for help, and resolve matters more quickly. He is also more confident of dealing with web servers, DBs, Message queues etc., and can write scripts to maintain, monitor, and prepare test environments.
  • If the tester is comfortable with coding, it is easier to drive testability. Even a fairly good understanding, of say what might make underlying code more testable, can help a tester discuss test only end points, hooks in the system, and test only configurations with the developers. He can also appreciate the limitations to implementing them if any.
  • Programming knowledge helps a tester see the boundaries and layers of underlying systems more clearly. This helps him avoid duplication of test efforts as well as gives him an opportunity to focus on things which are important to test from the system’s point of view.
  • The Ability to code gives the tester a better understanding of the release process. He can appreciate the different branching strategies and can see the importance of continuous integration. It can also aid discussions of merits and risks of continuous deployments. It becomes easier for him to own continuous integration and automated testing.
  • A tester with programming know how can better understand the complexities of development. They find it easier to spot risks, find problems, and speak the language of developers. They are more in the position of contributing meaningfully in technical discussions.

So there are many reasons why skilled testers should build their programming skills so that they are able to read, write and understand code.

In the end, with areas such as artificial intelligence, big data and interactive computing, manifesting themselves in several domains, technology is growing at a very rapid pace. So in today’s world, the value and the versatility a tester brings with his programming skills will go a long way in differentiating him and his testing team. So it makes more sense to start understanding the value of a tester with programming skills rather than making it mandatory for testers to now programming.

Sankhadeep Chakraborty

Sankhadeep heads the engineering arm in Verinite. He has been associated with the BFSI domain from the start of his career. He is a hardcore techie and innovation drives him. He believes in the saying "Nothing is impossible"

Want to get in touch with us?

Got Questions? We got you covered just contact us for further assistance