罗银,宾建伟,姚日煌
(工业和信息化部电子第五研究所,广东 广州 510610)
目前在国内军用软件装备研制领域,经过近10年的发展,已形成一套完备的软件质量控制体系,该质量控制体系要求进一步加强软件测评的力度和细致程度,将软件测评的重要性上升到了一个新的高度。随着军用软件测评的迅速发展,民用软件测评领域尤其是航天、航空、金融和轨道交通等行业对软件的可靠性和安全性要求也越来越高,对软件测评的要求也越来越向军用软件测评靠近。
软件测评是保证软件质量的重要手段,软件测评包括软件测试和软件评价两部分[1],通过测试来发现和解决软件问题,通过评价来说明软件质量。但对于软件测评而言,如何保证软件测评本身的质量对软件质量保证则有着至关重要的作用。建立软件测评体系,规范软件测评工作,如测评流程、测评配置管理等,可保证软件测评本身的质量。
ISO/IEC 17025及GJB 2725A等标准对检测实验室的管理体系和技术体系做了全面要求[2],但并未针对软件测评体系给出具体的质量要求及质量评价方法。本文以某轨道交通企业的软件测评体系建设咨询项目(以下简称 “该项目”)为基础,根据软件工程原理[3]及软件测试过程改进[4]要求,提出了针对软件测评体系的质量评价模型,研究了相应的质量评价指标体系,并给出了模型计算方法。
软件测试伴随着软件的产生而产生,在早期的软件开发过程中,软件规模比较小、复杂程度也低,所谓的测试也基本等同于开发人员的调试。软件测试模型与软件测试标准的研究随着软件工程的发展而越来越深入,测试作为保证软件质量的手段也朝着工程化方向发展。20世纪80年代后期,Paul Rook提出了著名的V模型,该模型反映了测试活动与软件设计开发活动之间的关系,但它仅仅是将测试作为在编码之后的一个阶段,只是针对程序进行的寻找错误的活动,忽视了对需求分析、系统设计等开发阶段的测试,存在一定的局限性。针对V模型的局限,Evolutif公司提出了W模型,该模型增加了软件开发各阶段中应相应开展的测试活动,强调测试与开发的同步性。
V模型和W模型强调了测试的重要性,尤其是W模型不仅仅将测试作为软件生命周期中的某一个阶段,而是将测试贯穿到了软件生命周期的各个阶段。为确保人们对软件质量的信心,充分发挥测试的质量保证作用,需进一步建立适合的测试体系,从技术上、管理上保证测试的流程化、体系化和规范化,保证测试本身的质量,从而保证软件的质量。因此,如何建立适合的测评体系,如何评价所建立的体系质量则显得尤为重要,这也是本文所要研究的主要内容。
该项目的主要目标之一就是建立符合标准要求的软件测评体系。在该项目开展前期的项目调研工作阶段已有针对性地对软件测评相关的制度、流程、人员和文档等现状进行了调研,相应的调研也就成为了项目后续软件测评体系建设和规划的重要依据。
基于此,本文提出的软件测评体系质量评价模型及评价指标如图1所示:
图1 软件测评体系质量评价模型
该模型从测评管理、测评过程、测评人员、测评文档和测评质量保证、测评配置管理、测评环境及工具、测评标准8个方面(评价项)对测评体系的质量进行评价,并给出了管理层面的评价指标体系及评价指标(评价子项),评价指标的具体内容要求可参考相关的标准或根据实际需要来灵活定义。
值得指出的是,在实际的软件测评体系建设咨询项目中,除了从管理层面对建立的软件测评体系进行评价外,还需要从应用层面通过选取若干典型的实际测评项目对测评体系的执行情况进行评价。
设n为评价项数,总权重为100,P表示计算得到的总评价分值,xi表示第i个评价项的评价子项数,wij表示第i个评价项的第j个评价子项的权重。uij表示第i个评价项的第j个评价子项是否通过,若通过,则uij=1;否则uij=0,其中i=1,2…,n,j=1,2…,xi。
则P为各评价子项的权重之和,具体的计算方式如下:
特别地,当各评价子项的权重相同时,即:
在通常情况下,应用式(1)时比较复杂,需要自行定义各评价子项的权重,而式(2)不需要单独定义评价子项的权重,只需要根据评价子项数计算平均权重即可,其优点是简单,不足之处在于不能根据权重来区分各评价子项的重要性。
建立通用的且符合标准要求的软件测评体系的质量评价体系是一件比较复杂的事情,需要综合考虑多方面的因素,比如测试管理评价、测评过程评价等,本文通过对已完成的某轨道交通企业软件测评体系建设咨询项目的经验总结,同时根据软件工程原理要求,提出了一个形式上相对通用的软件测评体系质量评价模型,研究了质量评价指标体系,并给出了模型的形式化计算方法。
[1]钟德明,王成志.软件测试与评价的关系研究 [J].测控技术,2009,28(4): 77-82.
[2]GJB 2725A-2001,测试实验室和校准实验室通用要求[S].
[3]陈世鸿,朱福喜,黄水松,等.软件工程原理及应用[M].武汉:武汉大学出版社,2006.
[4]KIT E,软件测试过程改进 [M].北京:机械工业出版社,2003.