Regression test)
Q: I have heard a lot about regression test, but what is the "regression" method? Where should I go? I still don't understand.
A: return to a worse or lessdeveloped state. This is the meaning of regressing, degrading, and regressing.
In a software project, if a module or function previously works normally, but a problem occurs in a new build, this module shows a "regressing" (regression), from the stable state of normal operation to the unstable state of abnormal operation.
While the functions of a module are gradually completed, the test cases related to this function are also being improved. Once the test case passes, we obtain the baseline of this module ).
Assume that the test case 125 of module A is successful in version 3.1.5, but the tester finds that the test case fails in version 3.1.6, which is a "regressing ". Run all the passed test cases on the new version to verify whether there is any degradation. This process is a regression test ". If this "regressing" is caused by a normal change in the module's functions (due to design changes), the benchmark of the test case must be modified to ensure consistency with the new functions.
For a bug fix (slipper), we also need to make regression test.
(1) Verify that the new Code does correct the defect.
(2) Verify that the new Code does not destroy the existing functions of the module and does not have a regression.
Therefore, for "regression" in "regression testing", we can understand it as "returning to a previously abnormal state ".
It is best to automate regression testing, because this allows you to quickly run all regression tests for each build to ensure that problems are identified as early as possible. In Microsoft's practice, in the final stable phase of a project, everyone has to participate in the test to verify that all bugs that have been fixed, there is no "recurrence" in the last version, which is a large-scale and comprehensive "regression test ".