军用软件系统级测试技术应用研究

(整期优先)网络出版时间:2021-06-09
/ 2

军用软件系统级测试技术应用研究

游文麟

贵州贵阳 江南机电设计研究所 550000

摘 要 针对目前军用软件系统级测试实施的问题和难点,从系统级测试类型、系统级测试环境构建、系统级测试充分性评价等方面提出系统级测试实施的要点和方法,为开展军用软件系统级测试提供技术支撑。

关键词 系统级测试 测试充分性 测试方法

1 引言

随着装备向高度集成化、信息化方向的快速发展,型号软件体系架构日趋复杂,软件规模呈指数级增长, 软件密集型特征日益凸显。虽然型号软件按标准开展了软件单元测试、软件集成测试、软件配置项测试、第三方测试,但还是存在需要各个分系统配合才能完成的任务、配置项测试环境和实装环境存在差异性等因素导致配置项测试难以暴露的问题。软件系统级测试是在真实系统工作环境或系统仿真测试环境下检验被测软件系统是否满足研制总要求/软件总体方案及分系统软件总体方案所规定的技术要求而实施的一系列测试活动。软件系统级测试对是系统所包含的所有被测软件,包括特定研制的系统软件、应用软件、支持软件的软件集合体。软件系统级测试是软件配置项测试的必要补充,是发现配置项之间工作不协调等系统级深层次复杂问题的有效手段。

2 软件系统级测试存在的问题和难点

型号软件系统级测试在实施过程中主要面临如下问题和难点:由于武器装备中软件数量众多、软件规模大,依据文件种类、内容繁多,文档的描述应该覆盖哪些内容、哪个层次就是完备的缺乏技术标准指导;由于软件系统的多元性、相关性和整体性,软件系统级测试充分性的度量和评价困难;软件系统级测试严重依赖系统专用硬件环境,系统层面的数据传输异常用例难以施加,缺乏行之有效的测试手段,测试效率和覆盖性难以保证;软件系统级接口数据类型多,参数交联复杂,各种数据组合难以遍历。

3 软件系统级测试方法

软件系统级测试的方法包括静态测试、动态测试。

3.1 静态测试

为弥补软件系统级测试缺乏有效动态测试环境。可依据系统/分系统规格说明、接口需求规格说明、接口协议等文件,以系统/分系统为范围对所含软件进行文档审查、实施接口审查、安全性审查、时序审查、作战流程审查等专项审查。静态测试可以在不依赖系统硬件环境条件下,有效发现系统需求分解、指标分解、接口协议理解不一致问题。

文档审查主要对系统/分系统规格说明、接口需求规格说明、系统/分系统设计说明等软件系统文档编写规范性、内容完整性、描述准确性、之间一致性进行审查;接口审查主要对通信时序的匹配性、数据收发方的数据处理能力设计匹配性、周期性外部输入异常数据保护处理、接收数据有效性验、数据接收方与数据发送方的数据传输协调一致性、接口通讯读写冲突保护有效性等接口设计进行审查;安全性审查主要对可能引起任务失败的软件系统级失效模式、失效原因、失效影响的分析全面性、软件失效防范措施的有效性进行审查;作战流程审查主要依据研制总要求/软件总体方案及分系统软件总体方案、系统/分系统规格说明,分析出系统软件需求完成的战技指标,针对指标和作战过程,构建测试场景,绘制作战过程数据流,考核系统/分系统软件的实现情况。

3.2 动态测试

动态测试一般包括功能测试、性能测试、接口测试、强度测试、余量测试、人机交互界面测试、安全性测试、恢复性测试、边界测试、数据处理测试、容量测试等,具体可以根据被测软件系统的特点进行裁剪。软件系统级测试应基于作战使命、典型应用场景、作战流程覆盖和控制流程覆盖开展测试用例设计。软件系统级测试用例的设计应侧重于考核系统/分系统内被测软件之间能否协调正确工作。

