作者:蒋雨儿_824 | 来源:互联网 | 2023-08-11 16:15
随着DevOps的推广与普及,开始提倡测试左移和右移,推行全生命周期软件测试,不再把测试看作是开发之后的一个环节,测试活动包括但不限于需求评审、单元测试、用户故事验证、接口测试、功
随着DevOps的推广与普及,开始提倡测试左移和右移,推行全生命周期软件测试,不再把测试看作是开发之后的一个环节,测试活动包括但不限于需求评审、单元测试、用户故事验证、接口测试、功能测试、性能测试和安全测试等。如何做好测试管理与统筹?如何打破传统测试流程寻求测试创新?如何在测试提效的同时又能保证产品质量?现结合农业银行研发管理体系现状,谈谈农行在DevOps测试管理方面的探索与实践。
农行测试管理体系发展历程
农行研发中心多年来持续对标行业先进实践,引领测试持续改进,先后引入外部TMMi、DevOps等成熟、先进的研发标准模型,结合自身组织架构、测试基础设施,通过“外引+内驱”的思路开展测试能力建设。从时间、作用、效果上来说,主要经历了三个关键里程碑:
开发测试一体化管理:2018年农业银行实施了科技体制改革,研发中心实现开发、测试、应用运维一体化管理,理顺一体交付关系,建立一体考核评价标准,改进一体流程活动,打造一体工具平台。
全流程测试体系建设:2019年9月农业银行研发中心正式启动测试成熟度模型(TMMi)测试过程改进,对标TMMi四级能力(已测量级)要求,审视既有测试工作体系,优化了双模项目测试流程,构建了测试过程度量体系,强化了测试设计能力,实现测试工作效能提升、质量提升和价值提升。
落地DevOps持续测试实践:自2019年DevOps 建设工程启动以来,测试工作以一体化测试管理和自动化测试执行为重点,从规范、流程、工具和度量上补齐短板,实现部分系统落地 DevOps持续测试实践。
浅析DevOps带来的改变
DevOps实践对软件测试带来了根本影响,改变了什么时候测试,如何测试,以及与谁一起测试等工作模式,改变了一些研发管理流程和方法。
提倡测试左移:测试人员更早地参与到软件项目前期的各项活动中,从产品发布计划开始,测试融于其中,与业务、开发形影不离,共同编写用户故事,共同明确最小交付单元。开发人员编码时,测试人员同步编写接口测试用例,共同建立保障产品质量的伙伴关系。
强调自动化测试:通过自动化投入比例明确测试分层策略,按单元、接口、界面定义自动化测试分层策略,并开展性能、安全、兼容性、易用性等多角度测试。在测试执行上,以自动化测试为主体,实现持续快捷反馈,并辅以手工探索测试,提高测试质量。
强化质量管控:DevOps 通过在流水线中设置不同的质量门禁,随着制品流动完成代码评审、自动化代码合规检查、自动化单元测试、自动化漏洞扫描等质量管控要求,将质量管控要求融入研发活动。
测试管理改进的几点思考
持续改进软件测试过程,是提高银行软件测试及软件质量保证水平的一个重要途径。软件测试作为软件研发的关键环节,被赋予越来越高的要求。面对快速发展的软件工程技术,我们需要结合内部问题和痛点驱动改进,加强测试能力建设,持续提升产品研发效能。
融合标准,建设DevOps测试体系
随着农行研发中心DevOps的全面推广,银行业软件测试及质量保证正在发生巨大变化,在融合软件质量保证标准的同时,将继续建设DevOps测试知识体系,加快测试前移速度,不断改进测试过程管理流程,依托自研平台不断深化自动化测试,通过技术手段提高软件验证效率和质量,并通过度量数据快速反馈。
向左向右,开展持续测试
持续测试要求测试人员必须参与到整个持续交付过程中,以最高效的方式保证产品质量,专注于测试策略的不断优化。测试人员需要具备一定的编码能力,不但要掌握常用的测试工具、版本控制工具和集成工具,还要能读懂代码,检查构建日志,不断地优化整个测试策略和测试用例。同时通过调整各种测试用例的比例、增加测试覆盖度、提高测试用例的质量以及快速的反馈来提高测试效率,实现全面的质量保障。
内建队伍,培育协同文化
打造共同发展、多方共赢的合作模式,培育协同文化。DevOps中的质量保证不再是测试人员的专属责任,而是全体人员都要为之努力的方向。测试人员提前介入到开发工作中,与开发人员一起制定测试计划;开发人员可以参与配置部署;测试人员可以随时将自动化测试用例配置到持续交付链中,自助部署测试环境;所有成员的共同目的都是交付高效、高质量的产品。
作者简介
李霞,农业银行DevOps建设工程骨干成员,是DevOps文化的传播者。拥有深厚的项目管理、过程管理、测试管理、敏捷研发、DevOps等实践经验。