AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

NASA 是如何测试航天飞机和猎户座 MPCV 的软件的

  • 2025-08-18
    北京
  • 本文字数:1671 字

    阅读完需:约 5 分钟

大小:824.28K时长:04:41
NASA是如何测试航天飞机和猎户座MPCV的软件的

美国国家航空航天局(NASA)通过使用多重测试级别、独立验证、标准化、安全社区和工具来确保安全性。Darrel Raines 在NDC Tech Town上就航天飞机和猎户座多用途载人飞船(Orion MPCV)的软件开发和测试发表了演讲。他解释了他们是如何从失败和接近失误中进行学习,并不断改进其流程的。

 

与航天飞机时代的初期相比,软件开发领域已经有了很大的差异,因为我们现在拥有各种各样的工具,Darrel Raines 在“从航天飞机和猎户座多用途载人飞船的嵌入式软件开发中学习”的演进中这样说到。

 

Raines 说,各种级别的测试有助于确保软件开发的安全性。在软件被认为适合飞行之前,程序需要进行 4 到 7 个级别的测试,每个级别都依赖不同的人或团队来执行。程序有一个独立的验证和校验小组,他们会执行他们认为必要的任意测试以确保软件的安全性。这种多样化的人员参与测试有助于带来新的视野以及与原始开发者不同的视角。

 

Raines 提到,NASA 及其承包商都有一个安全社区。还有一个 NASA 软件质量保证(Software Quality Assurance,SQA)团队,通常还会有一个合作伙伴承包商 SQA 团队:

这些团队被要求监督软件开发的过程,并指出软件中的实际和潜在缺陷。他们还负责确保整体软件质量。他们关注软件的关键安全功能。

 

Raines 说,有了所有这些检查之后,我们开始感觉到有了足够的制衡措施来生产安全的软件。他补充说,即便如此,我们仍在不断重新评估我们的安全立场,并寻求改进。

 

Raines 解释说,NASA 的软件开发团队选择使测试更容易而不降低测试真实性的工具:

我们使用了涵盖电路内仿真器到独立测试环境的所有工具。目标是使用多样化的工具来发现所有可能的潜在错误,让每个工具的优势在发现缺陷中发挥作用。

 

Raines 说,NASA 有软件开发的标准,合同对特定设备有额外的要求。NPR 7150.2 要求所有测试都进行单元测试以衡量多重条件/决策覆盖率(MC/DC)。只要单元测试专注于展示所有功能,就有助于确保软件的质量。

 

Raines 提到,他们不能找到代码中的所有缺陷,但必须进行尝试。“我们越寻找,就会发现越多”。因此,必须在开发期间留出足够的时间进行充分的测试。

 

Raines 说,工程学这门科学尚未达到它理应要求的标准。软件开发是一门相对较新的学科,他解释道:

当我在大学时,甚至没有软件工程学位。因此,我们必须不断质疑我们所“知道”的,并尝试提高我们对这一领域的知识。

 

InfoQ 采访了 Darrel Raines,讨论了衡量软件测试和学习的问题。

InfoQ:你如何衡量软件测试的有效性?

Darrel Raines:一项基于 30 年航天飞机软件开发的研究显示,每个测试级别发现的剩余缺陷百分比与其他级别相同。因此,我们可以推断,我们进行的测试越多,我们发现的缺陷就会越多。回报会呈现出递减的趋势,但它是一种减少软件错误数量的有效方法。

 

InfoQ:你如何分析灾难和接近失误?

Raines:我们对每个案例都进行非常深入的分析。当我们失去一个航天器时,就像我们失去挑战者号和哥伦比亚号那样,我们会暂停该项目,直到这些问题的根本原因得到解释和修复。这是非常耗时的。但我们想要把事情做对。

 

当我们看到像挑战者号这样的事故时,它对团队成员的心理会造成很大的影响。我们会继续问自己,“我个人能做些什么来阻止这种情况发生?”当我们最终恢复前进的能力时,我们会带着我们在软件开发中犯的错误可能会导致某人失去亲人的警醒。需要有一种特殊类型的人来承受这种可能性,并且仍然能够在他们的工作中取得进步。

 

InfoQ:你如何从每个案例中学习?

Raines: 我们会记录灾难调查的结果。我每年都会接受过去失败和如何避免它们的培训。这是我们安全遗产的一部分,我们意识到我们必须执行我们的使命,尽管这非常困难。这种培训和 NASA 对安全的重视给了我做好工作的正确工具,我只需要执行即可。

 

我必须继续学习。我每年都会挑战自己去尝试不同的事情,做不同的事情,改进我所做的事情,并对我的学科了解得更多。当我学到新东西时,我会与我周围的人分享我的发现。这意味着我也必须倾听我的同事的发现。尽管我现在知道很多,但还有更多要去学习。

 

原文链接:

How NASA Tests Their Software for the Space Shuttle and the Orion MPCV

2025-08-18 14:151

评论

发布
暂无评论
NASA是如何测试航天飞机和猎户座MPCV的软件的_安全_Ben Linders_InfoQ精选文章