敏捷回归测试

字节踏雪使
• 阅读 143

当今世界敏捷大行其道,软件迭代越来越快和发版隔间越来越小,很多公司团队都提倡小步快跑的软件开发模式。其中软件测试时间窗口不断减少,测试团队面临着比以往任何时候都面临的更多挑战,为建立可靠的连续测试策略,以适应需求变化,响应生产环境的反馈等。一些团队利用测试数据分析,而另一些团队则使用机器学习和其他先进技术来优化其DevOps管道。

本文将重点聊一聊在敏捷测试DevOps环境中制定回回归测试策略的主题。

什么是回归测试?

参考:43种常见软件测试分类

回归测试被定义为一种软件测试类型,以确认最近的程序或代码更改未对现有功能造成不利影响。 从这个定义来看,很明显,这样的测试类型应该集中在通过预定义的计划、触发器或按需执行的全部或部分测试场景中。

如果根据最佳实践正确开发了回归测试并涵盖了足够的功能区域,则它们带来的价值就很高,并且这种测试模型能够发现回归错误,代码更改的副作用或其他意外的问题。

通常,执行回归测试的常见触发因素包括:

  • 由于添加了新功能或需求和业务流程发生了更改
  • 重大缺陷修复(功能性或非功能性),需要质量保证
  • 连续回归测试(每天/每周)以降低风险

敏捷战略中的回归测试

构建测测试自动化是一项具有挑战性的任务,但却是持续测试和回归测试的关键推动力。

如上所述,要确保回归套件具有连续的高价值,必须做好前期准备,并且渐进式地构建它,并专注于健壮的测试方案,高覆盖率和尽可能低的测试维护成本。如果不考虑这些考虑因素,则可能会导致整个测试流程延迟劲儿导致发布计划的失败。

在考虑在敏捷环境中进行回归测试的策略时,需要了解这种环境会不断变化。添加了新平台、功能、缺陷修复等,这意味着回归测试应适应此动态环境以继续有效。

测试工程管理需要专注于回归套件的持续维护并确定以下内容:

  • 哪些测试用例已经过验证,需要包含在回归套件中,哪些应该排除在外?
  • 回归和子集回归套件的执行时间计划是什么?(每天,每周,每次提交代码,还是其他)?
  • 哪些回归测试是从CI引擎执行的,哪些是从CI之外的其他调度程序执行的?
  • 哪些事件触发了回归套件的维护和改进?
  • 完成回归测试的时间窗口是什么?是否有足够的平台/资源来适应这些时间限制?
  • 不断分析测试的价值,脆弱性等等。

敏捷回归测试建议和基础

在阐明了有关回归测试的一些基本战略考虑和见解之后,以下是一些最佳实践和建议以供参考:

  • 将选择性回归测试与完整回归测试周期区分开来。它们的范围,平台覆盖范围,时间窗口和目标各不相同。
  • 不断维护回归套件,以包括高价值的功能和非功能方案。
  • 请关注测试用例老化问题,并确保将优先级高、价值高的测试用例留在套件中。
  • 回归套件是尽量选择稳定的方案,难以自动化和不稳定自动化用例不应该包含在套件中。
  • 敏捷迫使功能、要求不断变化(这也意味着对测试套件的不断更改)具有适当的流程来适应修改。
  • 确保回归套件报告具有完全的可见性,并具有详细的视图,以评估测试结果和发版风险。
  • 考虑在回归套件中对测试方案进行评分,以便正确地确定执行的优先级、执行时间、执行频率等。

充分利用回归测试

高度稳定的测试自动化可实现连续测试,回归测试也越来越依赖于强大而值得信赖的测试自动化。为了确保从回归测试的投入中获得价值,建议优先制定适合本团队的可靠的测试策略,并随着产品的发展对其进行调整。确保回归测试活动的参与方之间正确沟通,并获得总体满意的结果以及避免上线事故的发生。


  • 公众号FunTester首发,更多原创文章:FunTester430+原创文章,欢迎关注、交流,禁止第三方擅自转载。
热文精选
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
DevOps 不好用?99% 的 DevOps 团队都是“花架子”
!(https://oscimg.oschina.net/oscnet/649d0da08e2e4937b54a62a80428de31.jpg)从精益和敏捷发展起来的DevOps这几年已经逐渐取代精益和敏捷,成为新一代的软件开发模式。虽然很多企业都在尝试,真正落地得好的团队并不多。根据CA在全球范围内的调
陈哥聊测试 陈哥聊测试
1年前
如何选择合适的自动化测试工具?
自动化测试是高质量软件交付领域中最重要的实践之一。在今天的敏捷开发方法中,几乎任一软件开发过程都需要在开发阶段的某个时候进行自动化测试,以加速回归测试的工作。自动化测试工具可以帮助测试人员以及整个团队专注于自动化工具无法处理的各自任务,但困难的部分就是选择
陈哥聊测试 陈哥聊测试
1年前
你在测试金字塔的哪一层(上)
在准备将软件上线到生产环境之前需要进行测试。随着软件测试方式日趋成熟,软件开发团队的测试也在取代大量手动测试,逐渐实现自动化测试。
敏捷开发 敏捷开发
1年前
敏捷开发模式下如何快速提升产品质量
在团队选择敏捷开发模式下,敏捷测试部分也同以往的软件测试流程有所不同。如何平衡敏捷的快速迭代开发和解决Bug的矛盾?
敏捷开发 敏捷开发
1年前
敏捷激流中的测试
敏捷开发浩浩荡荡流行了20多年,彻底改变了软件研发行业。如果说敏捷开发对产品、开发和测试这三种类型的工作哪一个影响最大,我会选择测试。因为敏捷开发模式下迭代周期缩短,很多问题会更集中地暴露出来,比如用户故事拆分往往不够细致精确、开发和测试无法并行展开、开发
敏捷开发 敏捷开发
1年前
测试工程师在敏捷项目中扮演什么角色?
敏捷团队中的测试人员主要负责执行各种测试,以满足“已完成”的定义,从而为团队在重复迭代中努力交付的持续价值创造做出贡献。对于测试人员来说,拥有敏捷的心态是至关重要的,如果没有敏捷的思维方式,他们可能就不能果断地计划、划分优先级并执行他们的任务,因此会无意中
敏捷开发 敏捷开发
1年前
敏捷团队的最佳测试实践:自动化金字塔
自动化测试和敏捷软件开发常常是成对出现,但敏捷中的自动化往往说起来容易做起来难。大多数开发人员都已经认识到测试自动化的好处:它加快了测试速度、降低了成本、增加了覆盖率等。但是,许多人从未超过开始所需的初始投资。就像这幅漫画中的穴居人一样,许多团队陷入了困境
liam liam
1年前
提高测试效率的秘诀:精通 API 自动化测试的最佳方法
我们的研发团队最需要应对的就是各种新需求。软件越来越快的更新速度也让整个系统也变得越来越复杂,这让工作面临着巨大的挑战。测试人员必须与开发人员沟通,确定测试范围,并及时获取最新的接口用例数据来验证功能。但是,由于需求变化太频繁,测试范围不能及时跟上接口的更