关于BUG定义软件测试

  一.关于BUG,有这样一个美丽的传说

  故事发生在1945年9月9日,下午3点.一个炎热的夏天,房间没有空调,所有的窗户都敞开散热.Grace Hopper中尉正领着她的小组构造一个称为"MARK II"的计算机.这还不是一个完全的电子计算机,它使用了大量的继电器.Grace Hopper的小组日以继日的工作,机房是一间第一次世界大战时建的老房子.突然,MARK II 死机了.技术人员试了很多办法,后定位到板子F第70号继电器出错.Grace Hopper 观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死.她小心的用镊子把它夹出,用透明胶布粘到"事件记录本"中,并注明"第一个发现虫子的实例",然后计算机又恢复了正常.从此以后,人们将计算机错误戏称为虫子(BUG)或臭虫,而把寻找错误的工作称为"找臭虫"(DuBug).Grace Hopper的事件记录器,连同这个飞蛾现在已经被陈列在美国历史博物馆中.

  二.什么是软件BUG

  BUG一词一般用来指代昆虫以及节肢动物,特别是一些有害的臭虫.在自然界,它们经常是人类的主要竞争者.科学家推测,如果人类灭绝,BUG将成为这个星球的主宰生命.据<<圣经>>所言,上帝降临埃及将犹太人从奴隶制度中解放出来时,带来10种灾难.其中3种是BUG.包括臭名昭著的蚊子,苍蝇和蝗虫.这些BUG叮咬我们的肉体,毁坏我们的房子,吞噬我们的庄稼,并把许多的疾病传染给我们.

  与自然界的BUG具有特别类似特征的是软件中的BUG,从人类第一次开发软件开始,软件中的BUG一直以及其相似的方式折磨人们.软件中的BUG如同自然界的BUG,它们无处不在,几乎所有的软件都有BUG.当我们遇到这些BUG时,它们同自然界中BUG一样让我们惶惶不安.

  因此,如果自然界的害虫带来对人们的深深上海一样,称软件的错误或缺陷为BUG,已经成为软件界的老大难问题,这可以作为软件BUG名称来源的另一个版本.

  三.<>一书的第二版这样写到

  The software doesn‘t do something that the product specification says it should do.  The software does something that the product specification says it shouldn‘t do.

  The software does something that the product specification doesn‘t mention.  The software doesn‘t do something that the product specification doesn‘t mention but should.

  The software is difficult to understand, hard to use, slow, orin the software tester‘s eyes will be viewed by the end user as just plain not right.

  可以理解为如下:

  1.产品说明书中规定要做的事情,而软件没有实现,例如:产品说明书要求计算器要实现加,减,乘和除功能,做出来的计算器不能进行除运算,这是一个BUG.51Testing软件测试网w/lQS!YQ

  2.产品说明书中规定不要做的事情,而软件却实现了,例如:产品说明书要求计算器除加,减,乘和除功能外其它的功能不要实现,做出来的计算器不仅能进行加减乘除运算,还能进行乘方或三角函数运算,这也是一个BUG.51Testing软件测试网4TPB+h6tAo

  3.产品说明书没有提到的事情,而软件却实现了,例如:产品说明书要求计算器要实现加,减,乘和除功能,做出来的计算器还能进行乘方运算,这也是一个BUG.

  4.产品说明书中没有提到但是是必须要做的事情,软件却没有实现,产品说明书要求计算器要实现加,减,乘和除功能,但是没有提到在电量很低情况下也能正常使用,而做出来的计算器在电量很低的时候计算错误,这也是一个BUG.

  5.软件很难理解,很难去使用,速度超慢,测试人员站在终用户的角度看到的问题是平常的但不是正确的,产品说明书要求计算器要实现加,减,乘和除功能,但是按键使用的文字或标识不清楚,如:"加"按键用"和"表示,或者计算1+1需要1分钟或者更长时间.这也是一个BUG.