桂林长海发展有限责任公司,广西桂林541000
摘要:GJB5000A体系下软件测试过程中需要整理的数据量大、数据种类多,而人工整理数据效率很低。通过对GJB5000A中所需的测试数据进行研究,对相关联的数据建立数学模型,利用ExcelVBA技术编写数据自动生成工具实现数据模型,并对该数学模型添加数据合法性检查机制,实现数据的自动生成和合法性检查。经过多个型号软件的实践表明,该工具不仅提高了软件测试数据整理的效率,而且增加了数据的准确性。
关键词:GJB5000A;软件测试;数据自动生成工具;ExcelVBA1
前言:近年来随着军用装备软件占比越来越大,软件的质量和可靠性已经成为装备质量全面提升的瓶颈。为了加强军用软件产品的研制质量,装备发展部制定并发布了GJB5000A-2008《军用软件研制能力成熟度模型》用以评价软件研制单位是否具有相应的软件研制能力。标准自2003年发布第一版以来一直受广受关注。装备发展部之所以如此大规模推广实施,旨在进一步通过GJB5000A的实施规范我国军用软件研制过程,提高软件生产效率、软件质量,最终实现我国军用装备质量的全面提升。
1GJB5000A推广的必要性
1.1全面提升软件研制质量
实施GJB5000A其最终目标是软件研制质量的全面提升,具体来说,企业可以在成本,进度,生产率,质量,客户满意度等方面带来不同程度的提升。目前国内实施GJB5000A的成效在部分成功推广的单位中已经得到实现,由于各军工单位数据均存在保密等问题不便于统计,以下则收集与GJB5000A等同的民用软件中广泛运用的CMMI的实施效果的数据来具体说明推后的各项收益。
1.2实现精细化规范管理
我国军用软件研制过程的普遍现状仍是采用“手工作坊”模式,软件开发和生产过程的不透明,缺乏有效的过程管理等问题突出。GJB5000A的实施给企业带来的管理模式的转变将能够有效的解决此类问题。
1.3持续认证的要求和趋势
GJB5000A认证后的全面推广工作是体现GJB5000A的实施成效,同时也是装备发展部强力推行GJB5000A的目的。对于GJB50000A的推广要求装备发展部有一系列措施和要求促使单位进行有效的推广。
2数据自动生成工具的实现
2.1数学模型的建立
2.1.1数据类型的划分
对数据表150项数据进行研究,依据数据特性及关联关系可将数据划分为四类:(1)填写数据:项目基本信息数据,必须通过手工填写。(2)设计数据:经过设计后填入的数据,必须通过手工填写。(3)部分统计数据:即依据填写数据和设计数据,通过固定的映射关系和计算可以得到该项数据中大部分内容的数据。(4)完全统计数据:即依据填写数据和设计数据,通过固定的映射关系和计算可以得到该项数据中全部内容的数据。根据以上类别,将150项数据进行划分为填写数据18项、设计数据12项、部分统计数据20项、完全统计数据100项:(1)项目基本信息表:填写数据14项;其余数据无。(2)需求与测试项的映射关系表:设计数据5项;其余数据无。(3)测试用例表:填写数据1项,包括故障现象描述;设计数据7项,包括测试类型、正常/异常、测试项名称、测试说明、用例描述、测试步骤、预期结果;部分统计数据6项,包括设计人、设计日期、测试日期、测试结果及现象、测试结论、测试人员;完全统计数据3项,包括用例编号、测试项标识、用例标识号。(4)测试用例个数统计表:完全统计数据39项;其余数据无。(5)用例到需求的映射表:完全统计数据6项;其余数据无。(6)需求到用例的映射表:完全统计数据6项,其余数据无。(7)测试说明到测试用例的映射表:完全统计数据7项,其余数据无。(8)测试用例到测试说明的映射表:完全统计数据7项,其余数据无。(9)测试故障汇总表:填写数据3项,包括故障类型、处理意见及方法、结论;部分统计数据6项,包括故障严重等级、报告人、报告日期、解决人、解决日期、回归测试方法;完全统计数据9项,包括故障编号、被测软件名称、被测软件标识、版本及日期、测试项名称、用例标识、测试级别、测试类型、故障描述;填写数据无。(10)影响性分析表:部分统计数据7项,包括受影响/新增测试项、受影响/新增测试用例、测试类型、重用个数及比率、新设计个数及比率、执行个数及比率、未通过个数及比率;完全统计数据:3项,包括序号、更改依据、更改描述;其余数据无。(11)故障个数统计表:完全统计数据16项;其余数据无。(12)用例执行情况表:部分统计数据1项,包括未执行用例个数;完全统计数据4项,包括测试类型、用例个数、百分比、执行用例个数、未通过用例个数。
2.1.2映射关系的建立
完成对150项数据的分类,建立填写数据、设计数据与部分统计数据、完全统计数据之间的关系,经过研究,将表格内数据关系主要分为如下四类:(1)直接映射关系:即源数据和目标数据之间的数值相同,例如项目基本信息表中的默认用例设计人与测试用例表中的设计人为直接映射关系。(2)计算映射关系:即源数据经过直接计算得到目标数据的值,例如测试用例表中的测试结果及现象与测试用例表中的故障现象描述。(3)直接统计映射关系:即目标数据经过某一个表格中的某几项源数据经过统计计算得到。(4)间接统计映射关系:即目标数据经过某几个表格的某几项源数据经过统计计算得到。
2.2数学模型的实现
基于上述研究,本文采用Excel作为基础制作数据自动生成工具,对数据之间的映射关系进行实现。Excel中自带开发工具VBA,VBA可以直接对Excel表格进行编程,对不同的数据表编制不同的数据宏,建立表格中的目标数据(部分统计数据、完全统计数据)与源数据之间的映射。
2.3填写约束的实现
为保证数据符合GJB5000A和软件测试的要求,在数学模型的设计中将数据约束通过如下方式来实现:(1)对于填写数据和设计数据:通过选项的形式或在工具中规定好填写格式,以确保规范填写。(2)对于部分统计数据和完全统计数据:将数据规范通过映射关系来实现,通过计算、统计、拼接生成符合规范的目标数据。通过格式化的输入约束和依据规范的自动生成,保证了数据填写的规范性,无需进行过多的记忆和培训。
2.4合法性检查机制的实现
在实现数学模型之外,为保证源数据和目标数据的准确性,在本工具中增加了合法性检查机制:(1)对于空数据的检查:检查源数据的值是否为空。(2)对于数据格式的检查:检查源数据的格式是否正确。(3)对于映射关系的检查:检查映射关系是否正确。
结论:
本文通过对GJB5000A体系下软件测试中配置项测试和系统测试的数据整理过程进行了研究,对所需整理的数据建立了数学模型。利用ExcelVBA技术编写软件测试数据自动生成工具实现了该模型,并在该模型中增加了数据合法性检查机制。
参考文献:
[1]石晓宁.满足GJB500A标准的软件测试流程研究[J].电子质量,2014(07):1-3.
[2]GJB5000A-2008军用软件研制能力成熟度模型[S].中华人民共和国国家军用标准,2008.
[3]GJB438B-2008军用软件开发文档通用要求》.中华人民共和国军用标准,2009.
[4]陆娇娇.基于ExcelVBA的多考场电子成绩自动统计[J].电脑知识与技术,2016,12(15):218-219.