/catalog/2416e7f1c515497f98c8b7cb9874d41d//catalog/821d36aa8dfd499ca4af14ac5eb2b6b3//Document/282631823061061.html/Document/264572214259781.html/Document/264193141411909.html/Document/263120166727749.html/Document/262780577878085.html/Document/262434321498181.html/Document/261700928712773.html/Document/260317655674949.html/Document/259254117072965.html/Document/257842584657989.html/Document/257479171993669.html/Document/255707511132229.html/Document/255351757029445.html/Document/250725636485189.html/Document/249686534438981.html/Document/248257145659461.html

缺陷为什么叫bug?功能测试中常见的缺陷有哪些?

前面的系列文章我们讲了如何进行功能测试用例的设计,有了测试用例的设计,按照测试用例去执行我们的被测内容,就会出现缺陷,接下来我们就一起来讲解一下缺陷的相关内容。

从电脑诞生之日起,就有了电脑BUG。第一个有记载的bug是美国海军的编程员格蕾斯·哈珀(GraceHopper)发现的。哈珀后来成了美国海军的一个将军,领导了著名计算机语言Cobol的开发。


1945年9月9日,下午三点。哈珀中尉正领着她的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,一种电子机械装置。第二次世界大战还没有结束。哈珀的小组日以继夜地工作。机房是一间第一次世界大战时建造的老建筑。那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。突然,“马克二型”死机了。

技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现虫子的实例。”从此以后,人们将计算机错误戏称为虫子(bug),而把找寻错误的工作称为(debug)

软件缺陷指的是软件未达到软件规格说明书中规定的功能;软件超出软件规格说明书中指明的范围;软件运行出现错误;软件测试人员认为软件难于理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好。

常见的软件缺陷有哪些呢?
1、功能不正常
2、软件在使用上不方便
3、软件的结构未做良好规划
4、功能不充分
5、与软件操作者的互动不良
6、使用性能不佳
7、未做好错误处理
8、边界错误
9、计算错误
10、使用一段时间所产生的错误
11、控制流程的错误
12、在大数据量压力之下所产生的错误
13、在不同硬件环境下产生的错误
14、版本控制不良所产生的错误
15、软件文档错误

 

缺陷的产生原因主要分为下图所展示的七大类。

image.png

我们可以通过参考文档来确认缺陷,通过了解软件产品行业背景(或参考同类型软件)来发现缺陷,通过沟通来确认和识别缺陷。


缺陷的分布


缺陷的分布这里我们讲一个简单的原则——帕雷托原则,帕雷托原则应用于软件测试。简单地讲,帕雷托原则暗示着测试发现的错误中的 80%很可能起源于程序模块中的20%。问题在于如何孤立这些有疑点的模块并进行彻底的测试。


帕雷托原则:意大利经济学家帕雷托(Villefredo Pareto)在1879年研究人口与收入的关系问题问题时,经过对一些统计资料的分析后提出了一个关于收入分配的法则:社会财富的80%是掌握在20%的人手中,而余下的80%的人只占有20%的财富。这种由少数人拥有最重要的事物而多数人拥有少量的重要事物的理论,已扩大并包含许多的情况,并称之为帕雷托原则(Pareto Principle),即所谓“关键的少数和次要的多数”的哲理,也就是我们平时所提到的80/20法则。