可靠的质量来源于完善的流程保障和职业化的工作素养。抛开人的因素不谈,无论开发和测试,都需要一套完善的流程进行全方位的工作指导,大到方法论,小到具体细节的处理,可以说,流程在很大程度上决定着质量的生死。对于测试,同样需要完善的体系与流程保障,从而在为形态各异的产品测试过程提供质量保障方案的同时,持续的赋予企业自身成长完善的动力。本文介绍H3CPTM(ProductTestManagement)流程,帮助读者了解与理解测试体系与流程如何在企业内部保证产品与方案的质量。
一、 H3C测试体系
²平台测试。其主要负责H3C的基础软件平台的测试,包括平台新开发项目的验收测试,持续集成新特性的平台主线的系统级测试,以及一些专项测试(如协议专项测试)。专项测试是指H3C专指测试团队针对重要特性或不稳定特性主动发起的短时间,高强度测试,人员精干,目标聚焦,重点突破,通常效果非常好,能极大提升被测对象的成熟度。H3C所有测试团队都可根据需要发起专项测试。
²产品测试。除了少量产品TR4之前项目验收测试之外,产品测试主要关注产品TR4之后产品版本的系统测试,包含SDV/SIT/SVT几个阶段,确保产品版本达到H3C制定的质量标准。
²鉴定测试。这是H3C特有的一个环节,为了更严格的保证产品质量,H3C引入了内部的独立第三方测试团队——鉴定测试团队,代表用户对产品进行全方位的严酷测试,没有通过鉴定测试的产品不能大规模上市,工作重点在于对产品版本的ADCP(部分产品EDCP)进行独立严格的验收鉴定测试,做为产品版本的TR6根本质量依据。同时,针对行业和应用的解决方案也有相应的鉴定测试团队。
二、 PTM产品测试管理流程
1. PTM产品测试管理流程
H3C的产品开发遵循的是IPD流程,软件测试是IPD-PTM(ProductTestingManagement)流程。PTM是IPD流程体系中专门为产品测试工作量身打造的子流程,是IPD的关键子流程之一,用于指导产品的全流程测试工作,是H3C的产品测试端到端管理流程,和其他子流程(如IPD-CMMI,IPD-HCMM等)一道,共同确保产品团队能按计划、高效的推出满足客户需求的高质量产品。IPD全周期中各产品开发阶段都有对应的测试活动(如图1所示)。从实践来看,这个流程对于大型软件的质量保障非常有效。PTM的主要特点和作用如下:
²PTM为产品测试抽象出覆盖完整生命周期的统一测试业务流程,明确划分了生命周期中各测试阶段,定义了各测试阶段的关键测试活动,使测试团队的工作开展可以有章可循,有法可依;
²PTM为产品测试活动制定了操作规范,度量标准和审计手段,并提供经过实践检验的方法、工具支持以及IT支撑,使测试工作的开展更高效,对测试质量和产品质量的评价也能更客观、更全面;
²PTM为产品测试构建了端到端的开放流程平台,使测试及缺陷修复活动中的各类经验和数据得以长期有效积累,为测试技术、缺陷分析技术、缺陷修复技术的研究提供决策方向,使测试和开发过程成为可持续优化的闭环。
图1测试生命周期(PTM和IPD各阶段对应)
PTM是IPD流程体系中专门为产品测试工作量身打造的子流程,用于指导产品的全流程测试工作。从图1的流程要求可以看出,在产品的概念阶段测试即介入产品研发,需要任命测试经理(TM)和测试系统工程师(TSE),并组建产品测试团队。
Charter到TR3,对应测试需求分析和计划阶段。在设计层面,产品要完成从产品包需求,到产品规格,再到概要设计的设计过程,相应的,TM和TSE可需要完成从可测试需求,到测试规格,再到测试点的测试设计过程;在计划层面,产品要完成E2E*(注:即endtoend,端到端)总体计划到3/4级计划的细化过程,相应的,TM和TSE需要输出E2E测试计划和E2E测试策略,作为后续测试活动开展的总纲。具体上讲,TR1产品重点关注产品包需求的完备性以及选择的产品概念是否满足产品包需求,测试相应的定义产品可测试性需求,纳入产品包需求进行跟踪;CDCP制订产品E2E计划,测试相应的制订E2E测试计划(总体),为后续测试活动绘制路线图;TR2重点关注产品设计需求到产品设计规格的完备性,测试通过进行产品测试需求分析,输出产品测试规格,明确后续测试内容的总纲;TR3确保设计规格已经完全、正确地在概要设计中得到体现,测试则根据产品测试规格进一步细化输出测试点;PDCP产品输出3/4级E2E计划,测试则输出细化的E2E测试策略和E2E测试计划。测试需求分析和计划阶段非常重要,且往往易被忽视。该阶段测试工作做的扎实,系统的可靠性、测试的完备性等方面都能得到很好的保障,有经验的TM和TSE也可以通过E2E计划和策略,很好的控制后期测试活动的节奏。