Why Learning to Code Can Make You a Better Tester

Harshani Perera, 23 July 2018

As a tester, you most likely have heard that ‘Programming knowledge is not a requirement to be a tester’. That’s true. However, it could make you a better tester. Like me, you may have read articles on the benefits of knowing a programming language for testing. However, I was not fully convinced until I experienced it for myself.

Following are the important concepts I have taken away from my learning and hope that it supports you in in your journey to becoming a better tester.

Empathy

Coding is not an easy task! It takes a great deal of effort to create an application that works after coming across countless numbers of errors and fixing them. After spending much time on the application, you will feel it is a part of you and an extreme sense of accomplishment for the amazing creation you have made. Also, you would probably not see any flaws in the code you have written.

Finding bugs means you are looking for flaws in someone else’s work that they have worked hard to create. So, when reporting bugs you should be thoughtful in communicating the bad news in a way that does not criticize the person but only the product. You should create an environment where there is a mutual understanding between the developer and the tester so that both parties are trying to achieve a common goal of delivering a quality product to a client and that it is not about finding flaws in the person.

Learning a programming language can help you better understand how bugs can develop in code and the difficult task for developers in trying to resolve them.

Log Better Bugs

If you have learnt a bit of coding, you will know the difficulty in trying to fix an error. Therefore, the more information that is available to you regarding the error, the easier it will be to isolate the problem and find a fix. This will minimize the feedback loops and help to get the bug resolved faster. When logging bugs, try to put as much information as possible within the given time frame i.e. the steps taken, the data used and any screenshots. Look for ways that you can isolate the error and note these steps down in the bug report. Isolation refers to all the information gathered in narrowing down the factors that caused the bug.

Improve Communication + Understanding

Knowing a programming language will help you to understand the developers’ language when discussing bug related issues. This will improve the collaboration & communication within the team and you might even be able to make suggestions to resolve the bug!

Understand Coding Error Messages

Before learning to write code, I was afraid of it! I would rather leave it for the developer to figure it out. However, these coding error messages can contain useful information that can help you in your investigation in isolating the bug further. Don’t be afraid of reading coding error messages. It is not necessary to fully understand the text but try to understand what is happening and the error description.

image

Figure 1: Sample Error Message  (Mitchell, 2009)

Write Better Tests

Knowing how coding works can provide you with insight on where and how it can fail thus help you to write more thoughtful tests.

I hope these concepts encourage you to learn some coding skills. You might just enjoy it as much as I did. It will not only help you become a better tester but to also have a more successful career.

References

Mitchell, S. (2009, September 6). Displaying a Custom Error Page (C#). Retrieved from Microsoft: https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-getting-started/deploying-web-site-projects/displaying-a-custom-error-page-cs/_static/image1.png