• 快捷搜索
  • 全站搜索

构建软件产品的精益测试工程体系

2016-05-18 21:19:40作者:中国银行软件中心副总经理 李兆云编辑:金融咨询网
中国银行软件中心的精益测试工程体系将不断优化改进,快速吸纳新技术新方法,提升体系自身的包容性和前瞻性,促进开发、测试等角色的进一步协同和融合,快速交付支撑业务发展战略具并有竞争力的软件产品,不断创新高效稳定的测试方法,提高测试质量和效率,为中行软件产品的高质量保驾护航。

全球化时代的金融软件产品,从监管要求、信息安全、用户体验、功能实现都面临着前所未有的挑战,对于软件产品的测试,尤其是以用户验收视角开展的功能测试,需构建一套适合自身发展的测试工程体系,以全面确保质量。中国银行软件中心(以下简称中心)为自主及外包管控等软件产品量身构建了精益测试工程体系,确保了产品交付质量达到0.1(生产缺陷/ 千功能点),远高于行业2.58(P10)(中软协发布行业交付质量数据的P10为2.58),跻身于行业前列。

构建软件产品的精益测试工程体系作者.jpg

中国银行软件中心副总经理  李兆云

一、精益测试工程体系的目标

        精益测试工程体系的目标是为了保证软件产品开发阶段完成后,产品投产上线前最后一次全面质量检验活动的有效。体系是从用户需求、产品设计、系统运维、信息安全、风险管理等角度对业务实现和系统运行的正确性安全性完整性进行验证,同时对系统边界、系统接口、相关联系统的吻合度进行测试,保证应用系统功能及接口实现符合总分行业务及系统运维需求,满足信息安全要求。中国银行软件产品用户参与的功能测试实施地点遍布全球,测试时间跨越多个时区,多套功能测试环境在全球同时运行,不同基线的多个批次任务并行实施,体系要确保全球7×24 小时的测试任务、测试环境、测试版本的动态管理和统一调配的项目群测试实施平稳有序开展,全面有效的保障软件产品质量,有力支撑中国银行全球化的发展。

二、精益测试工程体系的建设情况

        根据软件产品测试工程活动特点,精益测试工程体系划分为项目群管理(批次任务管理)、测试实施及质量保障3 个部分。根据测试周期各阶段的特点,精益测试工程体系包含测试分析、测试规划、测试设计、测试准备、测试实施及测试报告发布等6 个过程。根据精细化管理要求,从管理模型、技术方法、工程实践等层次逐级构建形成系统化、工程化、专业化的测试体系,对功能测试实现有效的控制和管理。

构建软件产品的精益测试工程体系图1.jpg

图1 项目群管理模型

 

        1.管理模型

        管理模型包括测试项目群管理模型、测试实施模型及质量保障模型等3 个部分。

        测试项目群管理模型是精益测试工程体系的管理主模型。总结项目群管理实践,借鉴可视化系统管理思想,通过整个测试项目群的协同管理,实现各个批
次软件产品测试任务的有效实施(如图1 所示)。对批次任务、资源进行统筹分析,设计总体测试方案、编制批次测试主计划,并应用于任务变更的敏捷动态调整和可视化,实现资源利用及测试产出的最大化。

        项目群管理模型包含计划轴、实施轴和控制轴。计划轴采用系统工程从分解到集中的思想,将计划形成过程分成如图的项目WBS 等4 个阶段;实施轴是对计划进行具体实施;控制轴是对实施过程的监控管理,并及时动态调整计划轴相应内容,形成增量计划,循环往复。该模型解决了资源约束问题和敏捷动态调整问题,实现了管理可视化,能够动态加入紧急任务,及时应对突发情况,将影响降到最小。既避免了重新调整计划,又使调整方法具有循环性和经验累积性。

       功能测试实施模型是精益测试工程体系的实施主体,包括测试的过程管理、进度管理、问题管理等方面,并对各测试过程的交付物进行定义约束和评审。

       在整体项目群管理模型的统筹计划下,每个功能测试项目按照功能测试方法论进行测试管理实施如下。

        4 个管理阶段:主要包括测试规划、测试筹备、测试实施和测试收尾等4 个管理阶段,分别对应着精益测试工程体系的6 个过程。测试规划管理阶段包含了测试分析、测试规划和测试设计3 个过程;测试筹备管理阶段对应着测试准备过程;测试实施管理阶段对应测试实施过程;测试收尾阶段对应着测试报告及发布过程。在中心内通过管理层、执行层、环境支持层的协同工作,共同完成测试任务。

        4 个里程碑:包括测试筹备启动、测试实施启动、测试实施结束、测试准出总结4 个里程碑,分别位于4 个阶段及项目结束的交界面。

        3 个闭环:包括调度管理闭环、问题管理闭环和进度管理闭环。在主干流程之上,形成进度管理闭环;在执行层面形成问题管理闭环;在环境支持层面成环境管理闭环。

        16 个关键过程:包括测试项目规划、测前问题管理、测试报告、测试项目收尾等。87 项工作内容和48 个交付物贯穿于16 个关键过程中。

        2. 技术方法

        技术方法层面涵盖4 个方面,其中:测试资源配置方法包括测试环境、数据、参数及版本配置方法等;测试实施技术方法为实施过程中采用的具体技术,包括案例编制的标准化设计、自动化测试、模拟测试等技术;协同测试管理包括关联测试管理、关联问题管理及跨地域的人员组织协同等方面;测试质量分析方法通过采用检查表、直方图、趋势分析等多种方法对测试质量进行多维度的审计和监控。

        3. 工程实践

        工程实践过程通过组织架构确立、规章制度制订、实施流程设计及工具平台使用等4 个方面实现整个测试管理模型体系的落地实施。通过设定团队和过程角色的划分,将管理、执行和环境支持工作分离,实现“统一管控、集中执行、嵌入式支撑”的层次化管理的组织架构;制订与模型配套完整的管理制度、标准规范、指南等文档,保证测试管理、技术分析的准确全面有效;建立与质量导向一致的功能测试过程、模板及支持文件,保证测试实施及支持活动的平稳有序开展;自主研发测试管理系统,集任务管理、案例管理、问题管理、版本管理等多个专业工具,实现对项目群测试全流程端到端的自动化管控。

