回归手动测试是对系统中已经测试过的功能在代码更改后进行重新检查的过程,以确保这些更改没有在产品的稳定部分引入新的缺陷。
问题的历史: 在软件生命周期的初期,测试人员通常专注于检查新功能。随着时间的推移,系统会出现更改,这增加了出现意外回归的风险。许多软件历史上的错误正是在某个修复后出现的,这个修复“破坏”了之前正常工作的部分,因此回归测试逐渐成为一种强制性实践。
问题: 主要的难题是如何在不断变化的情况下有效且快速地重新审查尽可能多的功能。如果以混乱或不一致的方式处理这个任务,就可能会错过关键的缺陷、无法按时交付、使团队超负荷,甚至有时检查变成了一个形式主义。
解决方案: 为了有效组织回归测试,需要:
关键特征:
在什么阶段最适合开始回归测试——在所有更改之后,还是在进行时?
许多人错误地认为,回归测试仅在所有更改完成后进行。实际上,更合理的做法是规划并在更改进行时部分执行,以便更快地应对关键故障。
一次性编写回归测试用例就足够了吗,之后就不再更新?
不,回归测试用例需要持续更新:随着业务逻辑或界面的变化,测试系统必须随产品一同变化。
烟雾测试是否属于回归的一部分?
不,烟雾测试是对构建后显著故障的快速筛查,而回归测试覆盖更广泛的功能,寻找“深入”的故障。
团队发布版本,测试人员根据过时的测试用例清单形式上检查功能,而不了解API的最新改进。旧错误被修复,但系统其他部分出现了关键缺陷,直到发布前没有人注意到。
优点:
缺点:
在发布之前,测试人员更新了回归检查清单,与分析师讨论了当前的风险区域,根据实际场景优先级排序测试,并对关键流程进行了手动回归测试。
优点:
缺点: