基于GJB2725A的军用软件测试管理系统设计与实现

2018-08-24 08:51,,
计算机测量与控制 2018年8期
关键词:软件测试军用文档

,,

(中国人民解放军91404部队,河北 秦皇岛 066001)

0 引言

随着软件在装备中的大量运用,军方对软件质量要求越来越高,所有军用软件必须经软件测试通过后才能交付部队使用。为规范军用软件测评过程,确保软件测试[1]的质量,原总装备部先后发布了《质量管理体系要求》、《校准实验室和测试实验室通用要求》等多项标准和规定,对军用软件测评提出规范要求,并于2004年对军用软件测评实验室开展资质认证工作。

本文构建的基于GJB 2725A-2001《校准实验室和测试实验室通用要求》的军用软件测试管理系统旨在采用规范的管理手段,实现对军用软件测评[2]项目接收、测试需求分析、测试策划、用例设计、测试执行、测试总结[3]全过程的管理和控制,辅助测试人员完成测试过程管理[4]、测试数据管理和质量评价[5],及时发现违反测试规范问题发生,既可以有效提高软件测评的规范性、提高测试的效率和质量,也可为军用软件[6]测评实验室认可奠定基础。

1 规范要求

当前军方对软件测评实验室认证主要依据《测试实验室和校准实验室通用要求》及其附加要求《军用软件测评实验室测评过程和技术能力要求》进行。因此实验室进行军用软件测评项目实施过程和采用的技术能力必须符合这两个规定的要求。

在《测试实验室和校准实验室通用要求》中,对军用软件测评实验室提出了管理要求(组织、质量管理体系、文件的控制、要求、委托书及合同的评审、分包、采购、对委托方的服务、意见的处理、不符合要求的控制、纠正措施、预防措施、记录的控制、内部审核、管理评审)和技术要求(人员、设施和环境、测试、校准或检定方法及其确认、设备、测量溯源性、抽样、被测件/被校件或被检件的处置)[2]提出了明确要求。

《军用软件测评实验室测评过程和技术能力要求》针对军用软件测评实验室的测评过程管理的“组织、测试过程、项目管理、文档和记录的管理方面”和技术能力的“人员、设施和环境、测试、校准或检定方法及其确认、设备、测量溯源性、抽样、被测件/被校件或被检件的处置方面[7]”的要求进行了细化。

与《测试实验室和校准实验室通用要求》相比,《军用软件测评实验室测评过程和技术能力要求》针对军用软件测评实验室制定,在军用软件测评实验室管理和测评项目实施时更有针对和指导性。因此本系统更多依据《军用软件测评实验室测评过程和技术能力要求》的要求进行了设计与实现。

2 系统方案设计

2.1 系统功能

军用软件测试管理系统实现军用装备软件测试项目的全过程数据采集和实施管理,主要功能见表1[8]。

表1 系统主要功能要求

2.2 系统软件设计

2.2.1 软件数据设计

军用软件测试管理系统依据《测试实验室和校准实验室通用要求》及其附加要求《军用软件测评实验室测评过程和技术能力要求》的要求进行数据结构设计和使用约束设计。

1)测试级别类型约束:系统中定义测试级别4个:单元测试、部件测试、配置项测试、系统测试;定义测试类型23个:文档审查、代码审查、静态分析、代码走查、逻辑测试、功能测试、性能测试、接口测试、人机交互界面测试、强度测试、余量测试、可靠性测试、安全性测试、恢复性测试、边界测试、数据处理测试、安装性测试、容量测试、互操作性测试、敏感性测试、标准符合性测试、兼容性测试、中文本地化测试。

2)测试过程约束:系统中明确设置测试过程为5个:测试需求分析、测试策划、测试设计和实现、测试执行、测试总结(包括评价过程[9]和总结)。

3)项目管理约束:系统在各个阶段对关键节点进行检查和控制。

(1)需求管理:对测评任务书、合同等需求及其评审记录进行管理;

(2)策划管理:设置项目管理计划文档作为测评大纲的补充,根据项目进展随时对进度、人员安排、工作量、资源使用估计等信息进行细化和修订;

