首页 > 其他分享 >敏捷迭代,质量内建,责任不变

敏捷迭代,质量内建,责任不变

时间:2022-10-17 21:01:17浏览次数:57  
标签:交付 迭代 测试人员 质量 测试 自动化 敏捷 不变

转载:https://baijiahao.baidu.com/s?id=1740107744493681988&wfr=spider&for=pc

随着敏捷研发模式逐步推广,越来越多的项目为加快交付速度采用了敏捷研发模式。

敏捷研发是为了应对快速变化的需求的一种软件开发模式,对满足业务需要,响应短周期上线要求具有优势,但存在需求文字简单不清晰、需求变更多、轻文档化、投产周期缩短等特征。

敏捷项目与生俱来的特点给传统交付式的测试模式与工作流程带来了较大的挑战,需要测试管理部门对测试体系进行适应性优化调整。 

Part.1 敏捷测试体系建设思路

 为应对敏捷研发带来的挑战,光大银行启动了对科技项目的敏捷测试过程体系的深入研究,依托敏捷测试倡导的原则,推动敏捷测试实践活动从需求到投产的各阶段落地

 

  • 质量内建:从需求源头开始,以业务价值为驱动,加强各个阶段的质量内建;

     

  • 全生命周期持续测试:测试工作不再完全依赖独立的测试阶段,测试活动左移到需求阶段,右移到生产环境,形成全生命周期各个环节的持续测试;

     

  • 快速反馈:充分利用自动化测试和流水线等手段,形成快速反馈的通道,提升问题反应处理效率;

     

  • 团队对质量负责:交付质量由团队负责,建立质量是全团队的共同责任的意识,人人皆测试,同时测试人员承担质量赋能的职责。

 

基于敏捷测试的倡导原则,银行以解决在敏捷研发体系下传统测试模式面临的问题与挑战为具体目标,以适合本行“双态三模”研发体系、优化资源配置和使用、提升测试效能、提高软件交付质量为整体目的,通过明确组织协同,优化流程策略,指导测试实践,构建起全行敏捷测试体系。

 

Part.2 测试敏捷化建设实践

 

围绕测试敏捷化的建设思路,光大银行在组织协同、流程策略、测试实施、测试工具平台建设方面已逐步积累了一些实践经验,同时也在积极研究并探索建设测试社区,通过测试人员能力建设,推动组织级测试能力的提升。

 

(一)组织协同

在组织方面,测试部门通过集中管理与派驻实施相结合的测试模式适配精益、准敏捷、强敏捷等不同的研发模式。其中派驻实施,以强调测试和开发、业务的集中办公,促进测试与开发、科技与业务的深度融合,提升强敏捷项目中的沟通反馈效率。

 

在协作方面,通过明确统一的敏捷测试基本思想,在组织级建立人人皆测试的意识;确定不同组织、各个角色敏捷研发过程下的测试相关职责,在项目级建立全团队对质量负责的认识

 

(二)流程策略

与传统测试一致,敏捷测试的实施目标仍是通过执行各项测试与质量检查活动,验证软件产品是否满足用户需求,评估软件质量是否达到预期指标,判断软件是否能够投产上线。

 

在流程策略方面,敏捷测试强调质量保证应贯穿研发全生命周期,切实限制低质量产出物的交付流转,因此,基于银行现有研发流程的整体框架,在流程中强化并新增了多项质量保障活动,突出了质量门禁(DoD)的检查验收,加大了流水线、自动化的实施要求,明确了研发各阶段各角色的测试相关任务,强调了测试任务参与与实践的标准。

 

同时,根据系统的可测性和质量风险两个维度、多个影响因子测算系统的测试分层评分,给出自动化测试分层理想形态和比例的建议,指导项目组开展测试分层策略的选择以及落地实施,促进项目不断通过系统架构调整和自动化能力提升达到理想的测试效率。流程策略详细如下:

 

 

 

 

(三)典型测试敏捷化实践

 

  • 需求条目验收标准:在敏捷开发过程中,需求由业务、开发、测试共同参与确定,通过需求条目化的方法,识别需求条目的价值作为开发排期依据,测试角色充分参与需求条目化的过程有利于了解需求背景、达成理解共识,并从需求的可测性,可集成性等多方面提供建议和意见。

     

    在分析阶段应明确需求测试通过的标准和测试范围,定义清晰明确且无二义性的验收标准,作为开发设计编码与测试案例编写的参考依据,使开发人员在开发过程中清晰可知开发目标,消除个人理解偏差,提升测试与开发人员的沟通效率,减少缺陷产生。

  • 质量门禁:光大银行已在大多数项目中开展了持续集成流水线的推广应用,敏捷测试更加强调在流水线中增加质量门禁,把控关键节点落地实施情况。

    对于原则性、规范性的质量检查规则,通过组织级代码扫描规则集、脚本规则集、安全扫描规则集等,在流水线中固化统一的质量检查标准,在流程关键节点提供设置代码评审节点、代码扫描质量门禁、自动化测试门禁等多种方式,形成控制机制,阻断低质量的代码向下一阶段流转。

  • 冒烟测试:冒烟测试是测试左移实践之一。光大银行已开展冒烟测试试点项目推广,选取系统开门或基础交易作为冒烟测试案例,建立一套基础冒烟测试自动化测试案例库,并接入持续集成工作流。

    当完成每一次构建、部署后,工作流水线自动执行冒烟测试案例,验证版本的可用性,逐步将冒烟测试结果作为开发交付下一阶段的质量门禁,提升版本交付质量,达到快速反馈的作用。

  • 自动化回归测试:自动化测试回归库能够持续保障投产的高质量交付,降低人工验证的测试成本。

    光大银行自动化测试回归库建设围绕应用系统的高频和关键重要业务场景进行测试案例的自动化实现,形成高可用,高复用的自动化测试资产,满足大规模回归测试场景使用。

    自动化回归库建设遵循“五要”原则,分别为“场景覆盖要全”“人工干预要少”“案例更新要及时”“执行通过率要高”“执行频率要高”原则。通过梳理端到端的业务流程,形成流程性测试案例,保障业务完整性。

    通过建立自动化测试指标管理体系,提供组织级管理的指引导向,促进自动化测试回归库建设的良性循环,积累了大量高质量的自动化测试资产。

  • 测试交付与问题反馈:光大银行积极推进开发测试运维流程一体化,测试负责预投产环境的部署以及验证测试工作,使用自动化测试回归案例库完成影响性测试,确保投产版本高质量交付。 

    同时银行已建立较为完善的生产运营的反馈机制,开发、测试参与落地方案解决过程,对于敏捷类的项目,通过迭代回顾会等手段,审视整个研发过程以及分析线上问题根因,形成生产运营反馈和优化的闭环。

