测试左移这个测试方法已经出现很久了,但收益如何,收益如何体现,在不同的团队如何实施起来,现阶段在质量平台还暂未标准化和统一化。测试人员来实施测试左移,则需要测试人员具备业务分析能力,能做一定的业务分析,能看懂业务架构和技术架构,甚至具备代码查看和编码能力,能分析代码逻辑等。
在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),我们将立即处理