王山虎 陈福 宁慧君
摘要:针对航空电子系统结构综合化、硬件共享化、功能软件化引发软件规模、复杂度指数级上升的趋势,软件测试迎来了新的的困难和挑战。从测试环境和测试流程方面,针对机电管理系统测试,重点说明了测试环境组成、运转过程、测试的输入输出数据、测试模型的开发等,为机载大规模复杂软件测试验证提供了解决方案,提高软件的可靠性。
关键词:航空电子软件功能化机载大规模测试模型
引言
随着科学技术的发展,航空电子系统经历了分立式航空电子系统、联合式航空电子系统到综合化航空电子系统的发展过程,而现在又朝着硬件结构综合化、功能软件化、采用高速总线网络的方向发展。目前国内飞机机电管理系统综合化程度越来越高,软件规模也越来越大,国内某大型飞机机电综合管理系统软件规模达百万行,如此大规模软件,对软件测试平台的搭建提出了更高的要求。
1测试环境概述
1.1测试环境特征
机载软件的测试环境包括软件运行环境和测试工具环境。测试工具一般要求是经过鉴定的工具欺件测试环境应具有可控性和真实性的特征。外围部分为仿真或模拟环境,则可控性很好但是真实性不够;若外围部分都是真实环境,则可控性不够。一般测试级别(单元测试、部件测试、配置项测试和系统测试)越低,环境要求越可控,测试方法也越简单,测试结果易于获得;测试级别越高,环境要求越真实,便于从整体发现软件缺陷。
嵌入式软件的测试环境一般分为全数字仿真环境、半实物仿真环境、全实物测试环境三种。测试环境需要符合软件研制总要求、软件开发文档等要求,同时能满足多样性测试的要求。比如故障模式、异常状态、强度或降级状态的模拟等,要求测试环境的可控性较高;而性能、接口等测试又要求测试环境更加真实。必要时,测试某个软件可以建立多个测试环境。
针对机载系统大规模的软件,需要搭建一套完整的软件测试环境,它是测试所需的一组自动工具、固件和硬件的集合,典型组成见图1。
1.2测试环境要求
针对大规模机电综合管理系统软件,应用软件通常在几个分区内运行。重点需要验证平台和应用的功能、性能和安全性等,相关测试工作大致可以与传统测试级别中的配置项级和系统级测试相对应。因此,除了满足一般嵌入式软件测试环境要求外,机载大规模软件测试环境还需满足如下要求:
a足够多的硬件接口,能够与机电管理计算机数量众多的外部接口互联,接口类型包括:AF DX(或1394、FC等)、ARINC429、CAN、RS422、离散量输入输出、模拟量输入输出以及一些特殊I/O接口,为此,需要大量接口板卡和相应驱动程序。
b具备灵活的配置能力,能够支持软件在不同阶段和不同配置下的测试。
c具备动态扩展能力,能够根据被测软件和目标机的要求,方便地扩展测试环境的规模,应对功能软件化的新需求。
2测试流程及内容
机电综合管理系统软件测试,由其系统结构决定,一般采取自底向上增量式集成测试的策略,分别是平台测试、应用测试、系统测试、多系统集成测试、全系统集成测试、地面测试及试飞等步骤,详见下图2。
2.1平台测试
平台测试主要包括操作系统测试、操作系统与硬件集成测试、平台配置测试等。
操作系统测试主要按照操作系统软件级别要求开展操作系统的单元测试、部件测试、配置项测试,以及标准(比如:ARIlxlC653)符合性测试和健壮性测试。
操作系统与硬件集成测试主要将操作系统加载至机电管理系统的硬件平台,测试操作系统的功能及性能。典型的功能测试包括:分区管理、进程管理、时间管理、缓冲管理、分区间通信管理、共享数据区管理等;典型的性能测试包括:引导时间、分区/进程上下文切换时间、中断/异常响应时间、接口性能测试和最大能力测试等。
平台配置测试在系统最终配置下进行。最终配置由各个分区应用的局部配置和操作系统的全局配置组成,填写在操作系统的配置表中,主要内容包括:分区数量、主帧时间长度、分区间通信使用的采样/队列通道号、分区内通信使用的缓冲/信号量/事件的数量、异常和中断挂接的处理程序、看门狗持续时间等。平台测试环境示意图如图3所示。
2.2应用软件测试
应用测试主要在最终应用配置情况下,测试加载于平台分区中的应用;主要包括应用模块测试、应用模块集成测试及应用与硬件集成测试。
模块测试主要对应用模块软件执行单元测试、部件测试。模块集成测试主要对应用进行配置项测试及系统测试。应用与硬件集成测试,主要在硬件平台上进一步测试应用的功能、性能等指标。应用测试如下图4所示。
2.3系统测试
在系统测试阶段开始时,必须保证每個已测应用的配置与先前进行应用测试时所用配置相同。测试内容包括:资源管理和共享资源分配、健康监控、故障管理、系统负载、应用和分区之间互动关系是否合适且受到控制、对数据总线和I/O消息的使用是否正确等。
3结语
对着机电系统综合化程度越来越高,机载软件的规模和复杂度呈观出指数级的增长,为了适应现代飞机功能软件化的要求,机载软件传统的研制过程和方法需要不断的变革、完善,软件测试做为软件开发过程中的重要一环,需要紧跟时代步伐,不断完善软件测试环境、提升软件测试验证技术。
参考文献
[1]洪沛,康介祥,机载软件自动测试系统的设计与实现[J],测控技术2014(07)
[2]敏刚,封演利,张蕾,秦浩·一种航空机载软件测试项目的进度改进模型[J].电子测试,2017(12)
[3]ARINC653, Avionics Application Software Standard Interface[S].2006