51Testing软件测试论坛

标题: 波音737MAX飞机坠机事件对嵌入式软件测试的启示 [打印本页]

作者: lxyzyz    时间: 2019-3-14 21:18
标题: 波音737MAX飞机坠机事件对嵌入式软件测试的启示
波音737MAX飞机坠机事件对嵌入式软件测试的启示
2018年10月29日印尼狮子航空一架737MAX8客机起飞13分钟就坠毁,机上189人全数罹难。2019年3月10日埃塞俄比亚航空一架737MAX8客机坠毁,机上157人全数罹难。两起坠机事件共造成了346人死亡和重大财产损失,以至于全世界都停飞这一机型飞机。
坠毁原因虽至今未正式公布,但整理各种媒体消息得出原因:由于飞机高迎角传感器(AOA)将错误的数据输入给了MCAS系统, MCAS系统误认为飞机处于失速状态,从而引起错误的机头降低指令,使得驾驶员难以判断和控制飞机状态造成的。
MCAS操纵辅助系统全称为maneuvering characteristicsaugmentation system,翻译过来就是机动特性增强系统,简单解释就是让飞机在高迎角进入失速坠毁的时候自动压低机头,改出失速状态,从而拯救飞机。MCAS设计的目的是为了加强在高马赫和高迎角条件下的速度稳定性。MCAS只在人工操作模式下起左右。
MCAS系统启动的触发:飞机迎角传感器(AOA)是当前飞机的迎角数据,MCAS系统根据当前飞机高度和速度计算出临界失速迎角数据。当飞机当前的迎角数据值大于界失速迎角数据值,就触发MCAS系统工作,即自动压低机头。
波音737MAX上的MCAS系统怎么造成事故的呢?飞行员干什么去呢?MCAS系统启动后,MCAS系统也可能导致飞机急剧下降时间长达10秒。飞行员在这段时间内难以控制飞机,就算飞行员手动拉起机头,5秒钟后机头又会自动重复下降过程。这就表明,在失事飞机俯冲下降时,即使是在飞行员手动飞行模式,飞机的防失速系统仍然处于激活状态,事故发生时,飞行员应该没有获得飞机的完全控制权。
737MAX飞机检测迎角依靠机头两侧2个迎角传感器,但是这一套系统做的很滑稽,两个迎角传感器信号之间没有交叉可行性检测,任意一个个迎角传感器出问题就能造成系统抽风,飞机自动压机头保命。
第二起坠机事件后,波音在官网声明称,在印尼狮航737MAX飞机失事后的这几个月内,波音公司一直在为737 MAX开发一款升级版的飞行控制软件,旨在使已经安全的飞机更加安全。这包括更新机动特性升级系统(MCAS)飞行控制律、飞行员演示、操作手册和机组人员培训。升级的飞行控制律包含迎角(AOA)输入,限制稳定器调整命令去响应错误的迎角读数,并限制稳定器命令以保留升降舵权限。
飞机上的各种系统核心都是嵌入式系统,其处理器上运行各种开发好的软件。对于软件测试人员,这两起巨大的灾难软件测试工作很多的启示。
软件测试三点启示:
1.  重视传感器信号的仿真测试
仿真被测件软件的各种外部信号,包括传感器信号。用例设计按边界值、等价类、猜错法等黑盒测试方法。这属于系统测试。测试用例设计虽说越多越好,但也无法保证还原所有的真实情况。有效值、无效值和边界值一般都会得到测试。象猜错法并没有明确规定哪些用例,需要根据经验,一般包括数据异常、时序异常、逻辑异常、状态异常、故障异常等情况来设计用例。
2.  软件设计缺陷测试
MCAS软件设计缺陷:属于系统测试的范畴。系统自从出现坠机事件起,就一直存在巨大的争议。有说MCAS系统设计出来就是为了弥补737设计升级后容易失速的缺陷。MCAS系统出问题是不容争议的事实。其软件没有分出错误的迎角传感器信号,出问题后MCAS系统自动控制飞机,使飞行员难以控制。系统测试需要模拟这样场景,测试出软件设计缺陷;这样测试很难,需要专业的设计技术人员指导。
3.  操作手册不规范
操作手册与软件实际功能不一致。这属于软件配置项测试的范畴。波音先前的操作手册没有公开737 MAX机型飞机新增了自动失速保护系统这一重要信息,失事狮航飞机的操作手册中并未对可能导致飞机俯冲的关键功能进行警告。由于飞机自动失速保护系统对飞行安全非常重要,波音有义务向维护人员提供完整的故障检测方法、设备,并为飞行员、维修人员提供明确告警提示和维修操作指引。在事先不知情的情况下,缺少详细操作指引的维护人员很难检测出飞机故障的真正原因。
通用嵌入式系统软件测试平台:ETest
最后推荐一款通用嵌入式系统软件测试平台:ETest。它是一款针对嵌入式系统软件的黑盒半实物仿真测试平台。可仿真飞机各种接口信号如1553B、FC-AE、429、422/232,CAN,AD/DA/DI/DO等。
嵌入式系统测试平台集成开发环境(Embedded System Test Platform Development Studio,简称:ETest Studio)是一款用于嵌入式系统测试工装(测试设备)研发与部署的集成开发工具。ETest Studio具有接口种类全、开发效率高、使用简单、可扩展性强、国产自主可控、应用范围广等特点,可广泛应用于航空航天、武器装备、工业控制、汽车电子、仪器仪表等各行业。
                              
仿真测试环境建模

ETest主要功能:
ETest Studio包括测试设计软件模块、测试执行服务软件模块、测试执行客户端软件模块、设备资源管理软件模块以及测试辅助软件工具包等。主要功能有:
l 提供涵盖测试资源管理、测试环境描述、接口协议定义、测试用例设计、测试执行监控、测试任务管理等功能为一体的测试软件集成开发环境;
l 提供各类控制总线和仪器接口API,支持的I/O类型包括:RS232/422/485、1553B、CAN、TCP、UDP、AD、DA、DI、DO、ARINC429等,可灵活扩展;
l 支持对待测系统及其外围环境、接口情况等进行可视化仿真建模设计;
l 提供接口协议描述语言(DPD语言)及其编辑编译环境;
l 可通过表格、仪表、曲线图、状态灯等虚拟仪表实时监测接口数据;
l 可按二进制、十进制、十六进制监测输入与输出的原始报文并查询过滤;
l 提供灵活快捷的测试用例脚本编辑与开发环境;
l 测试脚本支持时序测试和多任务实时测试;
l 具有可自动生成满足不同组合覆盖要求测试数据的功能;
l 实时记录加时间戳的测试数据并支持测试数据的管理与统计分析;
l 提供Matlab/Simulink集成接口,可实现现有仿真模型的开发和利用,支持仿真模型实时代码的生成和运行;
l 提供实时内核模块,可实现高可靠性强实时测试,响应时间<=1ms,同步传送和抖动时间小于10us。上位机和下位机分别采用Windows和实时操作系统。
通信协议编辑

测试实施与监控






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2