敏捷团队的回归测试策略

杏奴
• 阅读 135

敏捷提供了众多优势,例如更快的上市速度,更快的ROI,更快的客户支持,降低的风险,持续的改进等,随之而来的还有一些非常困难的挑战。在这些主要问题之一中,令人头痛的是在sprint开发和迭代测试之间保持适当的平衡,进行精确的敏捷开发和回归测试。

敏捷开发是一个非常快速且动态的开发过程。周期很短,开发人员在较短时间内推出了许多功能。同样的,测试周期也很短,以跟上项目的发版周期。但实际上大多数时候并非如此。开发是针对一项功能完成的,但是必须对所有新功能和相关的旧功能进行测试。对于每个新版本,都需要确保对代码的新增或改进不会损害现有功能的功能。

但是经过几个大周期后,这些重复测试变得无聊且耗时,并且假设它们必须工作正常,您可能会错过一些发现其他错误的机会。为了避免这种情况,需要通过从开发周期开始就创建适当的回归测试策略来制定“逃脱”计划,并且在每次出现Sprint时都需要修改该策略。

建立回归测试策略之前

在建立该回归测试策略之前,事先收集一些信息。

  • 收集所有应执行的测试用例
  • 改进永不停止。找出可以在测试案例中实现的所有改进。
  • 估计执行测试用例的时间
  • 评估什么都可以自动化以及如何自动化?

建立回归测试策略

在敏捷开发中执行回归测试的最大挑战是保持敏捷开发与回归测试之间的平衡。因此,我们需要遵循一些快速有效的方法,以便在不影响质量的情况下执行回归测试。

自动化回归测试

快速跟踪回归测试的最佳方法之一是使回归测试的某些部分自动化。我们可以创建一个回归测试脚本,并应在每次更新时对该脚本进行修改和审查,以确保其正常工作。自动化测试脚本应涵盖所有可能的测试用例,并在将自动化脚本结果移至操作项之前对其进行验证。

确定测试范围

作为一名测试人员,我们知道哪些开发可以导致构建中的哪些更改。换句话说,由于已有代码中的新构建,我们可以掌握引入错误的所有可能性以及范围。但是,这并不意味着您完全依靠猜测。

示例:您正在测试一个电子商务网站,并且在支付网关中进行了修改。现在,您有两种方法,一种是在每次提交付款网关时都要测试整个产品,每半小时一次,另一种方法是找出容易出现的问题。在这种情况下,最容易出现的领域是结帐流程和付款以及电子邮件确认,文本确认,OTP或密码验证等。一旦设置了此付款修复程序,您就可以执行一轮端到端回归测试。

确保您弄清楚聪明工作和辛苦工作之间的区别。尽管辛勤工作总能带来更好的结果,但是在可以通过聪明的工作解决目标的地方,而这些地方往往不是辛勤工作能够解决的。

测试用例优先级

优先级排序可帮助您根据问题的严重性和代码中的最新更改来管理测试用例。严重的错误应以最高优先级进行测试,然后是较低严重的错误。这样,您就可以测试尽可能多的错误,而不会错过高优先级的错误。

获得最高优先级错误的可能性为10%,其次为获得中等优先级错误的可能性为30%,获得优先级较低的bug的可能性为60%。我们需要按顺序处理从最高优先级到最低优先级的所有错误。

敏捷环境中回归测试

当回归测试策略中实现,就能够执行回归测试并保持敏捷开发的步伐。完美的回归测试结果将帮助用户保持对您产品的信任,以便为他们提供更好的产品。


  • 郑重声明:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。

技术类文章精选

非技术文章精选

