If you have decided to become an automation tester, you’re bound to make mistakes, especially if you are doing complex automation testing. If you want to avoid errors and become proficient in automation testing faster, learn from others' mistakes. With that in mind, below are nine common mistakes that most automation testers make, but you don't have to.
Before we start, remember that 100% automation is a myth, and we always need manual testers.
1. Automating Everything
My first assignment was to automate Selenium test scripts for a web application. To impress my mentor, I picked up another module as well, and in a few days I hit a wall.
It turned out that that module was not meant to be automated, as it could cause many false positives and negatives. It cost me time and reputation. So much for my first impression, I would say.
Always define the scope of the tests first, then think about automation. As a new automation tester, we want to test everything. You may automate 95% of the project, but will that be worth the time, effort, and money? It's crucial to be curious, but always remember that automation is not a magic wand, and it is not possible to automate everything.
Always ask yourself why you need to automate a particular project. Ask more experienced colleagues. If they think it offers real benefit, then take it as a green light. Automate only those tests that provide value and save resources.
Tip: Automate when it is necessary; don't automate just for the sake of it.
2. Not Paying Attention to Tools
Tools can make testing easy or challenging, so choose them wisely. You will need to be clear about your objectives so that you can choose your tools accordingly. Different tools can help you achieve different goals.
For example, if you want to test API for a website, you should choose Postman; if you're going to check your website's cross-browser compatibility, go with a tool like LambdaTest. A project can be divided into many objectives, and we can achieve each objective using different tools.
Tip: First find the problem, then find the tool to solve it—not the other way around.
3. Not Coordinating with Fellow Testers
It is highly likely that as a new tester, you will be working on a team. Typically, a team has people with different levels of expertise. Knowing your fellow testers better will help you understand who is doing what and who is good with what—so you can reach out to them accordingly.
By knowing them and their skill set better, you can save time when you encounter a problem as you know to whom to reach out. Also, it’ll reduce the chances of random task allocation.
Tip: Know your fellow testers well before you start testing.
4. Not Keeping a Check on the Resources
Testing is a costly process. But most of the time, people forget about these costs. Remember: a tester's salary is not the only cost for the testing process. Tools, infrastructure, machines, training, and up-gradation are also expenses.
If you are using an open source framework like Selenium for cross-browser testing, testers must be trained on the framework. Sometimes they need the tools for upscaling the testing. For cross browser testing, automation tests on a local machine may not be enough for a growing company; your team may need cloud-based parallel testing infrastructure.
The team may need some training for the tools, like cross browser testing tools, or subscriptions to third-party cloud services, like web hosting. All these will be expenses, even before the process of testing starts. By using all the resources with maximum productivity in mind from the early stage of your career, you will be able to impact positively on ROI of the resources.
Tip: To become an asset for your team, you need to understand the liabilities first.
5. Focusing Only on Codeless Automation
If you want to get the job done quickly, codeless automation is an easy escape, but it won't help you develop your skills. If you go to an interview with only this skill, you will have a hard time cracking it.
Software and websites are becoming so complicated that it is nearly impossible to automate everything using codeless automation tools. So, you mustn't run away from code.
Tip: Do not use codeless automation before you know how to write the test code.
6. Not Paying Attention to the Test Design Process
Test design is used to build tangible test cases from general use, observations, and objectives.
As a newbie, I used to undermine the process of test design by directly jumping to the automation script writing. Test design was a boring task to me, and I think that was my biggest mistake, because I never had a full picture of the end result I wanted. It led to many retrospective corrections and time waste.
Designing the test will help you to create real-world applicable and meaningful tests. This will give you an overall idea before you write the first line of the code and make the testing process extremely efficient for you.
Tip: Do the work right the first time so you don’t need to waste resources to fix it.
7. Falling in the Trap of False Positive and Negatives
A false negative is when test results wrongly indicate that the test failed, despite passing. A false positive is vice versa.
The test report is not the universal truth, and we need to take it with a grain of salt. For example, if you are testing the login functionality and the report says the user successfully logged in, you better go and check if the user actually logged in or not. Making mistakes with these types of things can hurt your credibility as a tester.
Tip: Test your testing code first and then test other’s code
8. Not Following the Ground-Up Approach
Take one step at a time, and start with baby steps. The ground-up approach dictates that you start by automating the tests for smaller modules, and then climb to the bigger modules.
As a newbie, you might not know about all of the outbound and inbound processes involved. You may lack the skills to write tests for bigger modules and end up with nothing to show after days of work. So, always start small and build your skills from there.
Tip: Starting small will prepare you for bigger modules.
9. Not Performing Exploratory Testing
One of the common mistakes most automation testers make is not incorporating exploratory testing into their weekly routine—I have done it too. Don't fall into the trap of looking at scripts and pre-written tests only.
With exploratory testing, you can figure out new test cases that may not be in the pre-written tests. So, don't forget to perform exploratory testing periodically.
Tip: Don’t forget to explore.
Right on Time to Become an Automation Tester
Right now is the best time to hop on the bandwagon of automation testing. Almost all the major frameworks are either available with automation or moving in the direction of automation.
When you step into the world of automation testing, you are bound to commit a few mistakes. However, following the above tips will ensure that you avoid the major ones.