白盒测试与黑盒测试最主要的区别(白盒测试与黑盒测试的联系与区别)

根据测试对象的分类,测试方法可以分为三种:黑盒测试、白盒测试和灰盒测试,这也是最常见的分类方法。任何程序在测试过程中都是由这些部分组成的:输入、程序的处理和输出,如图1-1所示。黑盒测试是指在整个测试过程中只关注输入和输出。如果一个测试数据被输入并且输出结果是...

根据测试对象的分类,测试方法可以分为三种:黑盒测试、白盒测试和灰盒测试,这也是最常见的分类方法。

任何程序在测试过程中都是由这些部分组成的:输入、程序的处理和输出,如图1-1所示。黑盒测试是指在整个测试过程中只关注输入和输出。如果一个测试数据被输入并且输出结果是正确的,我们认为这个函数是正确的。比如输入测试数据(2,2),输出为4则认为结果正确,测试工程师不关心程序是如何处理的。这里可能是2×2,2+2或者22。当然,如果你不知道程序是如何处理的,那么在另一组数据之后,可能的结果也不一定是正确的。例如,如果输入(3,3),结果可能不正确。

白盒测试和黑盒测试的区别在于,白盒测试不仅关注输入输出结果是否正确,还关注程序是如何处理的。上面的例子也是如此。输入测试数据(2,2)。白盒测试不仅关注测试结果是否为4,还关注这个程序的内部逻辑处理过程。

黑盒测试和白盒测试其实就像社会上的两种人。黑盒测试相当于***,白盒测试相当于白道。***老大要解决什么事情,就会派下属去处理,老大只关注结果。至于中间怎么处理,与他无关。而白人,也就是公务员,很好的了解整个做事的流程或者法制。比如你的亲戚和别人打架,被打了一顿,你做的第一件事不是报案,而是联系你的朋友,看看有没有在***、派出所或者其他相关部门的熟人,因为这些人熟悉法律流程,他们知道如何把你亲戚的责任降到最低。

但是这个社会还有另外一种人,黑白通吃。这是我们测试分类中的灰箱测试。灰盒测试是介于黑盒测试和白盒测试之间的一种测试。灰盒测试存在的原因是整个测试过程按照测试阶段分为单元测试、集成测试和系统测试,而白盒测试对应单元测试,黑盒测试对应系统测试。在正确的测试过程中,应该首先测试单元模块。单元模块测试完成后,并不立即进入系统测试,而是进行集成测试。这时候用的方法就是灰盒测试,就是我们测试单个模块之后,虽然当时是单个的,来验证这些功能模块的组合有没有问题,这就是我们所说的集成测试,它的使用方法就是灰盒测试。

从某种角度来说,白盒测试显然比黑盒测试更全面,因为他们不仅关注测试结果,还关注程序的内部逻辑结构。所以有人问为什么白盒测试还不够?答案显然是肯定的。讨论这个极端的问题,反过来的问题就是黑盒测试不能用白盒测试做什么。我们说黑盒测试更贴近用户的使用,所以用户的使用过程和可用性是无法用白盒测试来检验的。也就是说,白盒测试可以的话,不能保证程序的可用性,界面显示,业务流程等等,一定不能有错误。同理,显然只有黑盒测试是不够的,因为虽然黑盒测试可以更好地从用户的角度测试程序的内部结构,但黑盒测试并不能像白盒测试那样有效。所以不能认为只有白盒测试或者只有黑盒测试才能测试系统。

所以现在一个完善的测试体系中有这三类方法:黑盒测试、白盒测试、灰盒测试。只有将这三种完美的结合起来,才能更好的保证系统的质量。从软件测试发展的历程来看,包括国内软件测试,其实都是先有黑盒测试才有白盒测试,不可能先做白盒测试再做黑盒测试,并且在现阶段国内很少公司做白盒测试,之所以出现这种情况是因为白盒测试对测试工程师的技能要求会高出许多,同时还有一个原因是因为当前国内软件测试发展还是处于初级阶段,所以白盒测试开展的并不理想。

本文来自无言温柔天然对象投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/481078.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 03-29
下一篇 03-29

相关推荐

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信