If you are a test automation developer or are considering it as a career, have you ever wondered if testing skills are essential for your job? This article will help answer that question for you.
Here’s how learning a “tester’s mindset” helped me become a better automation developer.
My Story: Working as an Automation Developer and Tester In Parallel
My first job out of University was as a test specialist at IBM. I was excited, mainly because I had joined my dream company. However, somewhere deep inside me, I felt I was missing something. I soon realized it was because my passion had always been code development during my college years.
Hence, to pursue my goal as a coder, during my first days on the job I spoke to my project lead to get involved in test automation development. To my delight, he readily agreed! However, he added that I should still consider performing my test specialist role in parallel.
The arrangement was as such: I worked as a test specialist for one set of components and an automation developer for another significant product component.
Fast forward a few days later—I made a startling discovery!
I discovered that being a tester had helped improve my development skills. While I developed code, I started thinking like a tester. I started thinking about test coverage, multiple test paths, usability aspects, readability aspects, and more!
My First Expert Test Mentor
Also, during these early days, I had the opportunity to work with a test expert for a technical paper on accessibility testing that was to be submitted to an international tech conference.
As we built our paper, based on our experience and learnings on the topic, I found my first testing mentor.
Since I was new to the testing field, I had a lot of questions. My mentor colleague helped me with my questions by guiding me in the best possible way. He was passionate about the testing arena! That love for testing was infectious, and I caught it too!
Networking With Test Lovers
Guess what came next—we attended the tech conference where our paper was selected!
During the tech conference, we met a passionate community of test lovers like my mentor. I was in awe of how people respected testing and how they planned to grow in their careers. We met people, exchanged notes, learned tips and tricks on testing!
Destiny brought me to testing in my first job, though automation development was my original passion.
Steadily, I discovered how testing had helped me become a better developer! Eventually, I noticed how the “testing mindset” enabled me to develop high-quality automation test scripts.
I was lucky that I had the opportunity to learn this perspective by working simultaneously as a tester and test automation developer.
Test Your Code: Excel as a Developer
During my experience working simultaneously as a tester and automation developer, I discovered that a developer who improves testing skills eventually learns “better” code development.
After all, the earlier the bugs are caught in the code, the cheaper it is. So, if you as a developer can see that bug before you pass the code to the testing team, it would save your effort.
Also, when you start thinking as an ideal tester, you prioritize the business usage perspective of the product, which is very important. You start thinking “outside the box”.
Before handing over their code to the QA team, developers should perform well-planned unit testing. Doing so avoids unnecessary defects creeping into the system at the integration or the system level.
During unit testing, developers test individual units of source code to see whether they follow the requirements and the code performs as intended.
Integration testing is a form of testing in which developers test the related systems or units of code to ensure that various aspects of the framework work well when integrated.
What Could Be the Reasons That Developers Often Overlook Testing Skills?
The reasons may be any of the following:
1. A prior belief system that testing needs to be performed only by testers
They may think that software testing doesn’t have much to do with them or that they don’t have much to do with software testing.
2. They assume that their focus should be only on refining the framework
Those developers who focus only on refining the framework and documentation, rather than discovering bugs in the software, are usually in for a nasty surprise later.
If an “apparent” defect is missed by the developer, when a tester detects it, it involves the time to rework the code to fix the defect. This is not a preferred scenario.
And as you know – a developer is most familiar with code built by themselves. Hence, wouldn’t it be best if they found it first, early? Also, as a result, time and effort will be spent by testers working on higher priority, critical flaws instead.
3. A habit of procrastinating on resolving the issue when first seen
Developers may assume that debugging later is more efficient. But, actually, it makes debugging easier when a developer finds the defect early instead.
The debugging for failure, and the line number that caused the bug, will be shown in the failed scenario when the developer first notices it.
On the contrary, if the defect is “pushed” to later, it would involve defect reviews, in-depth debugging, and rework time.
Five Tips for Growing the Testing Mindset as an Automation Testing Developer
1. Volunteer For A Testing Role
It would be a good idea to volunteer yourself for a test role to gain hands-on experience. With this, developers can hone their testing skills.
And what can you do to get into a testing role?
Well, the answer is simple, while you look for that role you could educate yourself to understand how an efficient tester “thinks”.
2. Educate Yourself
Read, discuss, brainstorm, ask questions!
I’ll explain how you can do so later on in this article.
Workshops and conferences are great places to find experts in the testing field. Here you can discuss your most significant ideas and concerns, and I am sure you’ll be lucky enough to find someone there who can help you.
4. Find A Mentor
Like I mentioned earlier, I was fortunate to find my mentor who made me love testing. It is highly valuable to find a mentor who is passionate about testing, someone who coaches you.
5. Be Open-minded and Listen To Reviews From Your Automation Testers
There will come times when testers who run your automation code may face issues and share their concerns. Listen to them with positive intent, and act upon the suggestions if you feel they are right.
Your counterpart testers will open new avenues in the way you think and eventually help you improve the way you write code for automation testing.
How Can You Educate Yourself About Testing?
Read Blogs and Research Papers
Read a lot about testing and practice what you learn. We are lucky to be in an era where we have all the information on the internet.
With this, you could read blogs and even research papers to get great content to learn. And you could contribute your learnings too!
Attend Seminars, Workshops, Gain Certifications
You could attend seminars, workshops, and conferences that explain the testing arena. These are great places to learn, share knowledge, and brainstorm your ideas. You also get to meet people who are passionate about testing.
Additionally, you could venture out to pursue testing certifications such as ISTQB, CSTM, and more. Thus, you will learn testing methodologies, tools, tips, and techniques to understand all about the testing world.
A tester’s mindset and being knowledgeable about the testing methodologies, tools, tips, and techniques are necessary to excel as an automation testing developer. Indeed, it’s advantageous for any developer to understand why, when, and how to test.
When a development team tests their code efficiently, before passing it for testing by the QA team, there will be a good improvement in the team dynamics.
This change will benefit everyone. Developers can release high-quality code and the testers can focus on finding critical flaws that the developers can fix later.
The result is a high-quality product delivered to the customer.
All this is possible by learning more about testing, even if you are a developer. If you have not started yet, do not fret, it is never late to learn!