回归测试(浅谈)
什么是回归测试?
解答:回归测试就是对软件产品的基线版本的改变所做的测试。
为什么要做回归测试?
解答:
验证开发人员所承诺修复的软件缺陷是否已被正确修复;
验证新的软件修改是否影响了原有稳定模块的正确性和稳定性;
验证新的软件修改是否引入了新的缺陷;
验证新的软件版本是否可以归档,从而成为新的基线版本,以备后续开发使用。
什么时候开始做回归测试?
解答:软件产品必须形成了基线版本,另外,必须要有对基线版本的修改。
这时候软件配置管理人员会将修改后的代码编译成新的版本,然后分发给测试部门进行回归测试。
怎么做回归测试?
解答:回归测试是贯穿于集成测试、系统测试和用户验收测试等测试阶段的一种测试行为。
以系统测试阶段的回归测试为例:软件产品进入系统测试阶段之后,软件配置管理人员会为这个可以进行系统测试的版本打上系统测试阶段的基线版本标签,测试部门就可以开展系统测试了。
第一种,测试人员按照测试用例以及测试脚本对此基线版本进行测试,发现软件缺陷进行复查和确认,并且根据优先级进行跟踪,确定所有缺陷的修改进入软件新版本的日程。
第二种,需求人员、测试人员、开发人员可能提出新的软件功能需求,这些新的需求描述也被记录在一个跟踪系统中,这时候需要需求人员、测试人员、开发人员、项目管理人员和软件质量管理人员进行讨论并评估其中风险,若讨论和评估通过,则开发人员可以对新的功能进行开发,待新的功能模块经过测试稳定后就可以集成入原有的软件系统中。
以上两者情况的修改都确定要进入新的软件版本时,测试人员就要对这些修改设计新的回归测试计划。
回归测试计划的策略:
(1)在设计新的回归测试计划时,可以用覆盖上一基线版本的所有测试用例加入到新的回归测试计划中,之后加入新功能模块开发的新测试用例。这种策略优点是用例覆盖率高,缺点是测试工作量巨大。
(2)另一种策略是在新的回归测试计划中只包括对所有软件缺陷修复的验证以及对新加入功能的验证。这种策略优点是测试工作量最小,缺点是测试用例覆盖率最低。
(3)最后一种策略是在新的回归测试计划中包括对所有因软件缺陷修复而产生的修改的覆盖。除了验证软件缺陷的修复对原有稳定模块的影响,还加入验证与被修复缺陷有密切关系的模块稳定性的一些测试用例,这些用例可以是部分原有的测试用例,也可以是新开发的测试用例。同理,对新加入的功能,除了验证其本身还要对可能被影响到的模块进行再一次的验证。这种策略优点是测试工作量较小,测试用例覆盖率高,缺点是新的回归测试计划质量和测试覆盖率受开发该计划人员的经验、能力的影响较大,开发新的回归测试计划所需要的工作量也较大。
之后,测试人员又回到了测试的执行阶段。待测试完成之后,测试负责人给出测试报告以反映软件的质量。当软件质量趋于稳定就可以检视确定软件是否符合系统测试的出口要求以进入软件测试的下一阶段。