当前位置:网站首页>What is regression testing? Talk about regression testing in the eyes of Ali Test Engineers
What is regression testing? Talk about regression testing in the eyes of Ali Test Engineers
2022-07-04 00:23:00 【Xiaowu knock code】
lately , Some product defects are fed back from production , Development 、 The test conducted a multi-dimensional cause analysis of defects , The escape of defects is caused by many factors in the production process , Part of the reason is the improper selection of regression testing strategies . Here it is , We need to focus on regression testing .
What is regression testing
English name of regression test :Regression Testing, Literally , yes “ Reverse test ”. This shows that , Software can be divided into current state and original state . Regression testing is the functional and non functional testing of the original state of the software , To ensure that the previously developed and tested software is in defect repair 、 Configuration changes 、 After these changes, such as software updates , Can still meet the requirements of the operation ( namely : The functions and non functions of those parts that have not been modified in the current state of the software are consistent with the original state ).
The concept of current state and original state of software mentioned here , We can simply think that , Each version currently submitted for testing is the current state of the software , The previous version is the original state . perhaps , The current baseline is the current state , The last baseline is the original state . How to distinguish , It can be formulated according to management requirements .
Timing of regression testing
Whether based on the development of new products or the maintenance and upgrading of old products , Regression testing is an essential part of a complete test . Usually , The time for regression testing is :
1) Defect repair
When the developer completes the defect repair of the software in the current state , And submit a new test version or conduct a code baseline ;
2) Software update
After the developers complete the new functions and code refactoring , And submit the test version or conduct the code baseline . among , New functions often correspond to maintenance products , It should be tested completely , That is, the verification test of new functions , And regression testing . For code refactoring , It should be treated with caution based on the principle that the running quality is always higher than the code quality , If you decide to refactor , Then a full regression test must be carried out ;
3) Configuration changes
Due to the flexibility of software parameter configuration and the need of efficient operation and maintenance , To profile 、 Script 、 Batch command 、 After the stored procedure is modified and formally notified to the testing department .
Regression testing techniques
There are usually three techniques for regression testing :
1) Repeat the full test case
Execute all test cases and check the results of the software in the current state . This technology is due to the re execution of full test cases , It can minimize the risk of defect omission , But the test cost ( Time cost 、 Labor cost 、 Financial costs ) Very high ;
2) Select some test cases to repeat the test
Different from the above , Only execute and check some test cases for the software in the current state . The biggest benefit of this technology is the cost of testing ( Time cost 、 Labor cost 、 Financial costs ) Repeat the test below the full test case ;
3) Test case optimization
The optimization technology of test cases refers to , From the perspective of the scope of test cases, that is, effectiveness and efficiency , Optimize 、 Extract test cases that are useful for subsequent software versions or specific versions ( aggregate ).
The strategy of regression testing
Regression testing techniques are used to serve regression testing strategies . Usually , We will choose from the following strategies in our daily work .
Full regression testing strategy
In some special industries , Like finance 、 Communication industry , The requirements for the quality of software products in the production environment are usually serious escape defects above the level of 0, In this case , We must use the highest safety factor 、 The strategy with the lowest risk level is tested by regression , To meet the quality requirements . At this time , We can use the full test strategy , Regression testing is carried out by using the technique of repeated testing of full test cases .
The full regression test strategy can be applied to any situation , It is a strategy that is not a strategy , Although effective , But not
Efficient .
Incomplete regression testing strategy
In practice , There will be more and more test cases , The workload will also be increasing , In particular, maintain and update products . When the quality requirements remain unchanged , When there are online time and other conditions , We will choose the incomplete regression test strategy , Use some test cases to repeat the test technology for regression testing . This is also the most common strategy we use .
The core idea of this strategy is to use test case optimization technology , Improve test efficiency , Reduce resources .
But the risk of missed testing of this strategy is also obvious , such as , Testers are weak in code dependency analysis , This can easily lead to the neglect of test cases that may find defects . To avoid this risk , In addition to using test case optimization technology , It should also be combined with business risk driven analysis methods .
Overall , Testers need to communicate with developers 、 Discussion of business personnel , Conduct risk analysis and operation analysis on the tested software , Understanding the software under test is the most important 、 The most frequently used function , That is to know the business criticality and failure probability of the tested software , Then the corresponding test cases are used according to the risk analysis results of these two dimensions ( aggregate ) Optimize the technology for regression testing .
Concrete , In the testing industry, business impact testing is an axiom , therefore , To understand the business criticality of the software under test is the primary task . secondly , The software and its modules have the possibility of failure , The relevant indicators and examples of these two can be shown in the following two tables :
surface 1: Business criticality indicators and examples
surface 2: Failure probability indicators and examples
Through the above two tables , The risk level of the tested software function model is obtained by combining the business criticality and failure probability evaluation , As shown in the following table :
Through the above table , Reduce the set of test cases in the incomplete regression testing strategy , Concentrate on the tests you need most , Provides a basis for , So as to reduce the risk of missing measurement . Of course , Regardless of table 1 Or watch 2, The grading requires the experience accumulation of testers , Business people are also needed 、 Strong support from developers .
Automated regression testing strategies
Because regression testing is an iterative process , Usually when we mention regression testing , Will consider using automated methods . therefore , The extracted test cases can be maintained by using test case optimization technology 、 Reuse 、 Automated steps to build an automated regression testing platform , This method is applicable to maintenance classes 、 Upgrade software ( such as : Market surveillance 、 Settlement system ) The regression test can be effective and efficient .
however , To achieve the goal of using automated regression testing strategies , Special personnel are needed to implement , Driven by business flow 、 Data is separated from use cases 、 Component technology 、 A unified platform for long-term construction from multiple dimensions .
We all know , Testing cannot be completely exhaustive , But we can adopt different regression testing strategies at different stages of the software , Reduce or even avoid serious escape defects in production . Of course , If we start from the whole life cycle of software production and strictly carry out code and defect management, we can more directly reduce the risk of online defects , After all, regression testing can also be used for unit testing .
Finally, I also sorted out some software testing learning materials , It should be very helpful for small partners learning software testing . Friends who need information can pay attention to the official account. : Software testing tips dao, Free access ! Include , Software learning Roadmap ,50 Video of class for many days 、16 It's a real assault project ,80 More than one software for testing ,37 A test document ,70 A software testing related problem ,40 Test experience level article , Thousands of test questions to share , also 2021 Software testing interview Dictionary , There's also a selection of resumes for software testing jobs , I hope that's helpful ……
Learn not to fight alone , It's best to keep warm , Achieve each other and grow together , The effect of mass effect is very powerful , Let's learn together , Punch in together , Will be more motivated to learn , And you can stick to it .
Typing is not easy , If this article is helpful to you , I like it, I like it , Give the author an encouragement . It's also convenient for you to find it quickly next time .
边栏推荐
- [source code] VB6 chat robot
- [leetcode] interview question 17.08 Circus tower
- Makefile judge custom variables
- It is the most difficult to teach AI to play iron fist frame by frame. Now arcade game lovers have something
- How will the complete NFT platform work in 2022? How about its core functions and online time?
- No qualifying bean of type ‘com. netflix. discovery. AbstractDiscoveryClientOptionalArgs<?>‘ available
- Vscode regular match replace console log(.*)
- Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
- ITK learning notes (VII) the position of ITK rotation direction remains unchanged
- Idea integrates Microsoft TFs plug-in
猜你喜欢
Qtcharts notes (V) scatter diagram qscatterseries
Shell script three swordsman sed
Regular expressions and text processors for shell programming
Reading notes on how programs run
[Mongodb] 2. Use mongodb --------- use compass
Briefly understand the operation mode of developing NFT platform
Bodong medical sprint Hong Kong stocks: a 9-month loss of 200million Hillhouse and Philips are shareholders
Docking Alipay process [pay in person, QR code Payment]
Idea a method for starting multiple instances of a service
Investment demand and income forecast report of China's building ceramics industry, 2022-2028
随机推荐
Celebrate the new year | Suihua fire rescue detachment has wonderful cultural activities during the Spring Festival
MySQL winter vacation self-study 2022 12 (2)
Entropy and full connection layer
Subgraph isomorphism -subgraph isomorphism
Struct in linked list
P1629 postman delivering letter
【leetcode】300. Longest increasing subsequence (dynamic programming, dichotomy)
For loop
NLP pre training technology development
Gossip about redis source code 77
On the day when 28K joined Huawei testing post, I cried: everything I have done in these five months is worth it
Axure resources and prototype tool Axure RP 9 download
Tencent interview: can you find the number of 1 in binary?
Stock price forecast
No qualifying bean of type ‘com. netflix. discovery. AbstractDiscoveryClientOptionalArgs<?>‘ available
STM32 key light
MySQL is installed as a Windows Service
Shell script three swordsman sed
[MySQL] classification of multi table queries
Self study software testing. To what extent can you go out and find a job?