测试左移与提测流水线的应用实践(1)

发表于:2023-12-13 09:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小奈    来源:得物技术

  一、测试左移的背景
  测试左移这个测试方法已经出现很久了,但收益如何,收益如何体现,在不同的团队如何实施起来,现阶段在质量平台还暂未标准化和统一化。测试人员来实施测试左移,则需要测试人员具备业务分析能力,能做一定的业务分析,能看懂业务架构和技术架构,甚至具备代码查看和编码能力,能分析代码逻辑等。
  在QA方面,测试自动化是一种行之有效的方法,可以让业务测试更加便捷,减少任何形式重复劳作和返工测试,提高轮次测试执行效率。目前自动化已在迭代应用中进入收益阶段,不仅在回归阶段代替手工回归测试,将自动化作用价值体现最大,也让自动化提前介入需求测试分析中,做到“测试左移”。
  今年第一季度团队已提前试点“测试左移”,将自动化提前纳入需求测试分析阶段,在研发提测节点按需完成自动化左移。但是光从口头上说“测试左移”,也不能印证自动化左移的数据,以及左移带来的实际收益和价值,现阶段平台侧将 RDC(Research and Development Collaboration / 研发协同平台,得物技术部自研的一套项目管理工具)、协同面板、流水线、用例平台、自动化平台五方联合,共同搭建出测试左移的全链路操作。
  测试左移的本质:越早的发现不合理的地方,出问题的几率就越低。
  二、测试左移的收益和价值
  测试左移是软件研发生命周期过程中的测试策略,将问题进行早发现早修复,并且节约修复成本。同时测试左移的落地实践,也是推行需求研发自测的实行过程中的关键步骤。测试左移的节点在“需求提测之前”。
  测试左移的收益
  早期发现和修复缺陷:测试左移可以帮助研发在需求开发过程中早期发现缺陷,并及时修复,避免测试后期对缺陷的修复成本和影响。
  提高测试覆盖率:测试左移可以帮助早期识别测试用例,在测试分析和测试用例编写阶段提高需求测试场景用例的覆盖率。
  优化软件设计:测试左移可以提前介入研发代码设计,加强与研发团队的沟通协作,了解代码接口逻辑实现细节,使测试的执行更具有质量和效率。
  提高测试效率:测试左移可以前置介入左移方案设计和编写,提升测试阶段左移用例执行效率,降低手工投入测试成本。
  测试左移的价值
  ·减少测试的回归周期、减少人工测试投入成本;
  · 提高产研测三方的高效沟通和协作,让测试更加融入到开发过程中;
  · 提高软件整体质量,避免需求上线发生故障。
  三、持续集成之流水线
  什么是流水线?有什么类型的流水线?流水线的价值作用是什么?下面一一说到,可以帮助大家理解~
  什么是流水线?
  流水线,也被称为持续集成或持续交付。是将需求开发到需求上线的过程分解成多个步骤,其每个步骤都是由专业的工具自动检测完成的。流水线步骤包括:
  流水线的类型
  全流程流水线
  感知应用服务的代码变更,融入需求测试轮次节点特征,自动构建部署应用服务发布,减少人工 check 投入成本
  流程:
  研发本地代码提交至 Feature 分支:Feature 分支触发 Push 流水线;
  Feature 分支提 MR 进 Release-{Version} 分支:Release-{Version} 分支触发 MR 流水线;
  MR 通过:Release-{Version} 分支触发 Push 流水线,自动检测代码检查、构建、部署。
  现阶段流水线不再需要针对每个服务每个流水线类型做配置了,可以通过流水线模板降低流水线配置的操作费力度。
  内置流水线模板:内设五种流水线模板,无需额外配置操作,开箱即用;支持特殊仓库自定义;
  自动适配迭代:开发分支自动适配开发迭代染色环境,迭代分支自动同步一轮、二轮染色环境(无二轮环境的统一使用一轮环境)。
  Push 流水线
  开发分支代码变更后自动构建部署到需求对应的染色迭代开发环境,Push 流水线主要的作用:
  ·代码提交后即时进行构建检查、代码扫描,提前发现代码问题;
  · Push 后自动构建部署到开发分支对应的染色环境(若无则不触发),为开发过程提效。
  MR 流水线
  · MR 流水线主要的作用为:
  合并前:作为代码门禁卡口,构建检查、增量代码扫描问题;
  合并后:触发 Release-${Version}/Release 分支流水线进行自动构建部署到迭代染色环境。
  · 运行方式:
  提测流水线
  · 协同面板提测流程增加提测流水线,需求关联的后端应用自动触发;
  · 执行方式:
  在协同面板进行需求提测时,针对需求关联的应用创建染色环境执行提测流水线;
  基于 Release-${Version} 迭代分支运行,运行结果反馈在协同面板;
  提测流水线运行任务节点:构建、部署、自动化测试、代码扫描、Jar 包扫描、安全扫描。
  Daily 流水线
  · 基准 Daily
  运行环境:基准环境(T1);
  运行分支:Release 分支(生产环境 Commit tag);
  运行方式:只运行基准环境的集成自动化测试,用于 Case 稳定性验证(目标成功率100%)。
  · 迭代 Daily
  运行环境:开发周一轮染色环境、测试周一轮染色环境;
  运行分支:Release-${Version}/Release 分支;
  运行方式:用于迭代分支的自动化检查,及时发现迭代分支代码质量问题。
  流水线的使用
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号