当前位置:网站首页>How to select the best test cases for automation?
How to select the best test cases for automation?
2022-06-24 17:43:00 【Software test network】
Test automation saves enterprises a lot of time —— Unless you choose the wrong test case . This article points out what you should pay attention to .

according to 2021 Annual test automation report , exceed 40% Companies are looking to expand and invest in test automation resources . Although this does not mean that manual testing will disappear , But from ROI From the perspective of , People are more and more interested in automation —— Whether in terms of money or time .
After all , We can agree that writing and running these unit test cases is boring . A good automation strategy frees up testers' time to solve more complex problems , And help to detect errors as soon as possible .
However , Teams often rush to automate testing without an appropriate testing strategy , This can lead to problems during an overhaul . By choosing the right automated test , Maximize your energy and return on investment .
What should be considered before automating any test cases ?
1. Test frequency
It is often more effective to write a manual test for the edge case component . in fact , Testing new features allows you to quickly learn more about your application . however , As the number of features increases , It doesn't work .
Divide your test scenario into two parts : Repetitive parts and one-off or very complex parts .
The ones that automate the most repetitions . You can even set a threshold for test frequency , Above this threshold you will consider Automation .
for example , Application login or alarm system testing is an ideal candidate for Test Automation , Because they need to run after each application build .
There are several exceptions to this rule —— such as , The amount of data input required to perform a single test is very large . under these circumstances , It makes sense to automate this particular test , Because it saves a lot of time .
The only warning here is to automate a series of interdependent repeated tests . If there is a fault , It may be difficult to determine the exact test that is the main culprit . This is where logs come in handy , It can help you effectively detect these long-term mode faults .
2. Test coverage
Test coverage is critical to software quality and to ensure the stability of software builds . Automating the right type of test can help you achieve the goal of high test coverage in almost the same amount of time .
for example , If your application has many components , So running automated tests is a good idea . This bypasses the possibility of a manual error that misses a particular test , And ensure that the most critical parts of the application run smoothly . You can also run those lengthy night tests unattended , And wake up to see if the test failed ( Or success !) A detailed log of the cause .
3. result
How predictable are the results ? Automation requires predefined inputs and outputs to generate pass and fail conditions , Otherwise they may lead to wrong results .
If you are in the exploratory phase of testing , And your tests are ad hoc or require very specific domain knowledge , So automating them is not the best idea .
4. Importance of features
If a project is an important function , If it fails, the user experience may be interrupted , You should write an automated test suite . such , You can prevent any human error from disrupting your release .
Ideally , The test should run continuously , So as to inform the relevant team as soon as possible .
5. Time reward ratio
Although automation can free up testers' time , But organizations and individuals often overlook a key aspect of testing —— The cost and time required to maintain automated testing . If the back end of your application changes significantly , Writing and rewriting code for automated tests is often as cumbersome as manual testing .
An interesting way to solve this problem is to automate test engineers , To see which part of the program failed . You can do this by automating broader application testing , So if something goes wrong , You can know exactly where to look . Intelligent test execution is one of the main trends in the field of test automation , It does this by identifying specific tests that need to be performed .
6. Human participation
How complex is the test suite you are trying to automate ? If you need to re check the test results with the human eye or you need to conduct actual user interaction , Then automation may not help much .
for example , It is better not to automate user experience testing , Because test software can never imitate human emotions when using products . however , If you need to visually verify the test output , You can run the automatic screen capture test , Then perform manual verification .
7. Priority
When do I need test results ? If automated testing helps you get your product to market faster , Then you should continue to use it . however , When you need immediate results , Don't let writing and running automated tests become a bottleneck .
Besides , You should remember ,“ test ” It's not the only thing that can be automated to improve application efficiency . Tasks such as manual data collection or setting up data entry are also well suited for Automation . therefore , If you have a large dataset but you don't have enough time , Then automation may be your Savior !
Frequently automated test cases
1. Performance testing ( load 、 Pressure test )
Load testing is almost impossible “ overnight ” And infamous for testing . According to the definition , Load testing requires a lot of resources , Because they can identify system lag and performance problems as the company expands .
This is why tools for automated testing make sense —— Because they can effectively simulate users and resources at very little cost . Well, I mean , Try to find 1000 Users error test products that have not yet been released - Oh dear !
Although you must not hire 1000 name QA Experts for automated testing , But the test automation framework can set up virtual users and let them interact with your product like real users . This will enable you to extend and avoid interruptions by identifying them early in the process . then , Your team can look at performance metrics and determine the exact cause of the slowdown or disruption .
Again , If you need to do cross browser testing , Automated testing can help you collect application performance across multiple configurations in a few steps .
Automate your performance tests to see what went wrong , And whether your application can handle these issues .
2. unit testing
If you are developing a code base for large applications , Automating unit tests will save you time . Automated testing of unit tests will help you find errors in real time , Let you continuously know whether each component is working properly .
Automation is especially useful when refactoring code , Because as long as the unit test is green , You can safely assume that the behavior of individual code units has not changed . Besides , Reports of these tests can be made immediately available to the entire team .
3. regression testing ( smoke 、 Soundness test )
Regression testing ensures that even if a large number of changes are made , The application also runs smoothly . This means that multiple application components need to be retested over and over again . Because of this repetition , Regression testing is an ideal candidate for test automation .
Automated regression testing will help you save manual resources and time , And expand faster . Although regression testing is usually performed at the end of a software release , But automating them also gives you an option to iterate and run them continuously . This helps identify errors in the program faster and create a quick feedback loop , To solve problems more quickly .
4. A functional test
Functional testing is essentially verifying that the application is running as it should on the front end . Although some aspects of functional testing are manual , But many aspects should be automated , To ensure error free product delivery .
for example , End to end test automation ensures that key pre-defined user experience processes are running smoothly for daily releases .
Use selenium Automated functional testing is a popular option . You can even use slightly different datasets or user behavior to adjust your tests , To cover multiple use cases .
Which tests should never be automated ?
1. Exploratory testing
Exploratory testing includes more extensive non scripted testing , These tests are essential , But they are all done immediately . Usually , These tests require some domain knowledge and familiarity with the application to find unexpected behavior . Because they are not well defined , They cannot be automated .
however , Once the tester finds a defect through exploratory testing , These test operations can then be documented and automated for future builds .
2. Usability testing
As mentioned earlier , Usability testing should not be automated , Because it's hard to predict human behavior . This may include incorrect Fonts 、 Color or something that confuses people UI. Only in execution Beta or QA When testing , You will know these . Although there are some tools that can try to do this automatically , But it's more effective to let people see it ( And it's cheaper ).
Automation or not ?
Test automation is important for efficient CI/CD Piping is critical . Many innovations are being made in the field of test automation , For example, parallel test execution 、DevTestOps、 IOT test automation, etc . These automation frameworks help significantly reduce time to market and improve build quality .
Choosing the right automated tests is only the first step towards achieving this goal for your organization , So test faster 、 Faster failures and faster fixes !
边栏推荐
- On software requirement analysis
- "Gambler" bubble Matt turns around
- Six configuration management tools that administrators must know
- Leveldb source code analysis -- version management
- Kubernetes 1.20.5 helm installation Jenkins
- How to learn go language happily? Let's go!
- Dunhuang Research Institute and Tencent have launched a new strategic cooperation to take you around the digital new silk road with AI
- CentOS 7 installing SQL server2017 (Linux)
- The RTSP video image intelligent analysis platform easynvr cascades to the superior platform through the national standard for playback optimization
- Five skills of selecting embedded programming language
猜你喜欢

Why do you develop middleware when you are young? "You can choose your own way"

High quality defect analysis: let yourself write fewer bugs

NVM download, installation and use

国家出手了!对知网启动网络安全审查

Five skills of selecting embedded programming language
About swagger

How to decompile APK files

Ten software development indicators for project managers

How to start cloud native application development
Issue 39: MySQL time class partition write SQL considerations
随机推荐
CentOS 7 installing SQL server2017 (Linux)
[2021 taac & Ti-One] frequently asked questions related to the notebook function
究竟有哪些劵商推荐?现在网上开户安全么?
You don't know about this inspection platform. It's a big loss!
How to troubleshoot and solve the problem that the ultra-low delay security live broadcast system webrtc client plays no audio in the browser?
Provide secure and convenient Oracle solutions for smart contract developers
Construction scheme of campus network clock system (standardized examination room)
Kubernetes 1.20.5 helm installation Jenkins
EasyGBS视频平台TCP主动模式拉流异常情况修复
国家出手了!对知网启动网络安全审查
Zabix5.0-0 - agent2 monitoring MariaDB database (Linux based)
How to convert XML to HL7
Quickly build MySQL million level test data
Go collaboration and pipeline to realize asynchronous batch consumption scheduling task
Number of occurrences of numbers in the array (medium difficulty)
How to decompile APK files
Redis source code analysis RDB
High quality defect analysis: let yourself write fewer bugs
Analysis of signal preemptive scheduling based on go language from source code
On the principle of cloud streaming multi person interaction technology