结合RTCA/DO-254以及机载应用电子硬件适航符合性验证过程中的工程经验,提出了一套完整的民用飞机机载电子硬件测试策略。
0 引言
机载电子硬件是指安装在民用飞机上的客户化的可编程器件,如ASIC、PLD或FPGA等,在民用航空领域其具有广泛的应用。2005年,美国联邦航空局FAA正式将RTCA/DO-254作为民用航空飞机机载电子硬件的符合性方法。
测试过程用于发现设计中的错误或缺陷,因此它是机载电子硬件生命周期过程中的一个重要环节。但是该过程在民用飞机的合格审定过程中,却面临着两个问题。一是DO-254针对测试过程的描述过于宽泛,没有将其与具体的硬件测试活动相结合起来,对具体的工程项目没有实际的指导意义。二是当前各合格审定当局并未制定统一的机载电子硬件测试接受准则。因此,制定一套可操作和可接受的机载电子硬件测试策略,是当前机载电子硬件合格审定过程中一个亟需解决的问题。
1 机载电子硬件的分类
有别于在工业界通用的定义和分类,机载电子硬件在民用航空领域,分为简单电子硬件(以下称SEH)和复杂电子硬件(以下称CEH)。
SEH是指能够在一个适当硬件层级,通过充分组合的确定性测试和分析,即可确保在所有可预见的运行条件下执行正确的功能并无异常表现的机载电子硬件。
CEH是指不能被分类为SEH的机载电子硬件。对于此类电子硬件,在其开发和设计过程中要遵循DO-254中所定义的设计保证过程,测试正是该设计保证过程中的一个重要环节。
2 机载电子硬件的测试策略
2.1 机载电子硬件测试流程概述
工业界通用的电子硬件设计流程通常包括需求/功能定义、设计输入、功能仿真、综合优化、综合后仿真、布局布线、时序仿真、板级测试以及最终的调试。该流程同样适用于机载电子硬件,但因民用飞机存在一定的特殊性,需要在以下几个方面额外进行考虑。
(1)独立性要求:测试活动必须要满足独立性的要求,即测试人员与开发人员不能为同一人;
(2)测试用例的编写:所有的测试用例必须是基于需求的;
(3)工具的使用:对于在测试活动中用到的工具,如果没有对工具的输出进行独立的评审,则需要对该工具进行鉴定;
(4)数据的可追溯性:需求、代码、测试程序以及测试结果之间要保证可追溯性;
(5)数据的有效性:在向合格审定当局表明符合性时,功能性仿真以及综合后仿真由于不能够完整的考虑到时序的问题,因此其数据不能作为符合性数据。只有时序仿真以及更高层级的目标机测试的数据才能用来表明适航符合性。
结合机载电子硬件的测试过程以及第2章中的分类,分别给出不同类别机载电子硬件的测试策略及要求。
2.2 简单电子硬件的测试策略
根据SEH的定义主要从两个方面考虑对其进行测试。一是完备的充分组合的确定性测试和分析,这是一种类似于穷尽测试的方法,需要通过对硬件运行中各种情况进行充分考虑和验证,从而保证硬件设计的正确性。二是适合设计保证等级的测试和分析,这意味着针对不同设计保证等级的SEH,其测试和分析的要求会存在不同(E级别电子硬件由于不会对飞机安全性产生影响,因此可不做要求)。基于这两个方面,并参考FAA及EASA在此方面的指南,对SEH测试策略进行以下分析和讨论。
2.2.1 D级别SEH测试策略
设计保证等级为D级别的SEH,需要通过测试表明其对需求的符合性。该方法在本质上是功能测试,测试人员需要通过实施基于需求的测试,来最终表明SEH所有需求均已得到满足。
2.2.2 C级别SEH测试策略
在满足D级别SEH要求的基础上,对于设计保证等级为C的SEH,还需在管脚级做充分的测试和分析。该方法要求充分考虑输入管脚状态的所有可能情况,也即管脚级的穷尽测试。如一个具有6个输入管脚的C级别SEH,其管脚级充分测试的用例数目为26=64个。
2.2.3 A/B级别SEH测试策略
在满足C级别SEH要求的基础上,对于设计保证等级为A/B的SEH,还需要深入SEH的内部,进行基于器件内部各逻辑门的确定性测试和分析。该方法需要充分考虑机载电子硬件的特性及内部数据间的传输等问题。具体的需要从以下3个方面进行考虑。
(1)单个逻辑门方面:对于单个的逻辑运算门,如与门、或门等,需要保证在不同排列组合输入的情况下,其输出均是正确的。如一个3输入单输出的与门,需要23=8个测试用例,能够完成该单个逻辑门的完整测试。
(2)状态机方面:对于包含有一个或者多个状态机的SEH,测试要覆盖到所有可能的状态及状态的组合。如图1所示的状态机,在测试的时候,要保证能够覆盖到S1-S2-S3-S4-S7以及S1-S2-S5-S6-S7中所有的状态。
(3)数据的并行处理:在机载电子硬件中,多个独立的数据流可能会在某个时间通过共享资源、仲裁及相互影响的状态机等方式,产生数据的并行处理问题。在测试的过程中,要保证测试能够覆盖到所有可能的并行条件。
2.2.4 SEH测试策略总结
综上所述,可以得出SEH的测试策略,具体如下表1所示:
2.3 复杂电子硬件的测试策略
在民用飞机上大量使用的CEH,由于其逻辑的复杂性,不能像SEH一样通过确定性的测试和分析的方法,来保证其设计正确性。因此对于CEH的测试策略,将基于尽可能发现设计中错误这一原则进行考虑。
针对CEH的测试,DO-254中提出了要进行基于需求的测试,对于设计保证等级为A/B级别的CEH,需要额外考虑高级的验证方法,如元素分析法、形式化方法等。但是对于具体的测试方法和准则,DO-254中并没有给出明确的说明。结合在实际工程实践中的经验,从以下几个方面对CEH的测试进行阐述。
2.3.1 复杂电子硬件的功能测试
对于CEH,首先要进行基于需求的功能性测试,从而保证其功能的正确性。
2.3.2 复杂电子硬件的代码覆盖率分析
对于设计保证等级为A/B/C级别的CEH,除了进行功能性测试,保证功能的正确性之外,还必须要对代码进行分析,从而保证代码的正确性,因此必要的代码覆盖率分析是必不可少的。DO-254附录B中提出的元素分析法,其本质就是基于代码覆盖率所进行的一种分析方法。对于代码覆盖率分析的准则,当前在民用航空领域并没有一个统一的接受准则,结合以往项目的经验,给出如下表2的建议接受准则。
表2 CEH代码覆盖率接受准则
2.4 其它考虑
上述对于SEH和CEH测试策略的讨论,都是基于正常条件范围内的测试考虑的。在实际的测试中,还要考虑到设计的健壮性,因此需要对设计进行必要的边界条件测试,以验证硬件在边界条件下可否正常工作。
对于个别在低层级不能测试到的需求,可以放在更高层级进行测试或分析。但是无论是在哪个层级,最终必须保证对需求的全覆盖。
3 结论
机载电子硬件的测试过程中包含有多种方法和策略,但是当前各合格审定当局并没有统一的机载电子硬件测试接受准则。本文所提出测试策略,可以有力的推动我国民用飞机机载电子硬件的合格审定工作。
作者:张杨 居慧 廖凯 来源:科技视界 2015年27期