千家信息网

测试分类-黑白灰测试

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,大家好,我是十一。今天我们聊聊测试的种类-黑白灰测试。那测试到底怎么分类呢?直接上图吧,我为大家精心准备了个大图,要认真看哦~来之不易~注:功能测试部分是按照重要程度以及先后顺序做的排序。乍一看,你的
千家信息网最后更新 2025年01月24日测试分类-黑白灰测试

大家好,我是十一。


今天我们聊聊测试的种类-黑白灰测试。那测试到底怎么分类呢?

直接上图吧,我为大家精心准备了个大图,要认真看哦~来之不易~


注:功能测试部分是按照重要程度以及先后顺序做的排序。


乍一看,你的心情是不是这样式儿的?


图片来源:百度

莫方哈,其实这张图只是按照不同纬度给测试分类而已,并不是说明有这么多种测试,重叠部分还是比较多的,但是这张图呢需要大家理解并牢记的,因为面试、工作都是常用的呢~接下来我们会用丰富的例子带大家一一理解这张图。


如题:此篇呢我们讲解黑盒、白盒、灰盒测试(所谓黑白灰)的含义以及区别

其他的呢我们都放在后续篇章,用例子一一为大家串讲。


好了进入正题。


黑、白、灰三盒测试的含义及区别


根据上图可以看出按照是否查看内部代码/结构,我们将软件测试分为黑盒测试、白盒测试、灰盒测试。


黑盒测试(Black-box Testing)


黑盒测试又被称为功能测试、数据驱动测试或基于需求规格说明书的测试是通过使用整个软件或某种软件功能来严格地测试。测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。主要针对软件界面和软件功能进行测试。

在黑盒测试中,软件测试工程师只需要知道软件要做什么-而无法看到盒子里的软件是如何运行的。只要进行一些输入,就能得到某种输出结果。来个例子:我们对QQ的登陆功能进行测试,那账户名输入11,密码输入11(此用户不存在),如下图所示


然后点击"登陆"按钮,那么QQ弹出如下窗口:


这就是一个典型的黑盒测试,属于黑盒测试中的业务逻辑测试,这个测试的输入输出如下:

输入11/11(用户名/密码),

输出:"你输入的账户名或密码不正确"等。

通过输入输出消息来和需求说明书做对照,看是否一致,如果一致则通过,如果不一致则失败。(当然登陆的测试不是这么简单,我们这里只是以其中一个点举例,不要着急哦,我会慢慢带你学习的~)


白盒测试(White-box Testing)


白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指的打开盒子,去研究里面的源代码和程序结果。

无论是单元测试还是代码检查都不属于初级测试工程师的工作范围。这部分工作一般由软件开发工程师来完成,由开发小组自行编写单元测试、代码检查以及两者的审查的工作。现在也有些工具可以做简单的审查,比如sonar、go等等。总之,哪种情况都可以,只要适合自身情况即可。

在这里我们不做具体描述以及用例展示。


图片来源:文库


灰盒测试(Gray-Box Testing)


灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。


那灰盒和白盒到底有啥不同?

  • 测试的时段不同:白盒测试在单元测试阶段进行,灰盒测试在集成测试前期进行

  • 测试的关注对象不同:白盒测试更关注内部实现是否按照规格说明书进行,灰盒测试除了需要关注白盒测试关注的内容还更多从业务层面去考虑问题,考虑更多的组合测试业务场景。

  • 范围不同:白盒测试更关注单个代码段,函数的正确性,灰盒测试的对象已经基本能完成一个完整的业务功能。

  • 代码是否独立:灰盒测试的代码比较独立,不像白盒测试基本上和程序代码需要做到一一对应。


这部分同样也是做简单了解即可。对于入门的人来说灰盒和白盒都还为时过早。只需要知道:

黑盒测试不需要关注代码和程序内部结构,白盒和灰盒需要。

白盒关注单个代码对,函数的正确性,需要和程序代码做一一对应;而灰盒测试重点关注的还是整个的业务功能。


举例


最后举个简单例子对黑盒测试、白盒测试、灰盒测试做对比说明。

宝宝玩儿机器人,玩儿的正高兴,突然机器人不动了,怎么按也不动,于是:

宝贝:妈妈~我机器人不动了。

我:打开开关了吗?自己反复打开开关,依然没反应,于是得出结论,机器人坏了,需要买个新的机器人了。

这一幕刚好被爸爸听到,

爸爸:我来看看,于是拿着工具箱,拆开电池部分

1.嗯,换个新电池,还是不能工作

2.拆开机器人的螺丝部分,检查线路,线路连接都好着呢,没有松动呀

最终爸爸得出:嗯,是坏了,我们买个新的吧.

此时爷爷回来了,说我来看看吧,爷爷拿着他的电笔,开始一根根线路的检测,终于哦,找到了,这个线接触不好了,换个线吧,换个线后机器人终于开动了。


大家很明了了吧,如上故事里:

作为妈妈的我就是一个黑盒测试:打开电源,查看是否能工作;只根据输入输出进行表象测试

爸爸呢是灰盒测试:打开机器人,查看内部结构,但是只对线路连接部分进行了检测

厉害的爷爷呢就是白盒测试了:打开机器人,查看每个线路连接、每个线路是否能正常工作。




测试 代码 软件 输入 机器 机器人 功能 输出 程序 线路 工作 不同 结构 部分 业务 例子 爸爸 还是 一致 单元 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苹果手机网页打不开找不到服务器是什么问题 安卓软件开发范例 法国软件开发能力 达梦数据库自主开发 新疆网络安全管理条例 图像和音乐分布在服务器的哪里 c#软件开发硬件要求 计算机网络技术偏理科 lol服务器排行 gis制图数据库自动同步技术 软件开发会遇到什么问题如何解决 从事软件开发要读博士吗 台州做app的软件开发费用 数据库排名及发展趋势 信阳网络技术厂家报价 宁波计算机网络技术口碑推荐 网络安全证书图片素材 河北实用软件开发推荐 郴州宝利通数据库 怎么开机禁止服务器管理器 信发系统软件开发公司 徐州运营软件开发哪个好 2019齐市网络安全宣传周启动 易语言数据库操作sql 海南互联网软件开发方案 科技风互联网 天津网络时间服务器标准服务器 邮件登录显示服务器名称错误 埃尔文海耶斯NBA数据库 崩坏三怎么查服务器
0