一、项目背景及目标
随着金融供给侧结构性改革的发展,及同业服务重心的下沉及竞争的加剧,“短、频、快”的业务迭代模式逐步成为主流,对科技的研发效能提出了较高的要求;同时,项目研发的平均工程周期逐步缩短,科技项目研发压力提升,客户对产品的体验性要求产品质量不断提高,有效提高软件测试效率、保障产品质量,成为当前产品研发的重点工作。在这种内外部压力下,银行对自身系统质量和风险的控制能力,须提升到战略层面来考虑。而测试作为质量控制的手段,是衔接研发和运维的重要桥梁。
福建省农村信用 联合 (以下简称福建农信)科技部于2013年设立专业测试部门,历经7年的探索、磨练和发展,逐步形成了一套自主可控的测试管理体系,在福建农信软件产品质量管控方面发挥着至关重要的作用。在规范制定建设方面,颁布了一系列软件测试规范文档;测试执行方面,完成重要系统及高频交易的功能测试工作,持续推进自动化和性能测试工作;平台和资产建设方面,建成手工、性能、自动化测试系统,测试环境仿真系统,自主研发了移动应用测试私有云和福e测系统。
在此背景下,福建农信科技部结合我 科技研发现状,围绕测试标准化建设要求,借鉴行业先进标准、最佳实践,以TMMi测试成熟度模型(以下简称TMMi)三级为目标,全面完善我 的测试管理体系流程和软件测试过程,建设操作性强、基础扎实、统一科学的软件测试管理体系。
二、创新点
1、构建基于风险的测试管理体系
风险管理是测试管理的一个重要组成部分,构建基于风险的测试管理体系,使测试执行与管理更加准确和规范,实现测试工作的规范化、科学化和专业化。作为本次项目重点改造项之一,首先通过编制测试风险管理规范、编制风险管理规范表,指导测试团队有效开展风险的识别和管理跟踪;在测试过程中,关注风险的变化,并及时更新测试风险管理表,采取合适的应对措施,规避或减缓该类风险产生的影响;同时,为指导各测试项目开展风险管理工作,建立测试风险库,将具有共性特征的项目风险纳入风险库,为后续项目识别风险提供指导;无论是功能性测试还是非功能性测试,使用统一的测试风险管理规范进行全面识别、分析和管理。
2、测试流程集约化管理
将需求分析流程、风险识别流程与测试设计流程进行关联;将测试案例、测试执行过程、测试缺陷等进行关联,并做到可追溯;规范评审管理规则及流程,定义评审缺陷级别,实现有序的同行评审;在已识别的产品风险基础上,结合业务需求的重要性,定义测试用例优先级,贯彻重要工作,优先做的工作思路。
3、测试信息平台化管理
通过测试管理平台,已搭建实现了手工、性能、自动化、接口等测试,以及相关度量评估,已实现测试资源管理、测试项目管理、缺陷管理、 表等功能。通过逐步统筹整合将来可平台化的功能,如资产库、风险库、知识库、测试培训体系、测试过程改进机制等,并梳理现有所有测试相关平台的主要定位与发展方向,对现有多平台进行有效整合,实现精细化管理。
4、创建目标驱动的软件测试质量评估方案
测试测量是个持续的过程,包括确定、搜集和分析关于测试过程和正在开发的产品的数据,从而了解测试过程的效果和效率,为过程改进提供信息,同样也可以运用于项目后评价中。通过从测试质量、效率、进度等多维度分析度量结果,整理项目中各个度量指标的变化趋势,参考分析说明,进行根因分析,按需开展相关后评价,沉淀项目建设检验,有效形成测试资产。同时,创建软件测试质量评估模型,实现软件质量的可测量、可对比、可改进,为系统上线提供决策模型。
三、技术实现特点
(一)工具及平台支撑方面
1、适应不同软件研发模式
首先,前期通过调研充分了解各类项目建设中的方式方法,充分熟悉现有测试管理体系的优缺点,对测试改进过程中各项措施及其交付件等,兼顾考虑不同项目的特点特性,制定有针对性的改进方案,以更好地适应项目的共性和特性。
同时,在试点项目选取上,分别在A级、B级及任务三个不同类别,渠道组、运营组、管理组三个不同组别中选取项目,在改进项推广实施以及现有测试管理体系持续优化过程中,及时跟进改进成效,获取反馈建议,逐步完善改进方案。
2、避免项目僵化套用模板
首先,基于TMMi先进理念,借鉴他行优秀实践,通过充分调研了解现有测试管理体系中流程与模板在实际项目建设中的运用情况,对现有模板进行逐步优化与提炼,提升模板的可适用性;并且,针对差异性较大的某类项目,量身定制专门的文档规范。改进的方向和测试部门的发展规划与实际情况紧密结合,而不是生搬硬套TMMi的要求,使得实践结果更好的落地,真正实现流程合理胜过照本宣科。
另外,TMMi测试过程改进基本理念中特别提到“实践效果胜过大量文档”。TMMi更注重实际效果,如果可以使用平台和工具实现的流程,就不一定需要写大量的文档。因此,从这个目标出发,有计划地将资产库、风险库、测试过程改进等功能的平台化建设提上议程。首先将相关文档在试点项目中初步运用,对文档的适用性、合理性等进行检验,形成可多项目适用的规范文档;接下来,再将规范文档进行平台化改造,免去文档编制工作耗费的大量人力、物力资源。这样的话效率会更高,效果也更好,有效提高测试管理效率。
3、平台联动实现多维度分析和管理
积极主动与科技管理平台、需求管理平台等实现信息交互,可更好地对项目管理质量进行跟踪和管理,如在测试用例里填写需求条目编 ,实现测试需求、测试用例、测试执行到缺陷的双向可追溯性。保持测试需求的可追溯性可以更好地从需求层面对测试质量、进度进行监控,同时也可以与项目干系人更好地就需求的测试细节进行沟通,同时,测试过程中保持可追溯性有助于进行变更影响分析。
(二)测试过程成熟度方面
1、提高测试成熟度
现有的能力成熟度集成模型CMMI覆盖整个软件过程,测试关注度不够。因此计划通过引入TMMi测试成熟度模型,对整个测试工程进行自上而下的顶层设计优化,形成以风险驱动的测试管理体系,控制产品和项目风险,重点解决测试过程中的棘手问题。本项目基于TMMi3级相关10个过程域的标准规范,分别对具体过程项逐一改进优化,以下举例说明。
首先,定义评审缺陷级别。为规范同行评审,使得评委对评审缺陷严重程度有一致性理解,将评审缺陷级别定义补充至测试评审规程中。在测试评审规程文档,新增测试用例评审缺陷级别定义,修改测试方案、测试 告评审缺陷级别定义,并更新全文符合现有测试管理体系。
其次,为确保在有限的资源情况下顺利开展测试活动,并将测试资源分配到最重要的地方,在测试分析阶段组织测试团队确定测试用例的优先级,贯彻重要工作优先做的工作思路。在已识别的产品风险基础上,结合业务需求的重要性,定义测试用例优先级。在系统测试用例模板新增用例优先级字段,分为3个等级:高、中、低,并明确定义用例优先级的标准。
另外,测试用例作为测试分析和设计阶段的重要产出物,是后续测试执行的重要依据。借助测试管理平台,建立基线功能用例库,实现测试用例库的平台化,提高测试资产复用率。
2、提高团队人员成熟度
首先,编制岗位架构及能力发展规划,规划合理的测试组织架构,明确定义各岗位的工作职责,以及与其他部门的工作界面,从而有效保障业务应用系统和产品的质量,降低质量风险,满足业务发展需要。
其次,优化测试培训体系。通过编制测试培训工作指南,为岗位技能培训提供工作指导;分析测试管理部的年度工作目标,各岗位的工作职责,制定不同岗位的培训计划;通过培训需求调研表,收集各类培训需求,针对性地开展多形式多方位的技能培训与分享;建立培训师评级规则,充分调动员工知识分享的积极性,从而形成良好的学习氛围,实现组织内的知识转移。
(三)测试过程改进方面
1、完善测试过程改进机制
完善测试过程改进的流程,其中包括改进点的识别、评审、计划、执行、监督及反馈等。确保测试过程改进有计划的开展,制定行动项,推进改进工作。通过测试过程改进,逐步提升组织的测试质量和效率。编制测试过程改进建议汇总表,用以收集、确认改进点。编制测试过程改进计划,用以制定改进计划以及跟踪改进进展。过程改进相关文档经过试点项目的实践检验,逐步实现平台化,在公共平台实现测试过程改进的实时改进与跟踪管理。
2、度量分析结果运用成效
首先,测试过程指标主要用于度量测试过程的能力,测试代表通过测试过程指标做出正确决策,同时收集的测试过程指标为测试过程改进提供建议和经验教训。拟通过梳理现有的测试质量、进度、效率等度量指标,对具有滞后性的指标进行优化,如进度类指标。从指导项目意义层面考虑,剪裁过度度量的指标;并根据项目实际需求进行指标补充,如新增每轮测试进度偏差指标,修改缺陷的解决率的计算方法,并移至测试 表展示等。
(四)测试过程管理方面
1、优化非功能测试的指导和管控
首先,科技部已通过搭建测试管理平台和自动化工具提升各项目功能性测试水平,今年计划通过建设性能问题诊断系统,实现性能测试的全流程管理、分布式压测、全链路监控及性能问题诊断分析,并依托性能问题诊断系统,开展常态化全链路性能测试,提升性能测试覆盖范围,提升系统性能质量。
根据前期调研情况,完善各项目需求规格说明书中非功能需求部分的指导作用,通过修改需求规格说明书,细化性能需求章节,从多方面考虑性能测试需求,并将相关需求与性能测试执行记录相互关联,从而建立非功能测试需求、测试场景、测试脚本的追溯关系,有效降低非功能测试目标遗漏的风险,实现非功能需求测试覆盖率的有效管控。
同时,对现有非功能测试相关文档进行规范化管理,统一模板并在各类试点项目中推广实施,助力非功能测试对于产品研发质量的保障作用。
2、统筹协调项目测试环境管理
项目测试环境版本的正确部署是确保测试执行有效性的重要要求。为减少测试返工工作量,通过补充测试环境部署记录,以检查测试版本是否正确部署。通过有效记录管理,对应用服务器、数据库服务器、中间件、负载均衡、 络、数据库脚本、配置文件、部署手册、升级包等进行检查,并将作为每次测试执行之前的例行检查,保障测试环境准确无误,减少因环境配置错误导致的返工。
3、项目配置管理
4、项目变更管控能力
针对项目中的变更,进行有效记录并及时调整测试策略。比如,在测试方案中制定测试暂停/再启动准则,用于终止和恢复所有或部分测试任务,减少无效测试,合理使用人力资源。
(五)研发风险和质量管控方面
1、测试风险管理
风险管理是测试管理的一个重要组成部分,通过编制测试风险管理规范、测试风险管理表,可有效指导测试团队有效开展风险的管理跟踪。测试风险管理规范明确定义测试风险管理工作流程。测试风险管理表应用于测试项目的风险管理过程,主要分3个阶段(风险识别阶段、风险分析阶段、风险管理阶段)针对测试过程的5个阶段(测试计划阶段、测试监督与控制阶段、测试分析与设计阶段、测试实施与执行阶段和测试总结阶段)有针对性地开展风险的管理跟踪,并根据风险潜在影响的不同,将产品风险和项目风险,通过风险可能性指数(1-5)和风险严重性指数(1-5)来定量分析为风险等级指数(1-25),以采取合适的应对措施。风险识别阶段需尽可能多的识别风险,必要时和项目干系人沟通讨论。风险分析阶段主要评估风险等级,对不同等级的风险,采取合适的应对措施。风险管理阶段主要在测试过程中持续监控风险。测试活动结束后,分析具有共性特征的项目风险,纳入测试风险库。
2、软件过程裁剪的执行标准
通过在测试方案中明确项目所需完成的轮次,及准入准出条件,在实际执行中,严格执行相关标准;同时,在测试方案中明确未完成情况的处理方式,如回归测试策略等。通过有效全面的测试管理策略,更好的保障测试质量,提升上线产品的客户满意度。
3、项目后评价工作
梳理现有的测试度量指标,补充质量类指标,用以评价测试质量。使用GQM方法,以部门目标为导向,自顶向下逐步转化为可执行的度量指标。测试过程指标主要用于度量测试过程的能力,测试代表通过测试过程指标做出正确决策,同时收集的测试过程指标为测试过程改进提供建议和经验教训。编制测试度量指标文档,梳理现有的测试质量、进度、效率等度量指标,对具有滞后性的指标进行优化,如进度类指标。从指导项目意义层面考虑,剪裁过度度量的指标。在测试执行过程中,通过跟踪重复打开的缺陷状态和原因,确保缺陷解决的质量和效率。
四、项目过程管理
1、项目启动阶段
此阶段的时间为2020年5月下旬,期间主要完成了项目启动相关资料准备,项目计划制定,项目启动会召开,TMMi导入式培训,项目计划包评审,QA审查。提交了项目计划,项目工作说明书,项目启动会PPT,调研考察提纲,TMMi导入培训材料等文档。
2、差距分析阶段
此阶段的时间为2020年5月至2020年6月,期间主要完成了现状调研,差距分析,项目实施方案和计划制定。提交了调研 告,差距分析 告,项目实施方案,项目实施计划等文档。
3、改进实施阶段
此阶段的时间为2020年6月至2020年9月,期间主要完成了测试管理体系改进,测试质量评估模型构建,资产库建设,专业化培训,平台优化指导,项目试点。提交了测试质量评估方案,测试质量评分表,测试度量指标,测试用例库建设方案,测试风险库建设方案,测试风险管理规范,测试风险库,测试风险管理表,测试岗位架构及能力发展规划,测试培训工作指南,培训需求调研表,培训效果评估表,培训计划表,测试过程改进建议汇总表,测试过程改进计划,测试环境部署记录,测试管理平台改进优化方案,试点项目 告;优化了缺陷填写规范,缺陷管理指南,数据类应用测试规范,系统测试用例设计规范,系统测试用例设计指南,测试评审规程,测试代表工作手册,系统性能测试方案,系统测试方案,性能测试执行记录,需求规格说明书,系统测试用例,测试文档评审自检单等文档。
4、评估阶段
此阶段的时间为2020年9月至2020年10月,期间主要完成了TMMi3级预评估,TMMi3级正式评估。提交了TMMi3级预评估 告,TMMi3级正式评估 告等文档。
5、验收与交付阶段
此阶段的时间为2020年10月至2020年12月,期间主要完成了颁发TMMi3级认证证书,项目推广,阶段总结汇 。提交了TMMi3级证书,工作成果汇 PPT,测试体系建设PPT等文档。
五、试点推广情况
1、本次TMMi咨询项目为测试管理部梳理并补充优化了测试体系的诸多内容,形成了符合TMMi3级要求的测试体系。并将改进后的测试体系在统一运营门户、收单系统升级改造(二期)、新金融工具准则(IFRS 9)三个项目进行试点。在试点过程中,不断磨合和收集反馈建议,并开展持续改进。
2、实践测试度量指标并进行优化
本次TMMi咨询项目以目标为导向重新梳理并补充优化了测试度量指标。在测试过程中,通过对测试度量指标的分析,使测试管理更有效。在测试项目/任务结束后,遵循测试质量评估体系,使用测试质量评分表对测试项目/任务进行综合评价,对于评分低的指标项,总结归纳存在的问题,开展有针对性的改进工作。
4、实践资产库建设及平台化
本次TMMi咨询项目为测试管理部制定了测试风险库建设方案、测试风险库。组织级风险库和项目级风险库需要在更多的项目中推广实践,逐步积累组织级风险库,指导新项目的风险识别、分析等工作,实现风险驱动测试的目标。为提升风险库的易用性及风险管理的工作效率,提供了测试管理平台改进优化方案。
本次TMMi咨询项目为测试管理部制定了测试用例库建设方案,在已成熟的项目级用例库的基础上实践组织级用例库,实现测试用例的高复用性。
5、加强团队建设,不断提升团队能力
本次TMMi咨询项目为测试管理部梳理优化了测试岗位架构及能力发展规划,制定测试培训工作指南,通过开展测试培训工作,提升团队能力,实现以人为本的部门建设蓝图。
六、项目成效
1、构建基于风险的测试管理体系
结合行方科技研发现状,围绕测试标准化建设要求,借鉴行业标准、最佳实践,以TMMi测试成熟度模型三级为目标,全面完善了现有的测试管理体系,明确定义了测试各阶段的风险管理活动,在测试早期即开始进行风险识别、分析和评估,建设了组织级风险库,为项目级风险管理提供了指导。改进后的测试管理体系共更新30份文档,其中新增文档16份,优化文档14份;涉及方案规划5份,规范4份,指南6份,模板13份,检查单2份。
2、建立测试质量评估模型
完善测试度量指标,制定测试质量评估方案,构建目标驱动的软件测试质量评估模型,从质量、效率、进度等多维度进行测试质量综合评价,实现软件测试质量的可量化、可对比、可改进。
3、优化测试岗位架构,实施专业培训
实施了TMMi专业级培训、ISTQB基础级培训,培养一批可自主进行测试过程改进的专业人才。测试管理部目前全员12人,全员通过软件测评师、TMMi专业级、ISTQB基础级认证;其中科技管理专业高级工程师1人,科技管理专业工程师7人。
4、优化平台和资产建设
制定了测试管理平台改进优化方案,逐步实现测试用例库、测试风险库、测试测量、测试质量评价的平台化管理。依托平台,实现文档轻量化,测试更聚焦,流程更高效的目标。建设测试用例库,提升测试设计效率。建设测试风险库,为测试项目识别风险提供指导。
5、知识产权创新
测试管理部在技术创新方面,积极探索与思考。已进行多项知识产权创新,其中获得专利认证15项,发表论文26篇(详见附件一、附件二)。
七、经验总结
通过TMMi测试成熟度模型咨询及评估建设项目,建立了基于风险的测试管理体系,构建了测试质量评估模型,提升了测试团队的综合测试能力,规划了测试管理平台及资产库建设方案,建立了测试过程持续改进机制,为测试体系进一步完善打下良好基础。TMMi知识地图如下图所示。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!