测试知识之:黑盒白盒和灰盒测试

Posted 3Sunremitting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试知识之:黑盒白盒和灰盒测试相关的知识,希望对你有一定的参考价值。

黑盒测试:黑盒测试也称功能测试,它是在已知产品所应具有的功能上,通过测试来检测是否每个功能是否能够按照需求规格说明书的规定正常使用。我们通过程序的接口进行测试,看程序能否适当的接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或者文件)的完整性。

常见的黑盒测试方法有:等价类划分法、边界值、因果图、判定表、正交实验法和场景法。

在对一个软件进行测试时,一般最先使用的是边界值,其实有的时候在进行边界值测试用例的设计时就已经把等价类的方法应用进去了。而因果图和判定表一般是一起使用的。正交法用的比较少,只有当我们的输入值没有什么可以进行等价类判别,也没有边界值没有范围,这中情况下只有使用无限穷举的方法才能够覆盖掉。这种时候才会考虑到使用正交法,正交表来帮助我们完善测试用例的设计。当对一个复杂的业务进行测试的时候,比如电商网站的购物流程,比较复杂,就需要使用场景法

黑盒测试的优缺点

优点:

1) 比较简单,不需要了解程序的内部的代码及实现;2) 与软件的内部实现无关;3)  从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)  基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)  在做软件自动化测试时较为方便

缺点 :

1) 不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%

2) 自动化测试的复用性较低。

白盒测试:白盒测试又叫结构化测试,是基于代码的测试,它根据程序的控制结构设计测试用例。

常见的白盒测试的方法:分为静态测试和动态测试。静态测试是不运行测试程序,对代码或者其他项目文档进行检查、阅读和分析。动态测试需要执行代码,通过运行程序找到问题。白盒测试要保证路径覆盖逻辑覆盖,但是更多的时候是使用逻辑覆盖,它是白盒测试的主要方法。逻辑覆盖分为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖。

白盒测试的优缺点:

优点:

帮助软件测试人员增大代码的覆盖率。 提供代码的质量,发现代码中隐藏的问题

缺点:

1) 程序运行会有很多不同的路径,不可能测试所有的运行路径

2) 测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求

3) 系统庞大时,测试开销会非常大。

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。灰盒测试除了完成黑盒测试的一些测试手段之外,还会通过codereview,日志检查,甚至通过编写代码去调用服务的接口或者函数来进行测试。

以上是关于测试知识之:黑盒白盒和灰盒测试的主要内容,如果未能解决你的问题,请参考以下文章

黑盒白盒和灰盒测试的区别

黑盒白盒灰盒测试的基本概念

软件测试|黑盒白盒灰盒测试的区别

测试方法总结

灰盒测试

黑盒白盒测试