15th balance between risks and effectiveness of regression testing

Source: Internet
Author: User

In the software life cycle, the software will be modified by adding new functions, enhancing the original functions, and correcting the defects found. Once the software is modified, it may cause new defects, this causes problems with the functions that work normally. Regression testing is a testing strategy and method that ensures that the original functions are normal when the program is modified, because the tests generally do not need to be fully tested from start to end, instead, conduct effective tests based on the modification situation and the impact caused by the modification. On the other hand, because the expanded and maintained test case libraries may become quite large, it is impractical to re-run the complete test case package for each regression test, and the time and cost constraints are not allowed. Therefore, you need to select relevant test cases from the test case library based on the scope affected by the software modification, and construct an optimized test case group to complete regression testing.

The value of regression testing is that it is a controlled experiment that can detect regression errors. When the test group chooses a reduced regression test, it is possible to ignore the test cases that will reveal the regression error and miss the opportunity to discover the regression error. However, if code dependency analysis and other security reduction technologies are used, you can determine which test cases can be deleted without affecting the regression test results. The regression testing method should take into account both test risks (coverage) and effectiveness, and achieve a balance based on the actual situation of the project.

  • Select a regression test package from the test case library based on risk selection tests and certain risk standards. First, run the most important, critical, and suspicious tests, and skip the secondary, exceptional test cases or modules with relatively stable functions. Running secondary use cases has a low severity even if they discover defects.
  • Select a test based on the operation section. If the test cases are developed based on the software operation section, the distribution of the test cases reflects the actual usage of the system. The number of test cases used in regression testing can be determined by the test budget. regression testing gives priority to the test cases that are most important or frequently used to release and mitigate the highest level of risks, it helps to identify faults that have the greatest impact on reliability as soon as possible.
  • Test the modified part. When testers have sufficient confidence in the localization of modifications, they can identify software modifications through dependency analysis and analyze the impact of modifications, the regression test is limited to the changed module and its interface. Generally, a regression error must involve the modified or newly added code. Regression testing overwrites the affected parts as much as possible if allowed. This method can improve the system reliability most effectively under a given budget, but requires good experience and in-depth code analysis.

Regression testing, as an integral part of the software life cycle, occupies a large workload throughout the software testing process. Multiple regression tests may be required at each stage of software development. In progressive and rapid iterative development, continuous release of new versions makes regression testing more frequent. In extreme programming, regression testing is required several times a day. Therefore, it is very meaningful to improve the efficiency and effectiveness of regression testing by selecting the correct regression testing strategy.

Refer

Very effective policy during test execution

On the execution of software testing


To predict the future, read the next decomposition: 16th installation or deployment tests that cannot be ignored
Copyright, software testing

-For the series of discussions, see: Software Testing romance-intermediate and advanced series (sequence)

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.