
从被测对象的角度来看,测试方法可以分为三种: 黑盒测试,白盒测试和灰盒测试. 这也是我们经常看到的分类方法.

在测试过程中,任何程序都由以下部分组成: 输入,程序处理和输出,如图1-1所示. 黑盒测试是指在整个测试过程中仅关注输入和输出. 如果输入测试数据,则输出结果正确,我们认为此功能正确. 例如,如果输入测试数据(2,2),则输出为4,则认为是正确的. 测试工程师不会关注程序的处理方式. 它可以是2×2、2 + 2,也可以是22. 当然,如果您不知道程序如何处理它,那么在另一组数据之后,您可能获得的结果不一定正确. 例如,如果输入(3,3),则结果可能不正确.




白盒测试与黑盒测试之间的区别在于黑盒白盒,白盒测试不仅关注输入和输出结果是否正确,还涉及程序的处理方式. 与上面的示例相同,输入测试数据(2、2),白盒测试不仅关注测试结果是否为4,还关注该程序的内部逻辑处理过程.
关于黑盒测试和白盒测试实际上是社会上的两种人. 黑盒测试等效于黑道,白盒测试等效于白道. 如果黑社会的老板想解决问题,他们会派下属处理,老板只会关注结果. 至于中间如何处理,与他无关. 白岛人民是我们正在谈论的. 他们对处理事务或法律制度的整个过程非常熟悉. 例如,如果您的亲戚与他人打架并与他人打架,则您不会举报第一件事,而是与您的朋友联系以查看,警察局或其他相关部门是否有熟人,因为这些人非常重视法律程序熟悉,他们知道如何最大限度地减少亲戚的责任.
但是在这个社会中也有一群人吃黑与白. 这是我们测试类别中的灰盒测试. 灰盒测试是黑盒测试和白盒测试之间的测试. 存在灰盒测试是因为它根据测试阶段进行了划分. 整个测试过程包括单元测试,集成测试和系统测试,而白盒测试对应于单元测试,黑盒测试对应于系统测试. 然后在正确的测试过程中进行测试,应首先测试单元模块. 单元模块测试完成后,系统测试不会立即输入,而是集成测试. 此时使用的方法是灰盒测试,即完成单个模块的测试后,虽然单个模块没有问题,但是这并不意味着将这些模块组合在一起就没有问题. 然后有必要验证这些功能模块是否组合在一起. 这就是我们所说的集成测试,它的使用方法是灰盒测试.
从某种角度看,白盒测试显然比黑盒测试更全面,因为它们不仅关注测试结果,而且关注程序的逻辑结构,因此有人建议为什么使用白盒测试还不够?回答显然是. 讨论这个极端问题时,相反的问题是黑盒测试不可能用白盒测试实现. 我们说黑盒测试更接近于用户的测试,因此白盒测试无法测试用户的使用过程,易用性等方面,也就是说,如果白盒测试还可以,程序的难易程度就无法确保可用性,界面显示,业务流程等方面没有错误. 出于同样的原因,显然仅黑盒测试是不够的,因为从用户的角度来看,黑盒测试可以更好地进行测试黑盒白盒,但是黑盒测试不能像白盒测试那样有效地测试程序的内部结构. 因此,不能只考虑白盒测试或黑盒测试才能测试一个好的系统.
因此,在理想的测试系统中,现在有三种方法: 黑盒测试,白盒测试和灰盒测试. 只有将这三个完美结合,才能更好地保证系统的质量. 从软件测试的发展过程的角度来看,包括国产软件测试,实际上在白盒测试之前就有黑盒测试. 在黑盒测试之前不可能进行白盒测试,并且目前国内很少有公司进行白盒测试,其原因是白盒测试需要测试工程师更高的技能. 同时,还有另一个原因,因为家用软件测试的开发仍处于起步阶段. 不理想.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-265402-1.html
中国有这么勇敢就好