分析灰盒测试优点和缺点
作者:网络转载 发布时间:[ 2014/8/25 10:29:08 ] 推荐标签:灰盒测试 功能测试
灰盒测试是一种综合测试法,它将“黑盒”测试、“白盒”测试结合在一起,构成一种无缝测试技术。“灰盒” 测试以程序的主要性能和主要功能为测试依据,测试方法主要根据程序的程序图、功能说明书以及测试者的实践经验来设计。下面从灰盒测试的优缺点开始说起。
一、几个基本概念
首先,把一些基本概念,简单通俗地说一下。
1、黑盒测试
通俗来说:黑盒测试不关注软件内部的实现细节。他仅仅把被测试的软件当成一个整体来处理,只关注软件的外在表现,不关注内部细节。典型的黑盒测试,是光拿着鼠标操作一下用户界面,看看功能是否满足要求。
2、白盒测试
白盒测试与黑盒测试相反,重点关注软件内部的实现细节(比如代码覆盖率等)。
3、灰盒测试
如果你是从事开发或者测试的行当,应该已经听过黑盒测试与白盒测试这2个概念。但对灰盒测试,或许比较耳生。单纯从名称上来看,灰盒测试是介于黑盒测试与白盒测试之间的一种测试方式。
这种测试方式,主要用于多模块构成的稍微复杂的软件系统。在灰盒测试中,重点关注软件系统内部模块的边界(接口)。这里所说的“接口”是广义的,包含有各种形式。对于进程内的模块,其接口可能是动态库的导出函数;对于进程级的模块,其接口可能是各种IPC(进程间通讯)机制;对于涉及数据库的软件系统,其接口可能是数据库的表结构。
4、灰盒测试与黑盒测试的区别
如果某软件包含多个模块,当你使用黑盒测试时,你只要关心整个软件系统的边界,无需关心软件系统内部各个模块之间如何协作。而如果使用灰盒测试,你需要关心模块与模块之间的交互。这是灰盒测试与黑盒测试的区别。
5、灰盒测试与白盒测试的区别
但是,在灰盒测试中,你还是无需关心模块内部的实现细节。对于软件系统的内部 模块,灰盒测试依然把它当成一个黑盒来看待。而白盒测试则不同,还需要再深入地了解内部 模块的实现细节。所以,这是灰盒测试与黑盒测试的区别。
6、灰盒测试与单元测试的区别
刚才看到有网友在评论中问到此问题,俺补充一下。
首先,在进行单元测试时,需要写一些测试代码(行话叫“桩代码”,洋文叫stub)。一般来说,测试代码与被测试代码采用同种语言(比如Java的单元测试通常也用Java来写),且测试代码和被测试代码之间的耦合很紧密。因此,单元测试通常由开发人员来完成的——测试人员的能力未必能胜任。
其次,单元测试的颗粒度会更细(会细到模块内部的类一级、函数一级),而灰盒测试仅仅到模块一级。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11