While it's good to learn from your own mistakes, it's always better to learn from the mistakes of others.
As an automation tester, sharing 10 common mistakes that are easy to make, you can learn from them and draw lessons from them.
1. Automate when necessary
Newcomer Xiao Wang was both happy and nervous when he was tasked with automating test scripts for a web application, as it was his first assignment on the team. First impressions are crucial, and he wants to make the perfect first impression on the team. Xiao Wang was asked to automate one of the modules in the web application, but he wanted to perform better and do more automation, so he chose another module. However, it turned out that he hit a dead end and didn't finish. In fact, there is nothing wrong with Xiao Wang wanting to try something new. The mistake is that he tried to automate the module without consulting his predecessors. As it turns out, this module doesn't need automation, as the integrated system can lead to multiple false positives.
I've seen this happen many times with new automation testers. After all, curiosity can lead the way. When learning to automate testing, you'll want to try to introduce automation in every project, but it's not necessary. There may be enough power to automate something, but is this thing feasible enough? While automation is known to save time and effort, it's important to answer the question: "Why automate this project?" Once you have a solid, pragmatic answer, you don't give the green light to automation.
2. Scope of Definition
It is necessary to define the scope of the tests that will be performed. As a novice automation tester, always try to test everything and automate every test. The problem is that while it is possible to successfully automate all tests, it is neither practical nor feasible.
First, there are many parts of the code that don't require frequent testing, but can take a lot of time to develop frameworks or scripts for them. For example when testing a website, it is useless to automate every element of the website and run scripts on it, it is not worth the time and effort.
Second, automating everything increases the test automation percentage, which provides good data on paper and makes you feel like you've done a great job when it's not.
Define the scope of your tests and make informed choices by considering only viable code for automated tests that provide real value in a timely manner.
3. Accurate selection of automated testing tools
Another most common mistake automation testers make is not choosing the right automation testing tool. A project contains many components focused on different test goals. These goals should be divided into different tools to help achieve this goal more efficiently.
For example, if you want to test a website's API, it's best to use Postman; but if you want to ensure that your web application renders flawlessly across different browsers, online Selenium Grid will be the best choice for automating cross-browser testing.
4. Good coordination with other testers
There are many people on the test team with different skills. For example, someone may be good at business testing, while others may be good at functional testing. However, this is no reason not to discuss the progress of the mission with them. Coordination is the key to accelerating product delivery. Find out who is doing what, what tools are used, and are you comfortable with programming languages for test automation.
This helps to help troubleshoot automated test scripts, knowing who to call for help if things don't go well, and knowing the team can also help you coordinate when needed. As discussed in the last point, a project may require different tools to achieve the combined goals, and it is up to testers who are good at different tools to play their part.
5. Check ROI
It's a very novice mistake to just take the tester's salary into account as a cost associated with the entire testing process. Obviously, this is not the case.
For example, if you want to perform cross-browser testing of a website, the tester's salary is of course part of the cost. But if the team doesn't know this type of testing or any of the tools associated with it, then training will also be required to upskill them, which incurs additional costs. In addition, there needs to be a suitable automated testing tool or framework to perform automated browser testing. Of course, open source frameworks can also be considered.
This is just an example. Likewise, you will encounter other investments in the process of performing automated testing of web applications. However, they will definitely appear. Therefore, testing costs should be carefully considered, keeping in mind the return on investment you will receive. If the rate of return is lower, the strategy needs to be changed and calculated again. But in the end, you need a good ROI throughout the testing process.
6. Excessive reliance on no-code testing
While no-code automated testing tools have a short learning curve and are easy to get started with, they will not help build the relevant skill set required for an automated tester profile. As a beginner, they help newbies get started well, but as you develop your skills, you realize that they are not as useful as you might expect. If you decide to interview automation testers with the wisdom of no-code automation tools, or have been automating complex web applications with no-code automation alone, you're going to have a rough time.
Reliability is another big issue with this type of tool. At the end of the day, you need to understand the code in order to debug where your automated test suite execution goes wrong. Also, if you are faced with a complex website, you will not find no-code automated testing tools as flexible as you might think. It is recommended not to escape the code, but to learn it proficiently. Most importantly, it will be a great charm on your resume. So, as an automation tester, make sure to avoid this common mistake.
Seven, maintenance test design
Test design is the process of converting general test objectives into tangible test cases and conditions. As developers, we tend to think that since testing requires coding, why can't developers do the job? If this is the case, then the position of testing does not exist.
As a beginner, not understanding the importance of test design is probably the biggest mistake as an automation tester. It's a ridiculous idea to test anything anytime. To test effectively, testers need to design tests and then code them. Designing tests helps create meaningful tests and makes the entire testing process very efficient.
8. Focus on code reuse
A test case is not unique to the code it applies to. In a project, there are many similar components that require similar test designs and test suites. For example, when using Selenium for cross-browser testing, we found that four elements of a web page are input fields and require similar test cases. Here, you can copy-paste the code by writing a test for the first element only. While this will give the expected result, the problem is that in the future the developer might change the element in some way. Now, to change the test case, you need to change the code in every test suite you write. All the time will be wasted finding and modifying these test codes.
To avoid this, one should always focus on code reusability. Instead of pasting code over and over again, construct a function with the appropriate parameters and call that function on each element. That way, if anything changes in the future, you just need to modify the function and you're good to go.
9. 100% automation is a myth
Like the classic "man-month myth" in the computer field, the "myth" here also refers to the impossible fantasy.
Don't believe this myth because as an automation tester this would be a serious mistake. As a newbie in the field of automated testing, it can be exciting to introduce automation into a project. But this leads one to make the mistake of thinking that automated testing can completely replace the manual testing process. Over time, we will learn that this is not possible. Replacing manual testing with automated testing 100% is a myth and it will never be possible.
As a beginner in this area, don't try to achieve such a goal. Going back to rule 1, automate only when necessary, and only automate those items that need to be automated.
10. Follow from scratch
When testing, different types of problems are encountered. Goals need to be set and these issues categorized. A basic approach is to start automated tests with smaller modules rather than large ones.
One of the biggest mistakes you make as an automation tester is starting your automation with larger, more complex modules. There may be a lack of awareness of the inbound and outbound processes involved in each user interaction; there may even be a lack of proficiency in handling tricky test cases; you may end up wasting a lot of time with nothing to gain. So start small and increase your automated test coverage from the basics.
When stepping into the field of automated testing for the first time, it is inevitable to make some mistakes, which will cause a waste of time, money, and energy. I hope this article can be helpful to newcomers to automated testing and help you avoid stepping on these unnecessary pits.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。