三、精益测试工程体系近期的提升

构建软件产品的精益测试工程体系图2.jpg

图2 功能测试实施模型

        近年来,精益测试工程体系在确保产品质量稳定的基础上,致力于效率和质量的同步提升。为此,从管理和工艺两方面进行改进:提升测试效能,整合测试过程,将4 阶段测试变为3 阶段测试,缩短了25%的测试周期,有效的减少测试投入;着眼于测试技术研究推广,测试工艺改进优化,测试人员技能提升,以赢取更多产品开发的时间和空间来提升产能和快速交付,为业务快速发展提供有效的科技支撑。

构建软件产品的精益测试工程体系图3.jpg

图3 质量保障模型

 

        1.提高测试资源配置技术方法中版本部署自动化应用的深度和广度

        为达到精细化管理要求,通过优化持续集成应用模型,制定自动化部署方案,搭建自动化部署平台等方式,逐步推动上游开发群组规范产品部署流程,设计并实现不同阶段统一的产品版本自动化部署标准和要求。从自动化部署涵盖基本功能项、部署质量、部署效率、用户体验4 个维度对实施效果看,应用程序部署、版本备份功能效果显著,部署效率提升较大。如某关键核心产品原4 个人1 天的时间完成1 个批次10 余个环境的部署,现只需1 个人半天即可同质完成。

        2. 加大功能测试自动化的应用,不断改进测试实施技术方法

        为提升效率减低成本投入,制定了以基础领域(数据准备、环境监控)、扩展领域(稳定性测试)、提升领域(批次功能测试)3 个领域4 个方面的功能测试自动化整体工作思路。实现关键产品测试数据准备自动化,累计节省工作量约2000 人天。每日定时对功能测试环境进行监控,及时发现并解决环境问题。开展所有关键产品稳定性测试,按批次增加稳定性测试轮次,花费较小代价全面检测产品质量。推进自动化测试在适用领域快速发展,如多浏览器自动化案例占总浏览器案例70%,执行效率较手工提升50%,节约测试工作量25% ;移动互联多适配自动化案例占总适配案例65% ,执行效率较手工提升30%,节约测试工作量10%,减少人员规模近10% 。

        3. 推进协同测试管理方法的实践和应用,促进缺陷前移

        研究内部测试方法,加大开发和测试的协同,提高内部测试的能力和有效性,推进缺陷前移。总结和推广内部测试最佳实践,如化简表格法、TDD 测试驱动开发内部测试方法等,将先进高效理念在传统流程中有效渗透,强化内部测试计划、报告的指导和总结作用,显性体现不同阶段测试内容关系、围和粒度的差异。改进内部测试工艺,实现缺陷前移,避免后期发现问题带来较大投入,确保产品快速交付。

        依托中心生产线的发展,深入开展内部测试自动化分析研究,共享内部测试信息和应用情况,形成5大生产线的内部测试自动化实施指南,在规范自动化测试工作的基础上提升效率。不断增加应用的产品范围,内部测试发现的缺陷占比较上年提高5%,功能测试缺陷发现占比下降5%,有效促进了缺陷前移。

        4. 深入研究测试质量分析方法,改进测试工艺,提升测试效率

        按照中心现行的产品质量分级管理要求,针对不同产品、不同测试类型的功能测试工作量,开展估算方法研究,形成功能测试工作量估算方法论。按产品和测试类型形成功能测试工作量估算方法指南,建立功能测试工作量评估指导基线,度量发生的功能测试工作量,落实有针对性的改进,提高功能测试的效率,降低测试投入的成本。

         研究测试分析技术,实现测试分析规范化标准化,统一案例编写粒度,提升测试分析效率。研究测试案例标准化及测试点积累复用方法,形成测试点建立与应用规范、分析设计标准。完成测试点全集管理系统方案及实现,根据质量分级、风险等级标识案例,实现案例的统一管理、快速检索、有效复用,提高测试有效性,降低重复投入。

(文章来源:《金融电子化》杂志)

 

 

扫码即可手机
阅读转发此文

本文评论

相关文章