软件测试方法和技术(第4版) 12月28日返回的飞船不得不在2019年12月22日提前返回地球。 工命系说 会 的、端到端的集成测试,即没有进行时长为25小时的整体测试。 题 段,导致火星探测飞船在试图登陆火星地面时坠毁。 1.1.5 错误指令造成骑士资本集团损失4.4亿美元 发生了配置错误。 所的一些股票飙升了300%以上。 最终,美国证券交易委员会还对骑士资本处以1200万美元的罚款,原因是它违反了多项 金融风险管理规定。 什么原因造成的呢?正常的股票交易,人们期望低价买人、高价卖出。但不幸的是,这次 部署在生产服务器上的算法正好相反一—高买低卖,以卖出价买人股票,然后立即以买入价再 次卖出,从而造成差价的损失。虽然几美分看起来不算多,但在量化交易时,即每秒执行数千 笔交易时,就是一场灾难。 造成本次事故的一个原因是DevOps团队部署了错误版本,没有部署那个关键组件的正 确版本(新版本),而是部署了一个老版本。其次,之前在其代码修改中无意地禁用了安全检 查,而安全检查本可以防止这种情况的发生。这两个问题说明研发过程中缺乏正式的代码审 查过程,缺乏适当的过程来检查是否部署了正确版本,也没有预先设定的一个國值来减少损 失,即在一定程度的亏损后停止自动交易。 1.1.6AWS岩机整整4小时 2017年3月2日,亚马逊云(AmazonS3Cloud)出现严重的岩机(中断服务)!亚马逊云 之前也出现过岩机,但一般在一个小时之内解决问题,而这次非常严重,岩机整整4小时。 在其主要服务中断大约48小时后,亚马逊终于找出造成问题的原因 仅仅做了一个错误操作,就导致互联网搞崩溃。该操作本来是使用已建立的脚本(playbook) 执行命令,以删除S3计费子系统中的少量服务器。不幸的是,命令的其中一个参数输人不正 —一位运维工程师 确,从而导致比预期更大的服务器群被删除。这个案例和1.1.5节的案例类似,但该案例是人 为错误,软件系统缺少保护。