回归测试
- -许珊《Microsoft Testing Knowledge and Tools Sharing》
Roger翻译于3/4/2010
A regression test is the selective retesting of a product during successive milestones to verify code changes for bug fixes or feature updates during the product development cycle, ensuring code stability and revalidating major functional areas.
回归测试一种在成功的里程碑之间对铲平进行的选择性重复测试,目的是在产品的开发迭代中检查为修复缺陷和更新功能点所做的代码变动,保证代码的稳定性和重新确认主要的功能区域。
A regression test seeks to verify that:
回归测试试图核实如下内容:
· Modified code does not introduce new errors into existing functionality.
更改的代码对功能没有引入新的错误。
· Resolved defects to new reoccur.
修复的缺陷没有重新出现。
· Modified code complies with the specifications.
更改的代码与规格说明书保持一致。
A regression test suite is a subset of tests from other test suites used during the product development cycle to validate the product’s functionality.
回归测试集是一个子测试集合,来自于产品开发迭代过程中,验证产品功能测试的测试集合。
Tasks:
任务:
· Select the subsets of test cases.
从测试用例中挑选子集。
· Automate each test case that will be run more than once during the development cycle, to the extent possible.
对在产品开发迭代中多次运行的每条测试用例实行自动化,且尽可能使适用范围延展。
· Add an automated test case for each defect identified and corrected during non-structured and structured testing events.
在测试事件未组织和组织期间,对每一个已识别和纠正的缺陷添加自动化测试用例(译者注:对”non-structured and structured testing events.” 的含义不是很理解)。
· Reuses the regression test suite for sanity testing localized versions of the product and for sustained engineering activities.
复用对本地化版本的产品所采用的基本功能测试回归测试集,从而使行为变得更有持续性(译者注:sanity testing应该和BFT(Base Function Testing)类似)。
· Avoid retesting areas covered by the regression test suit.
对回归测试过的区域避免重新测试。
· Run the highest-priority regression tests rather than every possible test.
相对于每个可能的测试而言,运行优先级最高的回归测试。
· Provide regression test suites for feature areas to developers and provide a mechanism for developers to run all or part of the regression test suite.
向开发提供针对功能区域的回归测试集,以及运行所有或部分回归测试集的原理。
· Compare the results obtained during each pass of the regression suite to results of the previous test pass.
对回归测试中的每次通过测试和以前的进行比较。
· Design automated test cases to run on multiple operating systems, multiple devices, and multiple language versions.
设计运行于多操作系统,多设备,多语言版本的自动化测试用例。
· Separate the regression test suite into components, each of which addresses a particular feature area.
将回归测试集分解成多部分,每个部分针对特定的功能区域。
· Avoid modifying variables used to validate critical areas.
避免对验证关键区域的数据进行修改。