波音再次陷入事故危机:软件测试走捷径,载人飞船未能先飞

2月28日,波音公司未能为美国宇航局发射载人飞船“CST-100 Starliner”的消息终于产生了真正的影响:波音公司承认失败是由于“Stariner”的软件测试不足,导致一个明显的Bug没有被检测到。 这是在737 MAX 空灾难后,对拥有100年历史和强大工程实力的航空航天巨头的最新打击。 此前,波音公司在软件设计、软件外包、研发管理方面的问题再次受到批评,这一次软件测试中的错误成为新

2月28日,波音公司未能为美国宇航局发射载人飞船“CST-100 Starliner”的消息终于产生了真正的影响:波音公司承认失败是由于“Stariner”的软件测试不足,导致一个明显的Bug没有被检测到。

这是在737 MAX 空灾难后,对拥有100年历史和强大工程实力的航空航天巨头的最新打击。

此前,波音公司在软件设计、软件外包、研发管理方面的问题再次受到批评,这一次软件测试中的错误成为新的焦点。

备受期待的飞行。

北京时间12月20日晚19时36分,波音新一代载人飞船“星际客机”从卡纳维拉尔角起飞,执行该飞船的首次飞行试验任务。根据计划,宇宙飞船将在这次无人驾驶测试飞行中与国际空间站对接,向宇航员赠送圣诞礼物。

火箭发射正常,航天器按计划进入远地点为192公里、近地点为77公里的亚轨道。

然而,就在它与火箭分离后,“星际客机”飞船上的一个关键装置发生了异常。我们可以简单地将其理解为航天器的时钟误差,这导致航天器误认为自己正在改变轨道以提高近地点。

在预设程序中,变轨需要非常高精度的姿态和轨道控制,因此“星际飞机”飞船的48个姿态和轨道控制推进器开始疯狂工作,在短时间内消耗大量燃料。

在下面直播的截图中,我们可以清楚地看到飞船的几个推进器正在工作。

(任务控制中心的实时屏幕截图)

在发现异常后,任务控制器试图在第一时间向航天器注入正确的指令,以手动消除影响,但不幸的是,当时航天器处于两颗TDRS中继卫星的覆盖切换区域,因此指令没有成功注入。

由于燃料消耗过多,与国际空间站的对接试验不得不取消,原定于12月28日返回的宇宙飞船不得不于12月22日返回地球。

(机组人员正在回收星际飞机飞船)

最终,国际空间站的宇航员没有等到2019年的圣诞礼物,“星际飞机”也在北京时间12月22日20: 58降落在著名的白沙导弹靶场。

小定时器会引起大问题

在随后的新闻发布会上,美国宇航局局长布里登·斯汀得出结论,原来的航天器将通过“进入轨道点火”来改变其轨道,以满足空站。然而,用于控制航天器活动的自动计时器计算错误,导致航天器过早消耗过多燃料。地面控制中心曾试图发布一个命令来覆盖计时器程序,但由于另一次通信延迟,该命令未能跟上燃料消耗率,与空站的对接任务搁浅。

波音公司太平洋空发射部门的高级副总裁奇尔顿表示,问题在于软件,而不是飞船本身,飞船的推进、导航和生命支持系统照常运行。

虽然这次任务从隔热屏到环境控制再到着陆进行得很顺利,但是这次任务的失败是由这个小计时系统的问题造成的。在实验室测试软件的过程中,工作人员主要关心的是确保载人飞船和运载火箭能够正确通信。测试小组证明了没有通信问题,但是他们走了一条捷径,所以他们从来没有发现载人飞船读错时间的问题。

奇尔顿说,公司将集中精力寻找“失败的根本原因”,但他说,“我们不知道为什么计时器是错误的。该公司一直在寻找软件编码问题,但我们还没有找到问题所在。”

软件测试不能走捷径

为了解开这个谜团,波音和美国宇航局在去年12月底组织了一个独立的调查小组来分析故障原因,并在2月中旬发布了一份调查报告。

该报告显示,航天器和火箭助推器之间存在时间偏差,航天器的飞行时间计时器提前轮询火箭助推器的时间,从而造成了错误的时间和进入错误的轨道。在发现这个问题后,波音公司继续寻找其他可能未被发现的问题。他们很快发现了第二个Bug,这可能导致在将服务舱和乘员舱分开时错误的推进器被启动。

