Does A Tester Have To Learn And Write Code? Is It Required?
It’s not a new question, it’s a very common question which has been discussed and asked many times by software testers, especially new testers over the internet.
In this article, we’re going to discuss this topic. In software testing, it includes manual testing and automation testing. Before answering that question, firstly you need to answer questions “what do you need to become a manual tester or an automation tester?”. As you know, software testing is currently divided into two categories above, so testers have to learn and write code or not; it depends on which type they choose.
Now let’s analyze whether the answer yes or no.
Generally, with software testers who get into manual testing will answer “No”. As a manual tester, all things do to is that clarifying requirements with business product owners, understanding how the application work, discussing with developer team and tester team what functions should be tested or shouldn’t, writing test cases, preparing test data, doing exploratory testing, black box testing, ad-hoc testing,… and many other activities to find where bugs are, and most important is making sure that the software works correctly per requirement from the user’s point of view.
Therefore, a tester doesn’t have to learn and write code.
But who wants to be an automation tester or a manual tester wish to learn more about automation testing, so the answer is Yes. Because to do automation, you must know a programming language which has supported to write automation script for the test cases. So, learning and writing code is undoubtedly essential. Besides that there are types of testing if testers know a bit of programming, it may help them prepare their testing better. For example: if doing white box testing, testers will base on the source code to write test cases, without code knowledge they can’t do that or not spend much time on regression testing by writing automation script. Addition, most companies have been applying the agile methodology in project management. Testers will work with developers to writing tests, the whole team is responsible for the quality of the software, coding knowledge may be a help, so learning and writing code is essential.
It may be a good thing if a tester has coding knowledge. Because there are many benefits it brings, such as
- Help to design test cases sooner and better: If having coding knowledge when looking at the code, testers may understand the architecture and workflow of the product. They can write test cases without seeing the UI of the application.
- The tester can do code reviews and find some bugs directly in the code.
- Help your work become easier: if you write some code that can do all your work just by a click and you don’t need to do the same monotonous tasks every time, and the task can be done more efficiently in a lot less time.
- Give an advantage over other testers who only have functional knowledge. Having coding knowledge will help you have more value for the software companies as well as more opportunity in your career.
Does a tester have to learn and write code? The answer “Yes” or “No” depends on your context. If you are happy being a manual tester, coding knowledge is not required. What a manual tester need is having the critical thinking, analytical, investigative skills, understanding how the application works and having a deep understanding where bugs are hiding that may cause harm to the application. Besides, that new generation testing tools support very intuitive interface making it easier to be operated by the newbie tester (irrespective of coding knowledge). Currently, we can’t say that it’s completely codeless, but sooner or later this would be the scene, a complete code less interface.
If you want to be an automation tester, or you are a manual tester but want to know more about automation testing. Of course, besides what a tester needs, coding knowledge is required.
Besides, in today’s world, everybody is trying to seek more value, in the context of the employer, the term “more value” indicates that the software industry is looking for more productive professionals and quality conscious so that profitability can be increased. In other words, software testing professional will have better prospects if he/she knows four essential areas: a programming language, databases, Software Development Life Cycle and Programming Languages (Ruby, Java, …). Knowledge of programming/scripting languages would give them an edge over others as they can play an important role in complex projects like security testing, performance benchmarking, and performance tuning of software applications.
At MeU, our testers can do both manual testing and automation testing, especially with writing script in Java language and Selenium.
So how about your opinion about this question? Please leave comments here.