软件的bug是什么?可以举一个例子吗?

软件的bug是什么?可以举一个例子吗?,第1张

1、 软件没有实现说明书中所列出的功能

对于“软件没有实现说明书中所列出的功能是BUG”这一点是比较好理解的。如果打开记事本软件,却无法在其中输入汉字,或者输入了文本,无法保存成文件,那么肯定是一个很严重的BUG。

2、 软件出现了说明书中提到不应该出现的事情

对于第2点,“软件出现了说明书中提到不应该出现的事情也是BUG”,这一点和性能测试工作有相对更紧密的关系,如果网站要求用户在浏览网站时显示页面尽可能地快,如果超出5秒钟则认为是不可接受的,这个“超出5秒钟”就是说明书中提到不应该出现的事情,实际出现肯定是一个BUG,需要开发人员找出哪里耗费了页面的显示时间并加以改正。

3、软件实现了说明书中没有提到的功能

软件实现了说明书中没有提到的功能也是BUG,这一点可能有点难于理解,一个软件功能难道不是越多越强大吗?其实不尽然,实现额外的功能有如下几个缺点:

(1)代码量增大。

说明:由于代码可能相互影响,因此这部分额外的功能可能对其他功能的实现造成影响,带入新的BUG

(2)增加额外的开发、测试时间。

说明:在软件项目时间固定的情况下,导致投入到其他必备功能的开发测试时间减少,可能影响它们的完成质量

(3)增加了成本,与软件的宣传不完全符合

说明:虽然用户对于增加功能一般不会有意见,但可能影响了公司的销售策略及市场定位

4、软件没有实现说明书中没有提到但应该实现的功能

举个例子:我们在磁盘中保存大量数据,由于连日来的积累,导致磁盘没有空间了,这时再对已有的记事本进行编辑,使其内容变大,在“保存”时,系统提示无法保存,同时磁盘提示空间已满,在这种情况下记事本的行为,就属于实现了说明书中没有提到却应该实现的功能,如果没有提示,不符合绝大部分用户的使用习惯,也是一个BUG。

5、软件难于使用、性能差

软件是拿来用的,再好的界面使用不方便也不会产生多大效果。一个网站如果半天都打不开,很难想象还会有多少用户会访问它。因此这样的问题也是BUG,而且对于性能测试来说,这一个规则很重要。

1,PayPal 意外向某人支付 92 千万亿美元。2,千年虫,炒作的狂欢。3,宰赫兰导d事件,毫秒的误差。4,公尺还是英尺?火星气候探测者号的星际迷航。5,阿丽亚娜5型运载火箭,昂贵的简单复制。

PayPal 意外向某人支付 92 千万亿美元。

当 Chris Reynolds 打开他的 PayPal 电子邮件对账单时,这位宾夕法尼亚州公关主管的账户余额显示为 92,233,720,368,547,800 美元。在 64 位数字的世界里,这个数字太过庞大,意味着存在编程错误。所幸这一错误很快就被发现,当他再次登录时,他的账户已经归零。PayPal 表示愿意为 Reynolds 选择的事业捐赠一笔数额不详的资金。

千年虫,炒作的狂欢。

千年虫或 2000 年问题是指与 2000 年开始的日历数据的存储和格式化有关的事件。由于许多程序在表示四位数年份时只用最后两位数字表示,结果,2000 年和 1900 年无法区分,因此预计会出现问题。

例如,它影响到了每天计算利率的银行、核电站、医院、交通运输等中心以及很多其他方面。为纠正这一错误,全世界耗费了数十亿美元来升级计算机系统。

宰赫兰导d事件,毫秒的误差。

在1991年2月的第一次海湾战争中,一枚伊拉克发射的飞毛腿导d准确击中美国在沙地阿拉伯的宰赫兰基地,当场炸死28个美国士兵,炸伤100多人,造成美军海湾战争中唯一一次伤亡超过百人的损失。

在后来的调查中发现,由于一个简单的计算机bug,使基地的爱国者反导d系统失效,未能在空中拦截飞毛腿导d。当时,负责防卫该基地的爱国者反导d系统已经连续工作了100个小时,每工作一个小时,系统内的时钟会有一个微小的毫秒级延迟,这就是这个失效悲剧的根源。爱国者反导d系统的时钟寄存器设计为24位,因而时间的精度也只限于24位的精度。在长时间的工作后,这个微小的精度误差被渐渐放大。在工作了100小时后,系统时间的延迟是三分之一秒。

对一般人人来说,0.33秒是微不足道的。但是对一个需要跟踪并摧毁一枚空中飞d的雷达系统来说,这是灾难性的——侯赛因飞毛腿导d空速达4.2马赫(每秒1.5公里),这个”微不足道的”0.33秒相当于大约600米的误差。在宰赫兰导d事件中,雷达在空中发现了导d,但是由于时钟误差没有能够准确地跟踪它,因此基地的反导d并没有发射。

公尺还是英尺?火星气候探测者号的星际迷航。

火星气候探测者号在1997年发射,目的为研究火星气候,但是它没有能够达成这项花费3亿多美元的使命。

探测者号在太空中飞行几个月以后,由于导航错误,最终在火星大气层解体。探测器的控制团队使用英制单位来发送导航指令,而探测器的软件系统使用公制来读取指令。这一错误大大改变了导航控制的路径。最后探测器进入过低的火星轨道(大约100公里误差),在过大的火星大气压力和摩擦下解体。

1996年6月4日,阿丽亚娜5型运载火箭的首次发射点火后,火箭开始偏离路线,最终被逼引爆自毁,整个过程只有短短30秒。阿丽亚娜5型运载火箭基于前一代4型火箭开发。在4型火箭系统中,对一个水平速率的测量值使用了16位的变量及内存,因为在4型火箭系统中反复验证过,这一值不会超过16位的变量,而5型火箭的开发人员简单复制了这部分程序,而没有对新火箭进行数值的验证,结果发生了致命的数值溢出。

发射后这个64位带小数点的变量被转换成16位不带小数点的变量,引发了一系列的错误,从而影响了火箭上所有的计算机和硬件,瘫痪了整个系统,因而不得不选择自毁,4亿美金变成一个巨大的烟花。

1、麻省理工“只能发500英里的邮件”

该bug发生于麻省理工,当时其系统管理员接到统计系主任的求助电话,主任在电话中说:“咱们的邮件系统无法发送距离500英里以外的地方,准确地说好像是520英里。”

此时的系统管理员内心是“毫无波澜”的,嗯!然后,他开始了漫长且苦逼的测试,最后发现邮件服务器 *** 作系统(SunOS)被人更新了,因为 *** 作系统发行版往往配备旧软件,因此邮件软件实际上是被降级了(Sendmail 8 ->Sendmail 5),最后的结果是:Sendmail 5试图解析Sendmail 8的配置文件。

2、医院急诊科的程序bug

一位程序员为医院急诊科设计了一套应用程序,毕竟是为急诊病人服务,所以程序员在实验室内认真地测试无数遍,直至确定没有问题,才让医院部署使用。但是,医院方面却总是出现问题,一拿到实验室就没问题。该名程序员于是深入医院调查,最后发现是医院的X光射线导致电脑内存丢失了几个bit信息,进而让程序出现问题。

3、购买微软Office套件visio不可使用outlook邮箱注册

网友爆料,自己在购买正版Office套件visio时,当他在注册页面输入微软的outlook邮箱,系统居然提示系统中没有outlook.com!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7993192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存