(3)跟踪与控制:设置日志、周例会和阶段跟踪报告,按照不同的跟踪粒度对整个项目执行过程进行过程跟踪与工作质量监控;

(4)质量保证:制定质量保证计划,对整个测试过程进行监督,对测试产品进行审核,测试过程进行阶段评审。

(5)配置管理:制定配置管理计划,对工作产品、测试工具和测试环境进行标识和控制。

4)人员的约束:具有2年(含)以上测试经历的测试人员的比例应至少占30%,测试经历短于2年不得担任项目组长;

5)方法的约束:对软件测试方法和评价方法[10]是否适合于预期用途进行评审和确认,通过评审测评大纲和测试说明的方式进行,并对评审和确认结果予以记录。

6)设备的约束:软件测试使用的硬件设备应进行状态管理,对计算机、工作站、服务器以及测试平台等进行功能检查,并在实物上予以标识。

7)工具的约束:实验室所用的测试工具建立并保存详细的档案,在使用前必须确认并记录状态。

8)被测件管理的约束:制定被测件的标识制度。详细记录被测件的状态,使用前经过查毒处理,对被测件处置过程进行全程记录。

9)评审约束:系统设置测评项目需求评审、合同评审、测试需求评审、测试策划评审、测试就绪评审、测试设计评审、测试执行阶段评审、测试总结评审等。

10)文档约束:系统按照技术文档、管理文档两大类对文件进行管理,每种文档均根据规定的要求设置要素,文档种类和要素内容均可通过系统软件进行完整性审查。

2.2.2 软件开发架构

军用软件测试管理系统属于基于数据库的管理信息系统的一种,采用图1所示的三层架构来进行开发,从底层开始依次是数据持久层、业务逻辑层和图形界面层[11]。

1)数据持久层负责全面的资源访问功能支持,包括sql数据库的操作和xml配置文件访问等,主要是将业务逻辑层的对象保存到数据库及数据文件中,以及将数据库和文件中的记录读取出来生成对应的业务对象。

2)业务逻辑层包含系统中所有的业务对象以及业务逻辑,负责按照预定的业务逻辑处理图形界面层提交的请求。业务功能子层负责级别业务功能实现,业务流程子层负责将业务功能子层提供的多个级别业务功能组织成一个完整的业务流。

3)图形界面层主要负责用户与系统之间的交互,主要包括数据管理、数据浏览、文档生成等操作。

图1 军用软件测试管理系统开发架构

3 系统功能设计与实现

3.1 系统功能组成

系统由以下10个主要功能模块组成,其中公共数据管理、项目信息管理模块完成项目及基础数据的管理维护,测试过程管理模块按照要求实现每一轮测试的测试需求分析、测试策划、测试设计与实现、测试执行以及最后的测试总结活动的能力;被测件管理、配置管理、策划管理和数据检查完成测评数据管理;质量控制、跟踪与控制模块完成测评过程的质量监控;文档生成模块完成测评结果文档生成。软件模块间的关系如图2所示。

图2 软件功能模块组成

3.2 对象关系映射模型设计与实现

军用软件测试管理系统采用面向对象[12]的方法来建立业务模型[13],用对象来保存各业务实体,用对象的属性来保存业务实体之间的关联。本系统采用的数据为关系数据库,各业务实体保存在数据库表中,实体之间的关联作为关系保存在数据库表中。为了将对象持久化到关系数据库中,本系统利用.NET的反射和用户自定义Attribute的技术建立一种对象关系映射模型,通过该模型来描述业务实体类与数据库表之间的映射关系,并在程序执行过程中根据该映射关系来实现对象形式的数据和数据库记录形式的数据之间的转换[11]。在对象关系映射模型中,每一个实体类与一个数据库表对应,实体的属性对应数据库表中的字段。每一个数据库表必须包含一个自动编号的主键字段,该字段与实体类的ID属性对应。每一个实体类的对象保存到数据库中以后就是该实体对应的数据库表的一条记录,程序其它模块只需要与实体对象交互,而数据持久化模块会利用对象关系映射模型使对象和数据库中的数据保持一致,数据持久化类关系如图3所示。

图3 数据持久化模块类关系图