(四)测试工具平台

测试工具平台是敏捷测试成功落地的基础。光大银行依托自研的测试相关平台支撑各项敏捷化测试工作,有效的提升了组织级的持续测试能力,自动化测试能力,敏捷测试管理能力,质量度量可视化,能力,满足了敏捷测试的实施和管理能力要求,推动了敏捷测试的落地。

DevOps平台是支持敏捷开发管理、持续集成、持续测试、持续交付于一体的基础支撑平台,通过CICD流水线实现了代码提交后一系列测试活动的自动触发,通过插件集成了多种工具,与各种测试实践场景相结合,并固化到自动化执行的流水线中,从而实现质量内建,测试前移,提高各环节交付质量。

自动化测试平台整合了各类自动化测试工具,提供接口自动化测试,界面自动化测试,APP自动化测试,智能化测试,模拟器等自动化测试工具的统一入口,封装了原子控件,降低了自动化测试案例的开发成本,同时实现了与DevOps平台的无缝对接。

统一测试管理平台是测试管理活动的纳管平台,平台落地了符合TMMi4标准下的传统以及敏捷化项目的测试流程和交付物标准,支持了测试管理过程的可跟踪、可度量、可分析、可展示,覆盖了测试工作的全生命周期管理。

Part.3测试敏捷化的展望

 

在测试敏捷化的实践中,“以人为本”仍然是首要的核心价值。光大银行高度重视测试人员队伍的建设,不断加强测试团队能力培养。目前,银行已培养了一批具备测试理论、业务知识、测试专业技能的综合性人才;未来,将搭建测试人员能力成长体系,通过描绘人员能力画像,更有针对性地开展测试人员能力培养,建立敏捷测试人员核心人才库;同时,构建组织级的测试社区,基于虚拟化能力成长社区,为跨团队的测试人员建立分享和学习的机会,促进教练-学习型组织文化的建立,持续为人才培养、晋升和对外赋能做好统筹管理。

标签:交付,迭代,测试人员,质量,测试,自动化,敏捷,不变
From: https://www.cnblogs.com/ceshi2016/p/16800652.html

相关文章

  • LeetCode 144 94 145 关于前中后序遍历二叉树的思考(包含迭代法)
    用系统堆栈实现(递归)很容易实现:前序:do(),递归左儿子,递归右儿子中序:递归左儿子,do(),递归右儿子后序:递归左儿子,递归右儿子,do()用自定义栈实现(迭代法)首先首......
  • 查看回复评论的时候,评论不变化
    eg:打开回复  再打开:  但是显示的还是上一个评论回复的内容,因为复用组件的时候,第一个回复的组件没有销毁,  解决方法,加上v-if判断,隐藏popup的时候v-if......
  • 更改输入 空格不变
    #include<iostream>#include<string.h> #include<limits.h>#include<float.h>#include<stdio.h>#pragmawarning(disable :4996)usingnamespacestd; intmain()......
  • 敏捷测试漫谈
    在聊敏捷测试之前,有必要先聊聊敏捷。最近几年,XXOps不断的提起,被不断的赋于新的含义,DevOps,TestOps,SafeOps等等。现在的软件工程不说敏捷都不好意思提。在早期的瀑布式研发模......
  • 【ES6】函数的参数、Symbol数据类型、迭代器与生成器
    ......
  • Iterator迭代器
    Iterator迭代器的概述Iterator接口也是java集合中的一员但他与Collection、map接口有所不同所属与java.util包下Collection接口与Map接口主要用于存储元素而Iterator主......
  • 文档操作、函数基础、装饰器及迭代器相关基础知识
    本周内容概要文档操作相关知识函数相关基本知识名称空间相关知识闭包函数及装饰器递归函数与代码简化常用内置函数迭代器相关基础知识异常捕获基础知识本周内容......
  • 内置函数,可迭代对象
    一、重要内置函数1.zip()将对不同列表中对应的元素打包成一个个元组,然后返回由这些元组组成的对象.  用list()转换后打印出结果,可以看到输出结果为一个列表,列表中的......
  • 可迭代对象和迭代器对象以及for循环的本质
    目录一、可迭代对象二、迭代器对象迭代器介绍:迭代器对象:迭代器对象的作用迭代器对象实操:注意事项三、for循环的本质一、可迭代对象之前我们对于for循环为什么可以遍历没......
  • 列表迭代器
    packagepackage4;importjava.util.ArrayList;importjava.util.List;importjava.util.ListIterator;publicclassListIteratorDemo{publicstaticvoidma......