臭名昭著的Bug们之三:NASA火星极地登陆器

1999年12月3日,NASA的火星极地登陆器试图在马丁表面着陆时消失了。失败审查委员会调查了失败并认定发生故障最可能的原因是一个数据位的未预期的设置。最令人吃惊的是为什么问题没有在内部的测试中发现。

理论上,登陆的计划是:当登录器落到火星表面,它会打开一个降落伞以减缓下降的速度。降落伞打开几秒钟后,探测器的三个腿会迅速伸展开并锁定到位,用于着陆。在探测器处于离火星表面1800米的距离时,它会释放降落伞并点火着陆推进器,慢慢下降到火星表面。

为了省钱,NASA简化了决定何时关闭推进器的机制。他们取代了用于其它航空器上的昂贵的雷达,在着陆器的腿脚上安装了便宜的触点开关,在计算机中设置一位,命令它关闭燃料。简单地说,发动机会一直运行直到着陆器的腿“触地”。

不幸的是,失败审查委员会在他们的测试中发现,在大多数情况下,着陆器的腿会迅速打开着陆,机械震动也会触动开关,设置决定性的位。非常可能的是,着陆器着陆了,计算机关闭了推进器,火星极地登陆器从1800米的高空摔到了火星表面上,成为了碎片。

结 果是灾难性的,但其背后的原因却简单。多个小组测试了登陆器。一个组测试腿的打开过程,另一个组测试那之后的着陆过程。第一个组从没有检查触地位是否设 置,那不是他们的范围;第二个组在开始测试之前,总是重置计算机,清除那一位。两个部分单独工作非常完美,但一起工作是就不同了。
这是一个测试用例的设计问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值