Some people say: "Unorganized automation will only bring about faster chaos." Not only faster, but more serious and greater chaos. If used properly, automation can be an amazing productivity booster and system quality enhancer in the test team. The key to automated testing is to use it correctly, which is the most difficult part in the beginning. Below, we will learn about the most common automated testing challenges and countermeasures.
Challenge 1: Obtain management approval
Like any company department, employees always need to know what the budget allows and what is not allowed. Testers may already know the advantages of automation in both commercial and technical aspects (shortened time to market, increased test coverage and accuracy, reduced hourly test costs, faster detection of errors, etc.), but how do testers convince the financial department and software The person in charge of development, buy the necessary time and funds for automated testing?
"Automated testing can increase productivity and accuracy. This is where the business case must be made. The cost of a single defect...can offset the price of one or more tool licenses."-Randall Rice
We agree with Randall Rice's view that automation can pay for itself. In order to prove to the management that the financial benefits are substantial, they can be shown a simple breakdown of the return on investment in automated testing. It is also important to be honest and open with other people and other stakeholders, and not to conceal the fact that the automation pre-work and resource requirements are high.
Challenge 2: Choose and use the right tools
For various reasons, many teams failed to pass this stage successfully. They may not know the expertise of a particular tool, cannot find the ideal tool, or the tool set is not widely covered, and so on.
If you don’t have enough basic knowledge on how to use the tool, you have the following options:
- Take online courses
- Let the tool maker to train
- Hire a consultant to better grasp
- Outsourcing
If the existing tools cannot meet your needs, then consider finding a multi-tool solution. Remember, it is impossible to test everything completely, but you can use tools to test the most important parts.
Finally, if the tool cost exceeds the budget, quickly perform cost and benefit analysis and display it. This can measure the losses caused by previous mistakes and show how much time and money can be saved if you use the tool.
Challenge 3: Determine the launch strategy
Okay, now you have all the tools and support you can start to automate, but what exactly are you automating? How is it done? The tools themselves don’t tell you what to automate, just like novice parents discovering that their child was born without a parenting manual. Will it cultivate a generation of excellent automated tests, or will it be destroyed and no longer manageable? Of course, we definitely hope it is the former! But in fact, there is no way to automate everything, so you must have a strategic vision. Two methods can be used to help solve this problem: risk-based testing and automation pyramids.
Risk-based automated testing
It prioritizes the testing of components that are most at risk of failure. If the failure occurs, these components will also bring the greatest negative consequences. Need to consider here:
- The economic impact of potential errors
- Probability of failure
- Service Level Agreement (SLA)
- Is there any property hazard
This should provide you with a good way to determine the priority of automated test cases.
Automated Test Pyramid
Another highly recommended method is to follow the automation pyramid. In a recent article, there was a broader discussion on this topic, here is a brief overview.
The ice cream cone tastes sweet and inviting, but using the ice cream cone method may disrupt the automated process! Following the ice cream cone method will result in a high error rate because it emphasizes automation at the UI level, which uses more easily broken tests. But if you put your energy into automated unit testing, you can find and eliminate errors almost immediately during the software development process.
Challenge 4: Set realistic expectations for automation
No matter how good your tools and processes are, remember that the test will never be completed. Automated testing is not a panacea for a system with many vulnerabilities. It should not replace non-automated testing, but should be used in conjunction with non-automated testing. There are some tests that cannot be automated at all, but there are also some automated tests that can find errors that other methods cannot.
Automated testing is actually just an automatic check of the system, but still requires manual non-automated testing. Also, remember that the value of a test comes from the information it provides, not the number or frequency of tests performed. We are most concerned about obtaining the correct information so that we can make the best decision when improving the quality of the system.
Make sure that the team and management agree and understand the expected results of the automation solution, so that everyone can reach a consensus!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。