1、软件检测试验室能力验证方案研究王欣中国电子技术标准化研究所摘要 本文分析了现在中国外软件检测机构能力验证方案现实状况和需求,提出了一个针对软件检测试验室能力验证方案,并就实施能力验证过程中各个关键步骤应注意关键问题及其处理方案进行了探讨。因为篇幅限制,本文只提出了概要设计思想,并未就具体技术细节深入展开。1. 引言多年来,各地建立了大批第三方软件产品检测试验室,到现在为止已超出50家。这些机构负担了中国几乎全部软件产品外部测试工作,其中很多试验室业务还介入到了企业开发过程中。这些试验室检测能力高低,将直接影响某个地域软件行业发展。不一样于传统检测试验室,软件产品检测试验室能力往往无法经过传统方
2、法得到。比如,针对传统检测和校准试验室,能够采取不一样试验室对同一标准物质进行测量,然后对测量结果进行比正确手段。而对于软件产品检测试验室,这种方法意义就显得并不显著。所以,需要一个针对软件产品检测试验室新能力验证方案。这种方案现在在中国和国际上全部还没有形成。本汇报经过对软件检测试验室能力验证方案现实状况、需求和技术发展趋势分析,结合曾经举行过部分能力验证活动实际数据,列举出了建立一整套严密验证方案所面临几大关键课题,并尝试着就这些课题给出了某种可行处理方案。最终,本汇报试图经过以上分析,给出一条理论上可行处理路径,作为建立第三方软件检测试验室能力验证方案一个参考,供相关人员研究。2. 正文
3、2.1. 现实状况分析软件产业飞速发展极大地提升了生产力,促进了社会发展。随之而来问题就是怎样来有效地规范市场上众多软件产品,怎样有效地判别软件产品质量优劣,从而保护消费者利益,引导软件产业健康发展。无疑,最直接和最有效手段就是对软件产品实施检测。正是基于这个原因,多年来中国成立了很多从事软件检测业务机构。不过怎样来验证这些检测机构是否真含有从事对应检测业务能力呢?怎样来验证这些检测机构出具检测结果是否正确有效呢?这显然是企业、用户和管理部门共同关心关键问题。现在,为了确保检测结果公正、科学,软件产品检测任务通常由中立第三方软件检测机构来负担。这些检测机构在开展检测业务之前须经过国家试验室认可
4、委员会认可。认可后各个试验室之间,相同业务范围内检测结果应是相互认可并一致。然而,因为软件试验室相对于传统试验室特殊性,很多检测试验室经过认能够后,在一样业务范围内检测能力仍然相差很多,往往造成相互间检测数据不一致。截止到,中国各类第三方软件检测试验室已经达成了一定数量(超出50家),覆盖了中国大部分行政区域,在软件产业比较发达地域,试验室数量愈加集中,比如北京地域,多种检测试验室达成7、8家。上海、广州等地域也有多家试验室同时开展工作。这些试验室中,绝大部分是因为“双软认证”任务需要建立起来,所以试验室检测业务能力范围多数均为GB/T17544和GB/T16260。但因为这两个标准本身部分原
5、因造成各个试验室了解上差异,和实际检测能力上差异,常常出现某一产品在某地域经过检测后,在另外一个地域无法经过当地试验室检测情况。为处理这种情况,除了继续加强标准化工作以外,急需出台专门面向软件检测试验室能力验证制度。软件检测试验室能力验证方案最终用户即使是各个第三方软件检测试验室,但这一方案发挥效果对中国软件市场影响力是不可估量。在国外,软件检测试验室关键经过市场机制进行约束和调控,相关能力验证方面资料很少。而中国检测试验室统一受国家认证认可监督管理委员会监督管理。国家认证认可监督管理委员会于3月13日公布了试验室能力验证实施措施,于5月1日起施行。这标志着国家对于各类检测试验室能力验证重视已
6、经达成了新高度。而到现在为止,相关软件检测试验室能力验证方法、工具还是空白,所以研制专门面向软件检测试验室能力验证工具是管理部门迫切需求。只有掌控了检测机构实际能力,才能规范整个软件检测行业,进而促进软件产业健康发展。这一措施既表明了国家加强试验室管理态度,也对软件检测试验室能力验证问题提出了严峻挑战。其次,软件检测试验室和其它检测、校准试验室有很大差异,无法利用传统手段进行能力验证。作为试验室管理机构中国试验室国家认可委员会,现在对软件检测试验室认可工作基础上仍然以对其它领域试验室认可准则为依据,这本身在很大程度上并不适合于软件检测试验室。为了处理这个问题,国际标准化组织专门公布了技术文件I
7、SO/IEC TR13233:1995Information technology-Interpretation of accreditation requirements in ISO/IEC Guide 25-Accreditation of Information Technology and Telecommunications testing laboratories for software and protocol testing services,国家认可委正在将该技术文件转化为检测和校准试验室认可准则(CNAL/AC01)在软件检测试验室应用附加指南。该文件在一定程度上针对软
8、件检测试验室进行了调整,并提出了部分合乎软件检测试验室实际需求要求条款。不过一直到现在为止,相关软件检测试验室能力验证方案问题,中国外全部没有可借鉴参考方案。2.2. 总体方案依据试验室能力验证实施措施中第二条要求,“本措施所称能力验证,是指利用试验室间指定检测数据比对,确定试验室从事特定测试活动技术能力。”参考传统试验室这种比对活动,全部是采取标准物质作为测试对象,对各个参与能力验证试验室实际测量结果进行比较分析,最终得出结论。作为软件检测试验室,其能力验证原理也是如此,只是在一些具体问题上和其它试验室差异较大。这些问题在下面章节中会具体讨论,这里先给出能力验证总体设想方案和其中多个关键步骤
9、(这些方案和步骤中并没有考虑组织管理上很多原因,那部分内容不在本汇报讨论范围之内):设想方案:建立一套软件检测试验室能力验证用测试对象库,也就是一个能够任意组装和拆卸软件模块库,这些模块或大或小对应着GB/T16260中要求质量特征、子特征或是度量元,当我们要开始一次能力验证时,确定了要使用质量模型以后,就从库中抽取适宜模块,组装成测试对象。关键步骤:(1) 设定能力验证范围(2) 制备测试对象(3) 分发并实施测试(4) 搜集测试结果并进行统计分析针对上面列出4个关键步骤,我们一一讨论其处理方案及可行性。2.3. 关键课题(1) 设定能力验证范围在这个步骤中,我们任务关键是以下多个方面:a.
10、 确定检测依据和范围现在软件检测试验室,其业务范围关键是GB/T17544和GB/T16260。其中GB/T16260已经修订,而和之配套使用GB/T17544修订工作还没有结束。这两个标准是针对全部软件产品通用标准,覆盖了软件产品全部质量特征。不过通常来说,一个软件产品并不会包含到全部这些质量特征。那么哪些质量特征在验证范围内,哪些不在验证范围内,要给出明确说明。这些质量特征在GB/T16260中又被分为了子特征和度量元,所以,在确定了检测依据和范围以后,应给出此次能力验证使用质量模型。b. 确定结果数据要求定义了质量特征范围以后,要对测试结果数据有明确要求。假如测试依据只是GB/T1754
11、4,那么因为该标准并未对测试后产生何种数据进行要求,所以必需在这一步骤中给出明确要求。比如,要求给出Buglist,统计错误和失效数量,进行错误分布分析等等。同时,因为这些错误和失效严重性等级是不一样,所以,还有必需对错误分级进行统一定义,并要求结果数据中给出对应等级描述。假如测试依据中包含了GB/T16260,那么因为该标准中将各个质量特征划分为子特征,并深入细分为度量元,且给出了将各个度量元测试结果归结为数值方法,所以在这一步骤中应给出进行比对测试时使用质量模型。也就是说,应列出需要各个试验室提供结果数据那些度量元列表。(2) 制备测试对象这个步骤是整个能力验证方案中最为艰苦一个步骤。其关
12、键问题集中在以下多个方面:a. 标准结果数据问题其它试验室使用测试对象是标准物质,其标准结果数据是已知;而软件因为其本身特殊性,标准结果数据几乎是无法取得。要处理这一问题,方法有两个。一是向测试对象植入错误,并在结果分析时只考虑这些植入错误。这种方法针对功效性比较有效,不过对于其它质量特征,效果不显著。二是对测试对象进行反复测试,使结果数据尽可能迫近真实数据。这种方法理论上是能够实现,不过由谁来进行测试是个问题。单独选择一家检测机构进行测试极难达成效果;而假如选择多家反复进行测试,测试对象就变得公开。b. 测试对象对标准覆盖程度问题除了结果数据问题,整套能力验证方案必需覆盖GB/T中要求全部质
13、量特征,依靠一个单一测试对象极难达成这一标准,所以,应该采取测试对象库方法。也就是说,设计一套能够任意组装和拆卸软件模块库,这些模块或大或小对应着GB/T16260中要求质量特征、子特征或是度量元,当我们要开始一次能力验证时,确定了要使用质量模型以后,就从库中抽取适宜模块,组装成测试对象,分发给试验室进行比对测试。这部分工作工作量极其庞大,而且包含了软件开发、软件测试、软件标准化等不一样领域,需要大量投入。鉴于现在软件检测市场上需求,能够先从功效性方面模块入手。(3) 分发并实施测试这个步骤和传统试验室能力验证没什么重大区分,能够根据以往经验进行操作。(4) 搜集测试结果并进行统计分析假如要求
14、结果数据是针对度量元数值,那么就要给出每个度量元能够接收结果数值范围。这个结果数值范围确实定,应经过严密数学分析,借助统计学一些概念和公式最终导出。这需要协同其它行业教授一起来完成。假如要求结果数据是Buglist形式,不能只考虑最终发觉缺点个数,而应对应标准缺点列表,为每个缺点分配权值,再依据加权后标准缺点列表,为各个试验室打分。权值分配,一样需要软件领域和数学领域教授协同工作来一起完成。3. 小结经过上述探讨,本文提出处理方案关键思想,是建立一套软件检测试验室能力验证用测试对象库。因为工作量和市场需求问题,考虑先从功效性方面5个子特征14个度量元入手。同时,在软件试验室能力验证实施过程中,
15、还应注意质量模型设定、结果数据要求和结果数据评判标准等方面问题。4. 参考文件表GB/T 16260.1- 软件工程 产品质量 第1部分:质量模型GB/T 16260.2- 软件工程 产品质量 第2部分:外部度量GB/T 17544-1998 信息技术 软件包 质量要求和测试试验室能力验证实施措施ISO/IEC TR13233:1995 Information technology-Interpretation of accreditation requirements in ISO/IEC Guide 25-Accreditation of Information Technology and Telecommunications testing laboratories for software and protocol testing services