动态测试应重点关注系统/分系统内部各软件配置项的功能实现正确性、逻辑正确性以及各配置项间的功能协调性,并依据系统要求对系统各功能或作战过程进行组合测试;性能测试应在边界状态、异常状态或在人为设定状态的运行条件下,并结合典型作战任务流程、典型作战场景、任务强度等情况,测试系统的性能;接口测试除对接口输入输出信息内容和时间特性的正确性进行验证外,还应进行接口异常模式的容错性验证,并结合系统功能流程或作战过程覆盖系统软件的所有正常/异常设计路径;强度测试重点应对正常完成一次后待机工作、间歇式工作、装备满负载工作、满周期工作等内容进行相应时间强度测试,应覆盖系统功能和性能的降级情况;边界测试应重点对经过多个配置项软件处理的数据边界或端点进行测试,并覆盖状态边界、功能边界、性能边界、容量边界的边界或端点;安全性测试重点对软件故障模式、可靠性安全性设计准则的实现情况、重要数据的安全性保护能力进行测试,并覆盖硬件、软件、操作、输入等异常情况。

4 软件系统级测试环境构建

构建合理有效的软件系统级测试环境是保证软件系统级测试效率和充分性的必要条件。目前,软件系统级测试环境主要分为实装测试环境、半实物仿真测试环境、全数字仿真测试环境。实装测试环境存在异常测试用例难以实施、测试资源有限(与其他系统试验存在资源使用冲突)等问题,难以保证软件系统级测试的有效实施。半实物仿真测试环境一般由目标机、实时仿真机组成,具有测试真实性高、测试可控性高、支持注入部分故障测试等优点。全数字仿真测试环境全数字仿真器组成的纯数字硬件环境模型,具有试验安全可靠、测试可重复、支持故障注入等优点。借助虚拟化技术构建通用、高可控的全数字仿真测试环境是解决目前软件系统级测试手段缺乏的最有效途径之一。在实际的软件系统级测试实施时,应分析实装测试环境、半实物仿真测试环境、全数字仿真测试环境的差异,对系统级测试内容进行分级分类,明确不同测试用例施加的测试环境,优先使用数字仿真测试环境,充分发挥数字仿真测试环境灵活高效的优势,提高软件系统测试效率和质量。

5 软件系统级测试充分性评价

目前,装备安全关键软件强制要求的测试充分性指标包括语句覆盖、分支覆盖、MC/DC覆盖,但都是针对程序代码的,不适用于系统测试。软件系统级测试充分性应按照对研制总要求、软件总体方案、系统规格说明中需求覆盖结合测试类型的覆盖性要求进行评价。根据软件系统特点选取的测试类型进行测试覆盖,确实因测试环境条件限制无法开展验证的系统需求,应采用静态审查方法进行分析。因武器装备多元性、相关性、和整体性特点,系统需求覆盖充分性度量与评价非常困难。软件系统测试重点是要测试软件系统的行为特性是否满足系统要求。系统的行为特性可以用系统特征状态进行刻画。因此,通过系统特征状态的验证可以覆盖系统需求,系统特征状态覆盖率可以用于有效度量系统测试的覆盖情况。

基于系统特征状态覆盖率测试首先通过对系统应用层协议进行建模与量化分析,形成系统的特征状态描述集;其次,对系统的特征给出权重定义;再次,实施系统测试验证,采集测试数据;对采集测试数据进行分析,统计关键特征状态累计覆盖率。对于复杂的软件系统,不能一次达到系统特征状态覆盖率100%,可以根据试验目的和资源情况,分阶段累计达到。

6 结束语

本文从系统级测试类型、系统级测试环境构建、系统级测试充分性评价等方面提出系统级测试实施的要点和方法,为软件系统级测试更好兼顾效率和成本进行了探索,为开展型号软件系统级测试提供技术支撑。

参考文献

[1] GJB/Z 141-2004 军用软件测试指南[S].中国人民解放军总装备部.

[2] 石君友、王璐、李海伟等.基于设计特性覆盖的测试性定量分析方法[J].系统工程与电子技术,2012(2):418-423.