◆施予 / 文
多年来,“GB/T 25000.51-2010《软件工程 软件产品质量要求和评价(SQuaRE) 商业现货(COTS)软件产品的质量要求和测试细则》”(简称老标准),已成为目前软件检测实验室使用最广泛的软件检测标准。但是,随着软件工程的迅猛发展,新的软件质量标准“GB/T 25000.51-2016《系统与软件工程系统与软件质量要求和评价(SQuraRE) 第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》”(简称新标准)已经发布并实施,替代了GB/T 25000.51-2010标准。在这种背景下,对于软件检测实验室来说,进行检测工作的标准,也要随着国标的变化而变化。本文以一个就绪可用软件产品“某机器人仿真与动力学分析系统V1.0”的测试为背景,运用新标准GB/T 25000.51-2016对其进行检测和评价。通过这个实例,摸索并总结出一套基于新标准的软件检测实验室测试方法。
随着新的软件测试国标GB/T 25000.51-2016的发布和实施,以及老国标GB/T 25000.51-2010的作废,软件检测需要根据新的国标实施评测活动。因此,需要对新老国标进行一次比对,来确定实验室的评测能力是否能够满足新国标的要求,以及哪些地方需要进行改进。
新国标GB/T 25000.51-2016是老国标GB/T 25000.51-2010的修订版,保留了原有国标中的软件质量要求的特性,但同时新的国标中增加了性能效率、兼容性、信息安全性、有效性、满意度、抗风险和周境覆盖特性,相关的子特性也做了修改、调整和补充。
这就要求评测实验室针对新的国标进行研究,同时对比老国标的一些质量要求,更好地应用新的国标GB/T25000.51-2016,来规范、升级软件实验室评测活动。
新国标把软件检测的适用范围,扩展到了就绪可用软件产品(RUSP)。RUSP的含义是可以打包出售给对其主要特性和其他质量没有任何影响的需求方的软件产品。而老标准仅适用于商业现货(COTS)软件产品,因此新标准的范围更大了一些。
在新的标准中对用户文档提出了一些新的要求:产品说明中,应该阐明所运行软件的质量特性;当有软件版本不同时,应该无歧义地予以指明;增加满意度、抗风险、周境覆盖相关描述。
在老标准中,对软件产品所包含的7大项主要特性——功能性、可靠性、易用性、效率、维护性、可移植性、使用质量,进行了要求;而在新的标准中,增加了性能效率、兼容性、信息安全性、有效性、满意度、抗风险、周境覆盖这些特性。
(1)性能效率方面
标准没有详细说明性能效率包含哪些内容的陈述,但分析下来应该是并发用户数、响应时间、吞吐量、CPU占用率等参数。
(2)兼容性方面
1)软件应提供至少一种方式,来控制被安装组件的兼容性;
2)软件应按照用户文档集或产品说明中所规定的兼容性特性来执行;
3)应在用户文档集里说明软件需要提前配置的环境和参数;
4)在用户文档集里应明确指明兼容性、功能、数据流的类型。
(3)信息安全性方面
1)保密性:授权用户可以对系统进行访问,非授权用户无法访问;
2)完整性:确保授权用户能够完整地访问系统规定的所有功能;
3)抗抵赖性:软件具有留痕功能,可以审核、追踪用户访问信息以及重要的操作信息;
4)可核查性:审核记录的内容应包括事件的日期、时间、发起者信息、类型、描述和结果等信息;
5)真实性:对信息的来源进行判断,能对伪造来源的信息予以鉴别。
(4)有效性方面
1)软件按照产品说明中陈述的使用质量的有效性特性来执行,并通过用户文档得到帮助;
2)软件应能提供评价,对期望的依从性目标的影响手段。
(5)满意度方面
1)软件应按照产品说明中陈述的使用质量的满意度特性来执行,并通过用户文档获取帮助;
2)如果有维护合同,生效后,软件应提供直接与供方进行沟通的渠道。
(6)抗风险
1)软件应按照产品说明或用户文档集里陈述的使用质量的抗风险特性来执行,并通过用户文档获得帮助;
2)对于存在风险的功能,软件应提供明确的确认过程以及管理渠道;
3)对于存在风险的功能,软件应有审计、跟踪功能。
(7)周境覆盖
1)软件应按照产品说明中陈述的使用质量的周境覆盖特性来执行,并通过用户文档取得帮助;
2)如果软件使用参数,限制功能性覆盖,用户应了解当前使用的功能的所有覆盖情况。
新标准中重点针对测试文档集进行了一些更新,特别强调“产品标识”,并且对测试活动进行了举例说明,主要包括:测试环境搭建、测试文档编制、测试执行等。另外,为了适应ISO 9001-2015质量管理体系新版变化,提出了风险管理、人力资源、沟通理念。这些都将在测试文档和过程中有所体现。相比之下,新标准更注重对测试文档集的控制,通过测试文档集来规范测试过程。
标准转换一共分为六个阶段。
(1)新老标准的交替过渡
新标准发布后,有一段时间的过渡期。在这个过渡期中,一方面,由业务部门使用原来的标准进行现有项目的正常检测工作;另一方面,抽调一部分资深检测人员和专门研究标准的人员,进行新老标准的比对和研究,制定出新的检测规范流程。
(2)新老标准变更不同点的分析
主要由一部分资深检测人员和专门研究标准的人员共同完成。由于检测人员是测试体系的主要使用者,他们对于现有的日常体系的运行,相对熟悉;而标准人员对于标准更加熟悉,因此这样两种不同职能人员的组合,可以做好新老标准变更不同点的分析。
(3)建立检测规范流程
通过分析和比较后,把标准变更和本实验室的特点结合起来,基于业务应用进行梳理,在前期建设基础上通过流程、岗位职责、管理规范等优化完善,进而制定出在新标准体系下以业务应用为导向的实验室检测流程规范,并作用于相关测试模板,使其得到落实和完善。同时,还需要考虑未来需求变化,尽可能留有余地,为后续拓展和修订奠定基础,以实现快速反应和及时维护,实现模板的增删减功能。
(4)测试文档模板的修订
根据前面制定的检测规范,进行测试文档模板的修订,主要包括测试计划、测试报告、测试异常报告等相应的检测模板。
(5)新测试体系的落实
新测试体系修订完成后,由独立于修订体系的质量部门进行体系的审核,并提出修改意见,根据意见进行修改。修改完成后,体系正式落地实施。
(6)新测试体系的运行及差异对比
通过新体系的运行,找出和原有体系运行的差异之处,通过直观的数据进行比对,查看是否有需要改进的地方。
(1)测试内容调整
根据3.1~3.3,对测试内容进行调整。
(2)测试文档要求调整
在原有基础上,对测试文档进行以下调整:
1)产品标识:增加产品型号或版本、商标等标识性信息,确保被测物品的唯一性;
2)风险管理:对风险进行识别、分析、控制;
3)人力资源:详细列出测试过程中参与的工程师、审核人员等,以及占用的时间、百分比等信息;
4)沟通:列出测试方和被测方的沟通人员、职责、邮箱、电话等联系信息,确保沟通畅通。
根据本文提出的方法,我们在某第三方检机构实验室选择了一个就绪可用软件产品“某某机器人仿真与动力学分析系统V1.0”,于2019年11月至2019年12月分别运用老、新标准,对该软件产品进行了软件测试,验证体系转换的有效性。
使用两个不同标准进行检测,主要差异如下。
基本说明和测试范围与老标准相同。
测试标准和参考依据:GB/T 25000.51-2016系统与软件工程系统与软件质量要求和评价(SQuraRE) 第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则。
针对功能模块进行的功能测试,共使用了98个测试用例。比原来老标准下的测试用例多了98-86=12个。这些测试用例主要表现在体系转换内容方面。
本文介绍了软件工程中的软件产品质量要求和评价GB/T 25000.51-2016标准下的软件检测实验室的测试管理方案,通过对比原有的GB/T 25000.51-2010与新标准GB/T 25000.51-2016的区别,对软件检测实验室的测试工作规范进行了新的定义,并通过应用新旧两个不同标准,对同一个就绪可用软件产品进行了比对测试,验证了体系转换的有效性。
进一步的研究将结合更多实例,对GB/T 25000.51-2016标准下的软件检测实验室的测试工作展开研究。
表5-1 异常情况表