当前位置:网站首页>Reasons for the failure of web side automation test
Reasons for the failure of web side automation test
2022-07-07 11:31:00 【The elegance of testing】
1、 Unrealistic expectations – 100% automation
The initial test automation failure was achieved from unrealistic expectations . In my career , I have observed it many times , Once you get automated quality assurance or staff , Management expects them to automate testing of everything . Although it sounds very pleasant , But it's impossible . You can't do 100% Automated testing , Because in a few areas it's necessary to do manual checks . One of these areas may be related to your Web The accessibility of the application is related to .
for example , If you are performing automatic cross browser testing , For Selenium The test automation script will display the web page on different browsers or operating systems . however , To determine if the site is rendered as designed , Is the layout right , Whether the words are suitable , It's best to evaluate... Manually
2、 What is automation and how much ?
Many organizations do realize that they want to do 100% Problem statement for automated testing , But usually we have the following problems . What automation can we achieve , If not 100%, Then we can do for Web How much automation does the product actually achieve ?
There is no perfect percentage or approximation of automated test coverage for each enterprise . It all depends on what you provide Web Applications , And because different companies are meeting different needs . spontaneously , People will have unique expectations about the percentage of automated tests that can actually be achieved around automated tests ? The scope of automated testing will be from e-commerce Web Application to static , Dynamic or animated Web Applications are different . therefore , If you want to know why automated testing fails for your organization ? then , I suggest that you follow the Web The type of application to evaluate the amount of automated testing required .
3、 Poor management leads to lack of visibility in test automation
Before I started as an automated Tester IT In my career , I've been a victim of mismanagement . I was in a family based on Service The company of , They assigned me my first project . The project has been running for two years , When I joined , I was given a series of test automation scripts . The top of the project is leaving the organization , Management is too busy with the coming sprint , It is impossible to consider a comprehensive knowledge transfer course for the advanced automation testers who will leave . What happened after they left was not good ? My manager said at the end of the hearing , We were taken aback by the power failure , And I just started , Minimal knowledge of how various outbound and inbound processes are affected by many automated scripts . However , I've seen teams with a few members in charge of Automation , The other members knew nothing about what was going on .
Do you think that when half the team lacks visibility , Is it unrealistic to get magic effects from automated tests ? Because automation has to be a collaborative work , So it's important to educate each team member about tools and processes , Especially for beginners . You can discuss automation related tools by holding team meetings and conferences , Trends and practices , To achieve this goal .
4、 Don't know about manual or exploratory testing
This may surprise you a little , Another reason for the failure of test automation may be the lack of manual test skills or exploratory test skills . Automating test scripts doesn't mean that team members can reduce some slack . up to now , We already know , The automation method doesn't cover everything , And that's the challenge . Because now you have to go deeper into Web Applications , And find the key test plan that teammates haven't found .
Automation is a way to save testing work . Software companies should use it to minimize duplication , And try to automate those elements that are not easy to change . Once that is done , Companies should allocate their resources to perform extensive manual or exploratory testing , To find unique test cases .
5、 Don't think about it and write scripts
Automation seems to be a goal of reducing workload . But before developing test automation scripts , You have to be thoughtful . Besides , This can take a lot of automated test execution time . The flexibility of frameworks and test automation tools plays a critical role in the time required to develop script scenarios .
Because every situation is different , So you have to script . Even if you think about , If you don't script , It's all a waste . Ensure that the test engineer's coding skills are consistent with the complexity of the test . Complex tests take a lot of time to automate . therefore , With the development of new functions , They usually don't have a chance to find mistakes in regression . Before writing down the test plan , Please make sure to keep these precautions in mind .
6、 Lack of understanding of when to use automation and when not to !
“ Why test automation fails for your company ?” The most common reasons behind ?” People don't know when to automate , When I don't know . for example , Can automate different web functions . But evaluate the fill through test automation , Rendering problems such as images are not a good idea . If you use coordinates to determine the location of elements , When running at different screen resolutions and sizes , May lead to differences .
When testing projects that are easy to make a lot of changes , It's not feasible to use automation . If you want to test a stable entity , So automation is the only way . Basically , Common tasks that need to repeat certain operations are best suited for automated testing . therefore , Test automation can simplify your regression testing process .
7、 Improper selection of personnel and resource plan
I can see IT There is a general misconception in the industry . People think that any developer or tester can perform test automation . Design of test automation , Configuration and implementation require specific skills . Testers who perform automation should know how to , Articulate ideas between developers and customers . He / She should also have a clear understanding of development trends , And you should know where the development team is going .
Automated test engineers are some of the most difficult but important people . In order to start all kinds of automation projects , Hiring testers with extensive technical knowledge is essential . The whole team should know what happened , Instead of automated testing by one or more people . Even when it comes to hiring highly skilled people , But the rewards are worth it .
8、 Not paying enough attention to the test report
Because automated testing is a relatively new phenomenon , So the chances of failure are high . There are too many new experiments by the test team , So it's important to analyze the results accurately . After the test , The tester must make a detailed test report . however , That's why test automation fails for you ! Your team did not pay enough attention to the analysis of the test report . In case of improper execution , Analysis can lead to unattended failures , And waste time , Resources and energy .
In automatic test , Some tests are successful , Some failures . therefore , The test report must be checked for faults and the cause of some test failures must be analyzed . It's best to do the analysis manually , To find the real fault . It's important to expose hidden problems and make sure they're not covered up by other problems and ignored .
9、 A bottom-up approach to defining your automation goals
Set too high to be the real goal of Automation , It seems perfect on paper . however , When performing steps , There is a serious lack of clarity among team members . The biggest problem is that the goal is not clear . They lack the accuracy and accuracy to get real value from Automation . What most companies do is , They started automating very complex things , And finally reconstruct the whole framework . result , Teams end up wasting a lot of time , Money and energy .
You can eliminate uncertainty by starting small and gradually increasing complexity . Choose stable features , And start with automation . after , Gather feedback to determine what went wrong . Once your tests are consistent , You can continue to use other functions . For different project environments , Requirements may vary , So use custom methods for Test Automation .
10、 Choose the right tools for efficient testing
With a lot of automation tools , Sometimes choosing the best tool becomes challenging . The ultimate goal is to improve the overall test procedure and meet the actual requirements . But most teams can't start over , Nor did they pick out the most appropriate tool for their testing needs . without doubt , Automated testing is highly dependent on the tools you decide to continue using . Each tool has a specific function . however , The team lacks the level of expertise needed to make the most of these features .
Besides , The company is caught up in hype about specific tools . But after choosing it , They realized that it didn't provide everything they wanted . in addition , Every team has a budget , Sometimes the cost of the tool exceeds the budget . Before continuing to select the operation tool , Please list the requirements carefully . after , Determine your expectations for the tool . Be very specific when setting goals , And check the corresponding relationship with product user acceptance standard . You can also consult experts who have experience using these tools .
11、 Ignore false negative and false positive
This is often observed in almost every organization . Once the automated test suite is ready and working , Management starts to relax . They began to relax the in-depth analysis of test execution , Because they think only through / Failure checking is enough . however , This is why test automation led to their failure !
Sometimes , Basically, the system can work normally . however , Automated scripts don't reflect the same thing . They stated in other ways and led to a false positive program . therefore , This has created a chaotic situation , Wasted time , Energy and resources . I've seen how frustrating the test team is trying to find something that doesn't exist !
The other case is , When the automatic script sends a green signal , There is a problem . The system doesn't work , But the script says otherwise . Network problems can cause differences in test environment settings . This is due to the lack of accuracy at the beginning of the database . In the long run , Leaving the system in a damaged state may lead to disastrous consequences .
12、 Has undefined ID Of Web Elements
Every Web All elements must have one ID To perform effective tests . But sometimes , Developers can't ID Assign to all Web Elements , That's why test automation failed . under these circumstances , Automatic scripts must look for these Web Elements , It will take a lot of time . Besides , If the script cannot find these elements within the specified time , Then the test will fail . therefore , To make sure the script is synchronized correctly , The team must be responsible for all Web Element assignment is unique ID.
13、 Do not use parallel execution
therefore , Finally, everything that wants to be automated is automated . You end up with a huge test suite , Until now, , You just started hitting the wall . These complex test suites take longer than you expected . This begins with your own IDE The test queue quality in the test automation framework conflicts . result , Due to queue timeout problem , Test case stops abruptly , This is all because you want to execute them in order . The sequential execution of test cases is Web Another reason for the failure of application test automation .
Unlike running tests in sequence , Parallel execution allows you to execute multiple tests simultaneously in different environments . But automated testing can lead to unexpected code interactions . The reason why debugging fails is very difficult , So you need a thorough reporting mechanism , Provides detailed insight into test execution .
14、 Through test automation to ROI A false estimate of
No matter what business you do online ,ROI Will be the agenda of every board meeting . Shareholders demand higher returns . and , No matter how much time and effort you spend preparing the test automation suite , If they produce ROI All failed to meet expectations , Then they will be much less important than you expected .
When calculating the ROI of test automation , Many indicators may need to be considered , For example, test maintenance , The cost of purchasing the necessary test automation tools , Onboard resources, etc . The plan is impractical ROI It can be problematic for many organizations , And maybe it's the failure of test automation .
15、 Can't evaluate ripple effect
Many organizations give the impression that automated testing is easy . All you need to do is write a few lines of code to automate your Web The test workflow of the application . this is it ! You don't have to worry at all about planning and typing test automation scripts . But it's not !
You need to evaluate the ripple effect . Your Web The application will contain many test automation scripts designed to test different modules and processes . If a test script doesn't execute correctly , Other scripts may also trigger test automation failures . More Than This , Chain reactions should also be calculated when planning resources .
Suppose you have an advanced resource , He used to write scripts , Now I have left the company . You may not have thought that resigning might have a chain reaction in the future schedule of automation projects . That's why you need to document every detail about every automated test script in your system . This document should serve as a standard for budding automated testers and experienced automated testers .
16、 The test suite is not the same thing – It should develop with the development of the platform / change / Unsuitable test suite
Another reason test automation fails for your organization might be inappropriate test suites . Many automated testers create static test suites , These suites are not so flexible when you expand your business . Every time the platform develops , They all end up rewriting the entire automated test script . It's a bad habit , Because you're wasting time , Resources and money . in addition , This is also a wrong process . Make sure you write test suites that evolve and adapt as the platform expands .
17、 Automate one process and jump to another without going back
Another way to avoid test automation failures is to improvise test suites . Now? , It sounds obvious , But there is no practice in many organizations . as a result of , Once they've designed the test suite , And found that it works , And started to work on new areas of Automation . I'm not criticizing the effort to indulge or explore new areas to automate . however , Manage a time window and let you and your team review existing code snippets , There is no harm in finding a way to further optimize it . Always try to use your test suite , To make things better .
18、 Can't cooperate
With agile software , Kanban software and other modern SDLC( Software development lifecycle ) The global adoption of methods , Collaboration has become a way to Web Faster application deployment to key components of the market .
This is a multi-dimensional software development process , All teams are developing at the same time Web Applications . You have a team of developers designing the front end , The other is responsible for the back end , There is also a team responsible for middleware activities . As a tester , You need to know which team is responsible for which module . You have to be aware of product enhancements made by different teams in a timely manner , And change the automation script , To ensure that test automation does not fail .
19、 Before executing each test automation suite , Set up the test environment manually
The main purpose of automated testing is to minimize the stress involved in repeated manual testing , To save time . From an abstract point of view , That sounds good , But for those who do test automation , Be aware of the difficulty of configuring the right infrastructure for internal test automation . I often see testers refresh the entire test automation suite before executing new scripts , To avoid any ambiguity with the script . But it doesn't fail the whole process of automated testing , isn't it? ?
for example , If you are using the interior Selenium Grid Perform automatic cross browser testing , To test for Google Chrome and Safari Browser's macOS and Windows Operating system website . Now? , You may have to run... Every time Selenium Script has to face the trouble of setting up a new operating system before .
20 Run multiple test suites repeatedly in a static test environment , Without cleaning up
This is a very common reason for the failure of organizational automated testing . Especially near the deadline . Your test department will continue to run a large number of test suites on the same test environment , Instead of clearing the cache of previously executed test automation scripts . This can lead to incorrect test evaluation , When you encounter more false negatives and false positives , Your test report may be affected .
for example , Suppose you need to test your Web Applications . When performing geolocation in a static test environment . Your script may encounter Google Test of , Ask you to prove that you are not a robot . This will cause the test automation script to fail .
That's why new virtual machines need to use the cleared cache , So you can get accurate results of automated cross browser test scripts .
21、 The test environment itself is cumbersome
To enable automation to work in different test environments , A lot of planning is needed . You need to test on the staging environment , To ensure that when moving code into the production pipeline , They work perfectly . however , It happens all the time : When testing in a stage environment , Test automation scripts for code changes can run seamlessly , But when moving to production , It will collapse . There may be many reasons behind such problems , For example, lack of continuous monitoring , Staging environments cannot grow production environments in pairs , Lack of real-time traffic and so on .
22、 The test code itself has errors
But not least . If so far we have covered all the points , And your test automation still fails , So the only thing you need to reflect on is your own test automation script . Make sure you don't commit any compile time and run-time errors for any test scripts involved in the entire project .
23、 To sum up
If your organization needs to increase productivity , So automated testing is the only way . This is one of the most effective processes needed to improve product quality . Test automation also improves the robustness of software . But be careful to implement and delay . You can't rush without obstacles , Because no company can afford to lose a lot of money . On the other hand , Too much fear will prevent you from gaining the significant advantages offered by automated testing .
Last : It can be in the official account : Sad spicy bar ! Get one by yourself 216 Page software testing engineer interview guide document information 【 Free of charge 】. And the corresponding video learning tutorial is free to share !, It includes basic knowledge 、Linux necessary 、Shell、 The principles of the Internet 、Mysql database 、 Special topic of bag capturing tools 、 Interface testing tool 、 Test advanced -Python Programming 、Web automated testing 、APP automated testing 、 Interface automation testing 、 Testing advanced continuous integration 、 Test architecture development test framework 、 Performance testing 、 Safety test, etc. .
I recommend one 【Python Automated test communication group :746506216】, We can discuss communication software testing together , Learn software testing together 、 Interview and other aspects of software testing , Help you advance quickly Python automated testing / Test Development , On the road to high pay .
Friends who like software testing , If my blog helps you 、 If you like my blog content , please “ give the thumbs-up ” “ Comment on ” “ Collection ” One Key triple connection !
边栏推荐
- 博客搬家到知乎
- Easyui学习整理笔记
- 基于STC8G1K08的0.96寸IIC液晶屏驱动程序
- Qt|多个窗口共有一个提示框类
- Go redis Middleware
- Electron adding SQLite database
- 基于Retrofit框架的金山API翻译功能案例
- There are ways to improve self-discipline and self-control
- Antd select selector drop-down box follows the scroll bar to scroll through the solution
- There are so many factors that imprison you
猜你喜欢
Drive HC based on de2115 development board_ SR04 ultrasonic ranging module [source code attached]
How to add aplayer music player in blog
Talk about SOC startup (x) kernel startup pilot knowledge
一度辍学的数学差生,获得今年菲尔兹奖
Apprentissage comparatif non supervisé des caractéristiques visuelles par les assignations de groupes de contrôle
How to use cherry pick?
Table replication in PostgreSQL
Zhou Yajin, a top safety scholar of Zhejiang University, is a curiosity driven activist
oracle常见锁表处理方式
解决VSCode只能开两个标签页的问题
随机推荐
About the application of writing shell script JSON in JMeter
Vuthink proper installation process
Creative information was surveyed by 2 institutions: greatdb database has been deployed in 9 places
博客搬家到知乎
Antd select selector drop-down box follows the scroll bar to scroll through the solution
基于Retrofit框架的金山API翻译功能案例
Graduation season | keep company with youth and look forward to the future together!
Network protocol concept
Neural approvals to conversational AI (1)
mif 文件格式记录
LeetCode - 面试题17.24 最大子矩阵
.NET MAUI 性能提升
【问道】编译原理
正在运行的Kubernetes集群想要调整Pod的网段地址
STM32 entry development NEC infrared protocol decoding (ultra low cost wireless transmission scheme)
【愚公系列】2022年7月 Go教学课程 005-变量
STM32入门开发 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
Common SQL statement collation: MySQL
Hash / (understanding, implementation and application)
verilog设计抢答器【附源码】