敏捷中的回归测试的优化【译】
回归测试对于每个版本都至关重要,因为它会检查整体应用程序的质量。众所周知,在敏捷模型中,新版本的发布很快,而回归可能成为质量保障的瓶颈。
敏捷通过减少迭代时间而拥有了许多优势,但它也面临着自己的挑战。对于测试工程师而言,要跟上开发和发布速度,这尤其具有挑战性。
为了跟上新版本发布,不少测试团队经常忽略部分回归测试,而专注于对新功能的测试,这会导致现有功能的BUG在线上出现。在时间不充裕的情况下,该如何确保每个版本的新功能和现有功能的交付质量呢?
下面方法可以优化回归测试时间并使其更加有效。
- 有意识地准备回归套装:每个测试工程师都应了解,回归测试不应等同于功能测试。准备回归测试时,我们必须将回归套件与功能套件分开。
- 优先级排序:如果回归模型在后续版本中变得相当重要,则我们必须对测试用例进行优先级排序。这种优先级划分需要良好的业务知识以及对应用程序的架构了解。我们还可以从开发人员和产品经理那里获取意见,以更好地确定优先级。
- 自动化:测试自动化是回归案例的最佳选择,因为它们是重复的并且没有更改。尽可能自动化。这样可以给团队信心,也可以节省时间和精力。
敏捷中有效回归测试的策略:任何回归测试策略的症结在于严格的时间限制下的最大覆盖率
。
- 回归测试案例的分类:一种方法是将回归测试用例分为以下类别:严重、中度和低风险用例。这可以通过确定在应用程序中添加或更改任何功能时受影响最大的模块来实现。这包括任何应用程序的核心模块。例如,在电商业务中,购买付款流程始终至关重要,因为任何功能的任何更改或添加都将要求付款保持完整。此外,付款流程中的任何错误都会对业务产生较大影响。此外,我们可以根据P0,P1,P2等对特定类别的测试用例进行优先级排序。
- 标记容易出错的区域:有些地方容易出错,即使在代码上进行很小的改动,它们通常也会导致不可预料的BUG。
- 回归最近的BUG的测试用例:选择要回归的测试用例时,跟踪最近BUG和相关的测试用例总是很有用的。如果还没有覆盖,请为其编写测试用例,并将其包含在回归测试套件中。
- 健全性测试和冒烟测试:为了快速回归,我们还可以在开发团队获得新版本时运行冒烟测试。如果构建有问题,这可以节省大量时间在后续过程中纠正错误。如果发布包含快速修复而非主要更改,则可以在发布之前执行健全性测试,而不是完整回归包。本质上,健全性测试是回归测试的子集,以及新功能的某些高优先级案例。
- 集成测试:集成测试非常重要,因为它们会检查完整流程。因此,将它们包括在回归套件中非常必要的。最后一刻的快速修复可能会影响两个模块之间的接口调用。
- 投资自动化:尽可能多地自动化测试案例始终很重要。这是一项长期投资,最终会带来收益。此外,自动化使定期安排和执行测试用例成为可能,从而使测试团队充满信心。