随着竞争日趋激烈,专门从事软件外包测试业务的公司或单位,要想在国际软件外包测试业务市场上取得竞争优势,必须具备三方面的竞争能力:一是以品牌优势或规模优势取得国际客户的信任,二是拥有大量的专业测试人才,三是在软件测试流程上能够符合国际标准。
其中,软件测试流程的改进和提高无疑是获得核心竞争力的途径之一。为了完善软件测试流程,稳定测试质量,提高服务水平,软件外包企业往往引进某一种国际质量认证体系。
对于软件企业,CMMI(Capability MaturityModel Integration)是当前业内最流行的国际质量认证体系之一。CMMI被称为能力成熟度模型集成,是有关企业/组织的过程进程中各个发展阶段的定义、实现、质量控制和改善的模型化描述。
不可否认,CMMI认证体系经过十多年的发展,已经比较完善。但是,由于各行业、企业以及各软件项目的特点都不尽相同,所以引进并非一个简单的复制过程,如果引进失败将造成企业巨大的财力、物力、效率损失,甚至会使企业陷入一个更加窘迫的境地。因此,对于软件外包测试项目,引进CMMI存在一定的风险。
一、CMMI模型与风险管理思想的结合
从理论上讲,CMMI应用在软件外包企业可能有两个优点。一是可用于确定企业/组织的过程能力,利于提高企业的国际知名度;二是有助于找出企业/组织中产品质量及过程改进方面较为关键的问题,从而为它们的过程改进提供指南。
根据CMMI原来的定义,CMMI有两种表述方式:阶段表述和连续表述。前者采用5个等级的成熟度模型,后者采用6个等级的能力等级模型。按照过程域划分,CMMI总共有22个过程域,其中CMMI2级包括7个过程域(需求管理、项目规划、项目监控、供应商合约管理、度量与分析、过程与产品质量保证和配置管理),CMMI3级包括11个过程域(需求开发、技术解决方案、产品集成、验证、确认、机构过程焦点、机构过程定义、机构培训、集成化项目管理、风险管理和决策分析),CMMI4级包括2个过程域(机构过程性能、量化项目管理),CMMI5级包括2个过程域(机构创新及部署、因果分析)。
从上述可知,CMMI中关于测试流程的指导就来源于CMMI3级中验证与确认这两个过程域。按照CMMI标准,我们首先可以构建出软件外包测试项目测试流程框架软件测试流程活动包括测试活动的执行角色、发生时间以及先后继承关系等方面。
其中,软件测试流程主要有以下几个步骤:第一步是创建测试计划,第二步是执行测试,第三步是对整个测试过程的评价。在具体应用中,我们发现这一测试流程存在一些问题:
第一,一些高级测试人员认为简单化的测试工作,如果按照CMMI标准化要求,这一工作可能变得复杂化,工作量增加,相反报酬却没有增加,所以实施起来存在主观上的人为抵制风险。
第二,CMMI要求的专业化程度较高。因此一些企业通常会雇佣专业的C M M I 咨询顾问来指导实施。咨询顾问一般会结合其在其他企业的工作经验,为本企业提出解决方案和实施建议。但是软件测试人员能否有效贯彻实施这一方案,却是个问题。
第三,外包测试流程中某些活动的发生的时间与一般软件开