软件缺陷导致严重后果的典型案例
用户为了保证自己业务的顺利完成,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅度增加,还可能产生其他的责任风险,造成公司信誉下降。一些关键的应用领域(例如银行、证券交易、军事等)如果质量有问题,还可能造成灾难性的后果。
现在人们已经逐步认识到是软件中存在的错误导致了软件开发在成本、进度和质量上的失控。 由于软件是由人来完成的,所以它不可能十全十美,虽然不可能完全杜绝软件中的错误,但是可以通过软件测试等手段使程序中的错误数量尽可能少,密度尽可能小。
接下来看看成功的软件测试带来的好处和不完整的软件测试带来的教训。
● IE和Netscape
在IE 4.0的开发期间,微软为了打败Netscape而汇集了一流的开发人员和测试人员。测试人员搭建起测试环境,让IE在数台计算机上持续运行一个星期,而且要保障IE在几秒钟以内可以访问数千个网站,在无数次的试验以后,测试人员证明了IE在多次运行以后依然可以保障它的运行速度。而且,为了快速完成IE 4.0的开发,测试人员每天都要对新版本进行测试,不仅要发现问题,而且要找到问题是哪一行代码造成的,让开发人员专心于代码的编写和修改,最终IE取得了很大的成功。
● 360存在严重后果缺陷导致系统崩溃
电脑中了木马,使用360安全卫士查出一个名为Backdoor/Win32.Agent.cgg的木马,文件位置为C:\Windows\system32\shdocvw.dll。进行清理后看不到Windows任务栏和桌面图标,根本进不去桌面,手工运行Explorer.exe也是一闪就关,后来查明是由于360在处理此木马时存在严重缺陷。360安全卫士只是简单的删除了木马文件,没有进行相关的善后处理工作,致使系统关键进程Explorer.exe无法加载。
● 2009年2月份Google的Gmail故障
2009年2月份Google的Gmail故障,Gmail用户几小时不能访问邮箱,应该算是最近因软件故障而受到广泛关注的事件。据Google后称,那次故障是因数据中心之间的负载均衡软件的Bug引发的。
360问题和Gmail故障还仅是导致用户不能正常使用电脑或几个小时内无法访问邮箱,并没有造成伤亡。当然了,对某些用户来讲,是非常不便。
但看了下面的一个例子您会发现,360和Gmail的问题真是“小巫见大巫”了。
● 2011 年温州7.23 动车事故
2011年7月23日20时30分05秒,甬温线浙江省温州市境内,由北京南站开往福州站的D301次列车与杭州站开往福州南站的D3115次列车发生动车组列车追尾事故,造成40人死亡、172人受伤,中断行车32小时35分,直接经济损失19371.65万元。
上海铁路局局长安路生28日说,根据初步掌握的情况分析,“7·23”动车事故是由于温州南站信号设备在设计上存在严重缺陷,遭雷击发生故障后,导致本应显示为红灯的区间信号机错误显示为绿灯。
● 致命的辐射治疗
辐射剂量超标的事故发生在2000年的巴拿马城(巴拿马首都)。从美国Multidata公司引入的治疗规划软件,其(辐射剂量的)预设值有误。有些患者接受了超标剂量的治疗,至少有5人死亡。后续几年中,又有21人死亡,但很难确定这21人中到底有多少人是死于本身的癌症,还是辐射治疗剂量超标引发的不良后果。
● 消失在太空
在制造其火星气候轨道探测器时,一个NASA的工程小组使用的是英制单位,而不是预定的公制单位。这会造成探测器的推进器无法正常运作。正是因为这个 Bug,1999年探测器从距离火星表面130英尺的高度垂直坠毁。此项工程成本耗费3.27亿美元,这还不包括损失的时间(该探测器从发射到抵达火星将近一年时间。)
● 阿丽亚娜5型火箭的杯具处女秀
1996年6月4日,阿丽亚娜5型运载火箭的首航,原计划将运送4颗太阳风观察卫星到预定轨道,但因软件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。
后来查明的事故原因是:代码重用。阿5型的发射系统代码直接重用了阿4型的相应代码,而阿4型的飞行条件和阿5型的飞行条件截然不同。此次事故损失3.7亿美元。
● 英特尔奔腾芯片缺陷
如果在计算机的“计算器”中输入以下算式:
(419583/3145727)X3145727-4195835
结果显示为零。而在1994年,结果可能为其他答案,这就是英特尔(Intel)奔腾(Pentumn)CPU芯片所带来的一个浮点触发缺陷。英特尔为此付出了4亿多美元的代价。
● 一触即发的第三次世界大战
1980年,北美防空联合司令部曾报告称美国遭受导弹袭击。后来证实,这是反馈系统的电路故障问题,但反馈系统软件没有考虑故障问题引发的误报。
1983年,苏联卫星报告有美国导弹入侵,但主管官员的直觉告诉他这是误报。后来事实证明的确是误报。
幸亏这些误报没有激活“核按钮”。在上述两个案例中,如果对方真的发起反击,核战争将全面爆发,后果不堪设想。
通过以上的例子,可以看出软件发生错误时对人类生活所造成的各种影响,有的甚至会带来灾难性的后果。软件测试可以使这种风险降低,它在一定程度上解放了程序员,使他们能够更专心于解决程序的算法效率。同时它也减轻了售后服务人员的压力,交到他们手里的程序再也不是那些“一触即死机”的定时炸弹,而是经过严格检验的完整产品。同时,软件测试的发展对程序的外形、结构、输入和输出的规约和标准化提供了参考,并推动了软件工程的发展。
转载于:https://www.cnblogs.com/chenlimei/p/9287345.html
软件缺陷导致严重后果的典型案例相关推荐
- 软件版本和实际有出入导致的后果_软件缺陷导致严重后果的典型案例
软件缺陷导致严重后果的典型案例 用户为了保证自己业务的顺利完成, 当然希望选用优质的软件. 质量不佳的软件产品不 仅会使开发商的维护费用和用户的使用成本大幅度增加, 还可能产生其他的责任风险, 造成 ...
- VOLTE典型案例(六)
目录 VOLTE典型案例-无线干扰导致重建掉话 VOLTE典型案例-PS寻呼丢失/延迟 VOLTE典型案例-切换与去激活QCI1专载流程冲突 VOLTE典型案例-eSRVCC切换失败 VOLTE未接通 ...
- 337调查之「普遍排除令」简介及2018年度典型案例探讨
「咦?明明公司产品并没有在美国被告专利侵权,为何因为专利问题在美国海关被挡下来了?」这种看似不可思议的情形.在美国是很可能发生的,尤其是面向一般大众类型的消费性产品.这情况称背后的可能原因是因为该产品 ...
- 【反诈拒赌 支付在行动】涉赌资金转移典型案例及风险提示
为进一步提高全民防赌反赌意识,防范和打击跨境赌博资金交易违法违规行为,中国支付清算协会(以下简称协会)从公安机关.国家外汇管理总局等单位近年查处公布的涉赌典型案例.人民银行公示的行政处罚案例和协会调查 ...
- 网络安全应急响应典型案例集
声明 本文是学习网络安全应急响应典型案例集(2021). 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 勒索类事件典型案例 自2017年"永恒之蓝"勒索病毒 ...
- AliOS Things 维测典型案例分析 —— 内存泄漏
维测典型案例分析1 -- 内存泄漏 在系统运行的过程中,内存泄漏是较为常见但是很难复现的现象,一般的内存泄漏点都是比较隐蔽的,每次几十个字节的泄漏,往往需要压测很久才能复现问题.本节案例分析,我们从一 ...
- C++简单程序典型案例
C++简单程序典型案例 [案例2-1]设计一个编写仅包含C++程序基本构成元素的程序 /* //注释行开始 This is the first C++ program. Desi ...
- 大数据公司挖掘数据价值的49个典型案例
大数据公司挖掘数据价值的49个典型案例 对于企业来说,100条理论确实不如一个成功的标杆有实践意义,本文的主旨就是寻找"正在做"大数据的49个样本. 本文力图从企业运营和管理的角度 ...
- 下篇 | 大数据公司挖掘数据价值的49个典型案例(值得收藏)
紧接着上篇中的25项案例介绍剩余其他的大数据公司挖掘数据价值的典型案例... 26. 众趣的行为辩析 众趣是国内第一家社交媒体数据管理平台,目前国内主要的社交开放平台在用户数据的开放性方面仍比较保守, ...
最新文章
- 前百度首席科学家吴恩达携手富士康,要用人工智能升级制造业
- POSIX正则表达式 验证电子邮件地址
- python中横向制表符_Python-“缩进中的制表符和空格使用不一致”
- Intel Optane(tm) Memory Pinning 无法加载DLL“iaStorAfsServiceApi.dll“:找不到指定模块。(异常来自HRESULT:0x8007007E)
- word 替换 增加引号_如何在Word 2013文档中替换部分(不是全部)智能引号
- bootstrap .col-md-6 文字居中问题处理
- 财会专用计算机,一种财会专用计算机的制作方法
- Java用户修改密码
- Linux查看centos版本 - 命令篇
- 酒局中同事说“不把这杯酒喝了就是不给我面子”,我该怎么办?
- [转载] 老版本ubuntu 更新源
- swift PickerView
- 如何做电商直播——预告篇
- 从区划边界geojson中查询经纬度坐标对应的省市区县乡镇名称,开源Java工具,内存占用低、高性能
- linux 检查系统丢包,Linux系统网络丢包问题解决
- 笔记——关于每次重启之后,虚拟机网络无网络访问权限的解决方法
- 搭建腾讯云通用文字识别General OCR项目及代码部署图文教程
- Android原生h5互跳控制,Android原生与H5交互方式
- 【jquery】通过降低图片的质量(或尺寸)压缩图片大小
- 【Zynq UltraScale+ MPSoC解密学习4】Zynq UltraScale+的APU
热门文章
- R语言兵器谱:数据科学家的十八般武艺
- HBuilder运行项目到IOS真机设备
- docker 启动 redis 报错 Could not create server TCP listening socket *:6379: unable to bind socket
- 4.2 手机模拟操作初步尝试(获取登录页面的源代码)
- [模型库]FFC手机软排线自动剥离热压冲裁切断检测生产线三维模型
- 5、jupyter notebook单元格
- php的电阻率是多少,Vishay将PHP系列精密高功率薄膜片式电阻的外形尺寸扩展至0603到0805...
- CoOS之事件控制块
- 百万级数据的导出解决方案
- 是男人就挺过二十秒源代码