点赞
收藏
评论区
推荐文章
【敏捷研发系列】前端DevOps流水线实践
软件开发从传统的瀑布流方式到敏捷开发,将软件交付过程中开发和测试形成快速的迭代交付,但在软件交付客户之前或者使用过程中,还包括集成、部署、运维等环节需要进一步优化交付效率。因此Devops的产生将敏捷的相关理念扩展到运维侧,从而将产品、设计、开发、测试、运维团队更紧密的结合在一起。而从交付给客户产品视角看,前端研发通常又是在整个产品设计开发链条的最终节点,意味着前端团队受到上游变更的影响是最大的,并且从经营理念效率出发,提升前端交付效率是至关重要的。
开发者测试你必须知道的7件事
好买网(www.goodmai.com)IT技术交易平台摘要:开发者测试是现代软件工程中非常重要的一环,敏捷开发、主干开发这些先进的项目管理方法和流程都基于完善的开发者测试。一、“开发者测试”就是“开发者来测试”开发者测试是现代软件工程中非常重要的一环,敏捷开发、主干开发这些先进的项目管理方法和流程都基于完善的开发者测试。当每个月甚至每周都要交付一个版本
待兔 待兔
5年前
敏捷软件开发背景下的软件设计
在目前大部分的软件开发组织中,敏捷开发已经成为毋庸置疑的标配。随着数位技术大神和布道师的宣扬和数量庞大的敏捷教练的身体力行式推广,商业环境和客户需求变更速度的日益加快,采用端到端交付周期更短的敏捷开发过程基本已经成为项目成功的必要条件。软件设计的刚需被敏捷了吗?工作流程的变更以及开发节奏的加快并不能绕开一个很核心的问题
Stella981 Stella981
4年前
Scrum 实操流程
Scrum是用于开发、交付和持续支持复杂产品的一个框架,是一个增量的、迭代的开发过程。敏捷的原则和方法必须在每天的实践中落地,对人和管理要求高。所以有scrummaster为了适应变化,敏捷的迭代周期短特征1.迭代开发:这意味着你应该重复开发过程。2.增量交付:意味着你应该一步一步地创建产品的“可用”子集
Stella981 Stella981
4年前
DevOps中的测试工程师
尽管DevOps仍需要手动测试,但测试人员能做的还有很多。DevOps需要在各个阶段进行协作,因此,使开发人员和测试人员从敏捷孤岛式转变为一个在各个阶段中所有成员不断参与的运营已变得非常具有挑战性。传统上,给测试人员提供产品,他们的任务是测试产品中的错误,并将发现的结果报告给开发团队。但是使用DevOps,测试已经涉及整个开发生命周期,而不仅仅是
敏捷开发 敏捷开发
1年前
实践了上万次,原来这些才是敏捷测试需要遵循的原则
与传统的阶段性测试不同的是,敏捷测试能够将测试集成到整个软件开发过程中,尽早、及时地发现缺陷,帮助交付有价值的高质量产品。传统测试与敏捷测试的比较大的区别在于:在瀑布方法中,测试只能在开发结束后进行;在敏捷方法中,测试是贯穿在整个开发过程中的,同时可以在需
敏捷开发 敏捷开发
1年前
敏捷团队的最佳测试实践:自动化金字塔
自动化测试和敏捷软件开发常常是成对出现,但敏捷中的自动化往往说起来容易做起来难。大多数开发人员都已经认识到测试自动化的好处:它加快了测试速度、降低了成本、增加了覆盖率等。但是,许多人从未超过开始所需的初始投资。就像这幅漫画中的穴居人一样,许多团队陷入了困境
陈哥聊测试 陈哥聊测试
2年前
如何选择合适的自动化测试工具?
自动化测试是高质量软件交付领域中最重要的实践之一。在今天的敏捷开发方法中,几乎任一软件开发过程都需要在开发阶段的某个时候进行自动化测试,以加速回归测试的工作。自动化测试工具可以帮助测试人员以及整个团队专注于自动化工具无法处理的各自任务,但困难的部分就是选择
敏捷开发 敏捷开发
1年前
敏捷开发模式下如何快速提升产品质量
在团队选择敏捷开发模式下,敏捷测试部分也同以往的软件测试流程有所不同。如何平衡敏捷的快速迭代开发和解决Bug的矛盾?
敏捷开发 敏捷开发
1年前
敏捷激流中的测试
敏捷开发浩浩荡荡流行了20多年,彻底改变了软件研发行业。如果说敏捷开发对产品、开发和测试这三种类型的工作哪一个影响最大,我会选择测试。因为敏捷开发模式下迭代周期缩短,很多问题会更集中地暴露出来,比如用户故事拆分往往不够细致精确、开发和测试无法并行展开、开发
敏捷开发 敏捷开发
1年前
测试工程师在敏捷项目中扮演什么角色?
敏捷团队中的测试人员主要负责执行各种测试,以满足“已完成”的定义,从而为团队在重复迭代中努力交付的持续价值创造做出贡献。对于测试人员来说,拥有敏捷的心态是至关重要的,如果没有敏捷的思维方式,他们可能就不能果断地计划、划分优先级并执行他们的任务,因此会无意中