7 February, 2018

4 Reasons Programming Experience Can Benefit a Testers Capability

Having a background in programming teaches an individual a lot of important concepts and skills that can be transferred into software testing. This is due to them both using many of the same processes during the development lifecycle. There are 4 key reasons to how programming experience can benefit a Testers capability.

Analyse, Analyse, Analyse

The most imperative rule when starting a programming project is that before you even touch a keyboard, the project specification should be analysed with the next step being the first initial design of the software. Doing this ensures that there is a proper plan in place and no one is jumping ahead. For testing this principal is very similar. If you are given the specification and requirements, it is important to first understand what the requirements are and once understood, tests can be scripted and then carried out.

Patience is a virtue

Personally, programming is one of the most aggravating things that involves a computer. Staring at a computer screen for hours trying to find the reason that the software is not working as intended is extremely infuriating and questions starting to learn the language in the first place. However, when the solution is found it quickly becomes one of the most rewarding experience in the world.

The best thing about this process in terms of testing, is that learn to have patience whilst things are broken but not easily fixed. In testing, projects can get delayed, requirements could be changed suddenly for a variety of reasons. For example, changes in the testing environment. Patience is a good thing to have when dealing with these situations.

Developer Insight

Though this may not directly affect testing, it is always convenient to have a working knowledge of the steps prior to testing in the development lifecycle. It is a widely known in the industry that developers can possibly be hostile towards Testers and vice versa - especially if the testing is outsourced. Nobody likes flaws in their work to be pointed out and because Testers may not necessarily be from a technical background, the relationship between Testers and developers may become strained. However, it is advantageous for Testers to have experience in programming which could positively improve these relationships. 

Extrapolate your Knowledge

There are an array of programming/scripting languages. From C++ to Python and even SQL, each is entirely different to the other but the core principals are the same and share similar traits. This means that once the language has been learned, the principals can be extrapolated to every other type of language. Therefore, a Tester with programming experience will be able to pick up and understand a language much quicker that other Testers. The core principals of programming span every language and when it comes to learning other languages the only thing in the way is understanding the syntax of that language.


There are many positives for a Tester learning a language. With these added benefits, it can allow the individual to appreciate and understand the processes and steps involved in the development lifecycle.

But with so many out there, which one should you learn? The answer to that really is... any!


By Stuart Davies, Test Analyst at Edge Testing

Back to Blog