这些明显的错误可以提前“测试”。所以调查小组检查了测试过程,发现测试人员走了一条缩短测试时间的捷径。他们将整个飞行过程分成几个小单元进行测试,但最终没有进行完整的端到端集成测试。换句话说,没有持续25小时的全面测试。

美国宇航局载人航天行动负责人道格·洛夫罗(Doug Lovro)表示,波音的问题是“根本性的”和普遍的“软件过程故障”。波音公司对这种软件的质量控制仍然不知道系统中会存在多少漏洞,“只有这两个还是几百个?”

波音公司表示将重新检查代码,这涉及一百万行代码。波音公司官员表示,不清楚审查需要多长时间。

波音的血液课程

星际载人飞船的失败恰逢波音公司100多年历史中最黑暗的时期。波音公司一直被空事故丑闻所困扰。2018年10月,一架狮航波音737 MAX坠毁,造成189人死亡。几个月后,一架埃塞俄比亚波音737 MAX也坠毁,机上157人遇难。目前,波音737 MAX仍处于停飞状态。

回顾波音737MAX的两次致命飞行,自动控制机头的自动失速修正系统MCAS受到了最大的批评。

波音公司前高级软件工程师马克·拉宾(Mark Rabin)认为,最重要的原因之一是软件外包,这是由波音公司削减高级研发以削减成本造成的。

彭博在一份报告中指出,波音737 MAX将软件系统外包给了印度外包公司HCL和Cyient的软件工程师。与美国全职软件工程师每小时35到40美元的工资相比,印度外包只需要9美元。此外,波音的分包商和供应商也选择将项目外包给印度,以降低成本并确保最大收益。

波音公司在2010年发布了1000份裁员通知,其中大部分是在信息技术部门。该公司有158,500名员工,包括18,000名工程师和技术员,但他们计划裁员10,000人。一位前波音软件工程师在2015年表示,该公司将削减90%的熟练员工,并以“外包”来取代他们,以降低成本。

软件外包是一个需要雇主和承包商高度合作的过程。服务周期长、可变因素多,使得公司在软件外包过程中面临巨大风险。波音公司计划将其787飞机的70%外包出去,最终将交付时间推迟了三年。“我们同时在技术、工具和供应链方面做了太多的改变,这超出了我们的管理能力,”波音表示。

与此同时,波音的组织结构也存在很大问题。在波音公司,高级工程师主要向各类飞机的业务主管汇报,然后在技术方面向总工程师汇报。这种模式造成的问题是,一旦工程师发现问题,因为这可能会导致飞机的研发进度落后,他们通常会首先面临高级主管的压力,他们的工作是确保在最后期限前完成任务。

从民用到航空空,软件测试有多重要?

波音公司发言人戈登·德罗(Gordon Johndroe)在一封电子邮件中表示,“星际飞机”载人飞船的失败与两架致命的波音737 MAX坠毁之间“没有直接的比较”。德罗说,“鉴于任务要求和条件的特殊性”,空间软件开发“使用不同的方法和人员”

然而,AirSafe.com航空公司安全网站的安全分析师、前波音工程师托德·柯蒂斯(Todd Curtis)表示,人们肯定会质疑波音的各个部门是否可以共享设计、测试和评估方法,从而在不同的软件中引发同样的问题。

柯蒂斯说:“虽然它们是由不同的部门开发的,但它们属于同一个公司。公司的部分资产可以用在完全不同的地方。”他回忆说,当他在波音公司的商用飞机部门工作时,他有时被要求帮助解决军用航空空部门的问题。

"公司的不同部门可以共享文档、流程、员工或其他资源."柯蒂斯说,“虽然这是太空领域中的一个事件,但737最大值问题一直在人们的记忆中。”

罗兰·汤普森是波音公司及其一些竞争对手的国防分析师,他认为波音737 MAX的问题将不可避免地影响到波音的其他业务。

显然,波音公司需要一个更加稳健和标准化的软件测试流程,以及一个更好的软件测试团队,以避免更严重的飞行事故。

更多关注微信:xllx999

CopyRight 2002-2017 闻蜂网