实体之间的关系包括以下几种:无关联、一对多关联、多对一关联、多对多关联。以上实体关系映射到数据库中时情况如下:无关联的实体对应的数据库表不与其它数据库表关联;一对多和多对一关联的实体对应的两个数据库表,其中一个表拥有另外一个表的主键作为自己的一个字段;多对多关联的实体对应两个实体数据库表和一个关联数据库表,关联数据库表拥有另外两个表的主键作为字段。由于多对一的关联可以等同于一对多的关联,并且多对多的关联可以通过添加一个实体类的方式转换成两个一对多的关联,因此为了降低复杂度,绝大多数情况下的对象关系模型中可以只使用无关联和一对多关联两种情况的模型。

3.3 测试过程管理功能设计与实现

测试过程管理功能按照测评任务剖面按照5个子功能进行功能设计:测试需求分析、测试策划、测试设计与实现、测试执行和测试总结,测试过程管理模块流程图见图4。

图4 测试过程管理模块流程示意图

在系统实际实现过程中,根据测试执行轮次将过程管理功能分为两个阶段,测试需求分析、测试策划、测试设计与实现、测试执行功能为实施阶段,每一轮测评实施结束后进行测评结果数据分析整理、测试问题验证、软件质量评估[1,5],根据需要确定是否要进行下一轮测试实施或直接进行测试总结。测评项目各轮次实施全部结束后,进入测试总结阶段,完成软件测评报告的编写和测评项目的总结收尾工作,测试过程管理功能类关系图见图5,软件执行过程界面见图6。

图5 测试过程管理功能类关系图

图6 测试执行过程

3.4 项目跟踪与控制功能设计

在计划制定时为每个人分配活动和任务,指定预计工作量,通过个人日志和周例会对工作进展数据进行采集,随时掌握测评项目的实际进展情况,周期性采用挣值分析法对项目任务工作量进行统计,以便在测评项目的执行与要求背离时,能够及时采取有效的措施。根据工作量统计数据,计算进度指数(SPI)和成本指数(CPI)来对项目进行分析,挣值折线图见图7。

进度偏离指数SPI=(BCWP-BCWS)/BCWS

成本偏离指数CPI=(BCWP-ACWP)/ACWP

图7 挣值折线报告图

当时间进度或人时成本偏离超过20%时,提醒项目负责人采取相应的纠正措施。

通过状态统计功能随时了解项目进展,各个阶段/轮次测试完成情况,测试的充分程度等情况。

3.5 文档生成功能设计

文档生成功能通过数据库接口适配模块,按照系统约定的数据结构模型,获取数据库中存放的测评数据,根据预先制定的文档模板和XML配置文件,采用VSTO技术,按照用户的选择,自动化生成Word和Excel格式的软件测评文档文件,以便用来评审或归档,流程示意图见图8。

图8 测评文档生成流程示意图

4 试验结果分析

通过测试管理系统对军用软件测评项目全过程进行管理,可以减少因人为因素导致的不符合规范现象出现,在测试过程中可以随时通过数据检查功能,发现测试数据中存在的不符合要求、数据不一致、关键要素缺失等问题,提醒测试人员进行分析和改正。

通过项目跟踪功能及时对项目进行阶段跟踪,并生成统计跟踪表格(见表2)和折线图(见图7),帮助管理人员直观查看当前完成工作量、实际工作与计划的偏差等情况,及时对项目实施进程进行控制调整。

表2 挣值跟踪表

通过多个测评项目使用,测试管理系统能够有效减轻测试人员的工作强度和压力,提高软件测评的效率和质量。

5 结束语

本文描述构建的军用软件测试管理系统,按照《测试实验室和校准实验室通用要求》和《军用软件测评实验室测评过程和技术能力要求》的规定,并参考自身实验室特点进行设计开发,在实际使用过程中有效规范军用软件的测试过程、指导测试人员行为,为提高军用软件测评质量、促进军用软件测评实验室对相关标准的能力符合性方面发挥积极作用。

猜你喜欢
软件测试军用文档
浅谈Matlab与Word文档的应用接口
软件测试方向人才培养“1+X”融合研究
有人一声不吭向你扔了个文档
威力无比的军用霰弹枪
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
Word文档 高效分合有高招
关于 Web 应用系统的软件测试的研究
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
猜谜