首页 > 其他分享 >灰盒测试,究竟有什么作用?

灰盒测试,究竟有什么作用?

时间:2024-01-16 21:00:43浏览次数:36  
标签:灰盒 黑盒 白盒 技术 测试人员 测试 究竟

灰盒测试,究竟有什么作用?_测试人员

五星上将麦克阿瑟曾经说过“如果你知道黑盒和白盒测试,那么你一定知道灰盒测试”

让我们来讲一个故事

今天和女朋友吵架了,(假设你有女朋友)。

今晚又是一个人睡沙发,这天晚上,你躺在沙发上,夜不能寐

因为你需要买礼物给你女朋友,但是你不知道她想要啥

决定。痛定思痛

决定分享一下今天的主题——灰盒测试

灰盒测试,究竟有什么作用?_灰盒测试_02

什么是灰盒测试?


灰盒测试

灰盒测试

什么是灰盒测试?

灰盒测试是一种软件测试技术,是黑盒测试技术和白盒测试技术的结合。

  • 在黑盒测试技术中,测试人员不知道被测试项目的内部结构,而在白盒测试中,测试人员知道内部结构。
  • 灰盒测试中部分了解内部结构。
  • 这包括访问内部数据结构和算法来设计测试用例。 
  • 灰盒测试之所以如此命名,是因为软件程序就像一个半透明或灰色的盒子,测试人员可以看到其中的部分内容。
  • 它通常关注与 Web 系统相关的上下文特定错误。
  • 它基于需求测试用例生成,因为它具有在测试程序之前呈现的所有条件。

在黑盒测试中,测试人员对代码没有任何了解。它们具有给定输入的输出信息。在白盒测试中,测试人员对代码有完整的了解。

灰盒测试人员了解代码,但不完全了解。

灰盒测试,究竟有什么作用?_测试人员_03

灰盒测试的目标

  1. 提供黑盒测试和白盒测试的综合优势。
  2. 结合开发人员和测试人员的输入。
  3. 以提高产品的整体质量。
  4. 减少功能和非功能测试的漫长过程的开销。
  5. 为开发人员提供足够的空闲时间来修复缺陷。

例子

  • 在测试网站时,如果测试人员点击任何链接并出现错误,灰盒测试人员可以更改 HTML 代码来检查是否存在错误。在这种特定场景中,白盒测试是通过更改代码来完成的,并且当测试人员在前端测试更改时,黑盒测试也在进行。白盒和黑盒的组合导致灰盒测试
  • 如果灰盒测试人员了解并访问错误代码表(其中针对错误代码提供了原因),则他们可以分析错误代码并详细探究原因。假设网页收到错误代码“内部服务器错误 500”,并且该错误的原因在表中显示为服务器错误。使用此信息,测试人员可以进一步分析问题并向开发人员提供详细信息,而不仅仅是向他们提出问题。
  • 灰盒测试人员可以自己分析日志文件以找到问题的根本原因。灰盒测试仪可以轻松分析低性能、应用程序崩溃或其他问题。

灰盒测试的技术

1. 矩阵测试

软件开发人员提供程序中的所有变量以及与之相关的技术和业务风险。矩阵测试技术测试开发人员定义的风险。

矩阵技术列出了程序中所有使用的变量。该技术有助于识别和删除程序中未使用的变量,从而有助于提高软件的速度。

2.  回归测试

当软件发生任何更改或修复任何缺陷时,就会执行回归测试。这样做是为了确保新的更改或修复不会影响软件的任何现有功能。

3. 正交阵列测试或 OAT

这种测试技术更多地用于复杂的功能或应用程序,因为当需要用最少的测试用例最大程度地覆盖代码并且具有具有 n 种组合的大量测试数据时,就会使用这种技术。

4.  模式测试

模式测试是根据软件中先前发现的缺陷进行的。分析缺陷记录以找出缺陷原因,并创建测试用例,将缺陷及其原因保留在知识中,以便在软件投入生产之前发现缺陷。


灰盒测试的优点

具体如下:

  • 软件的质量得到提高。
  • 该技术更注重用户感知。
  • 在灰盒测试中,开发人员会受益,因为他们有足够的时间来修复错误。
  • 由于灰盒测试是黑盒和白盒的结合,因此可以获得两者的好处。
  • 灰盒测试人员不需要具备很高的编程知识来测试产品。
  • 这种测试技术在集成测试中非常有效。
  • 这种测试技术有助于避免开发人员和测试人员之间发生冲突。
  • 使用此技术可以有效地测试复杂的应用程序和场景。
  • 这种测试技术是非侵入式的。

灰盒测试的缺点

具体如下:

  • 灰盒测试无法执行完整的白盒测试,因为无法访问源。
  • 对于分布式系统,很难将这种测试技术中的缺陷关联起来。
  • 灰盒测试的测试用例创建很复杂。
  • 由于访问受限,代码路径遍历访问也受到限制。

灰盒测试的例子

测试网站表单,其中提供电子邮件 ID 并提交表单会向用户发送电子邮件以进行确认和信息。

作为黑盒测试人员 – 测试人员将提供有效/无效电子邮件 ID 的输入来检查系统行为。

作为灰盒测试人员 - 测试人员将了解验证方面的知识,例如将在客户端使用 JavaScript 完成电子邮件验证。

拥有上述知识的测试人员将在他的列表中添加另一个测试用例,即通过禁用浏览器的 JavaScript 来测试场景。

在这里,我们可以清楚地看到使用灰盒测试的优势。附加信息帮助测试人员创建和执行附加测试用例。

灰盒测试的面试QA

 什么是软件测试中的灰盒测试?

答:执行灰盒测试是为了消除由于应用程序内部结构问题而导致的任何缺陷。该测试技术是黑盒测试和白盒测试的组合。

获取灰盒测试示例。

答:灰盒测试包括黑盒测试和白盒测试。测试人员可以访问所有详细的文档和要求。 示例:如果某个网站的链接失效了,可以直接在HTML中查看和更改,并且可以实时验证。

灰盒测试的优点是什么?

答:灰盒测试有几个优点。下面提到其中一些:

  • 提高产品的质量。
  • 可以轻松测试复杂的应用程序。
  • 不要求测试人员具备完整的编码知识。
  • 获得黑盒和白盒测试的好处。

灰盒测试是什么意思?

答:灰盒测试是针对不完全了解应用程序内部工作原理的应用程序定义的。它最适合基于 Web 的应用程序。对于功能和领域测试,它被认为是最好的方法。该测试更多地关注用户视角而不是设计。

谁进行灰盒测试?

答:这是由测试人员自己完成的。当测试人员没有关于应用程序的内部结构和工作的完整信息时,就会发生这种情况。在此测试中,在前端提供输入,并在后端验证输出。


结论

灰盒测试非常有益,因为它结合了测试技术,即黑盒测试和白盒测试。这种测试技术对于基于 Web 的应用程序、功能和领域测试更为有效。灰盒测试的测试用例创建包括安全、数据库、浏览器、GUI等各个方面。

这种测试技术比其他技术更能敏锐地处理复杂的场景。它基于功能规范,而不是源代码或二进制文件。

灰盒测试,究竟有什么作用?_白盒测试_04

扫码关注微信公众号,会有持续的AI最新消息分享与学习资料,一起来学习吧

灰盒测试,究竟有什么作用?_灰盒测试_05

如果你还有什么疑问,请从下方留言吧~

以上就是今天的全部内容,希望对大家有所帮助,也希望大家多多留言、点赞、在看、转发四连爱❤️  支持。 咱们下篇文章见,Bye~

标签:灰盒,黑盒,白盒,技术,测试人员,测试,究竟
From: https://blog.51cto.com/u_15717981/9277801

相关文章

  • 软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用
    什么是路由路由是将URL地址与应用程序中的函数相映射的过程。当用户在浏览器中输入特定的URL地址时,Flask会调用与该地址相匹配的函数并返回相应的结果。路由的应用场景在Web应用程序都通过路由技术使用URL链接来控制网页显示的内容,只要知道URL链接,即使没有主页导航也可......
  • 软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用
    测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供1v1私教指导,BAT级别的测试管理大咖量身打造职业规划。什么是路由路由是将UR......
  • 网络连通性测试 【Connectivity】
    CFD简介CFD(ConnectivityFaultDetection,连通错误检测)是一种二层网络中的端到端OAM(Operation,Administration,andMaintenance,操作、管理和维护)技术,主要用于在二层网络中检测链路连通性,以及在故障发生时进行定位。适用的二层网络包括基于VLAN的以太网网络和基于MPLS的二层V**。......
  • jmeter并发与持续压测生成测试报告操作日志
    接口压测的方式:1、同时并发:设置线程组、执行时间、循环次数,这种方式可以控制接口请求的次数2、持续压测:设置线程组、循环次数,勾选“永远”,调度器(持续时间),这种方式可以控制压测周期时间指定并发数 例1:设置线程数:10;设置执行时间:0;设置循环次数:5说明:使10个线程启动并同时运......
  • dremio 测试特性api 的开启&外部profile查看
    以前简单说过基于代码修改开启test的外部profile能力,实际上官方是由配置参数的,可以在启动的时候添加到配置中配置添加dremio.conf文件debug{allowTestApis:true}检查选项时候开启的一个技巧使用arthas命令使用了arthas的vmtool也可以结......
  • C#DataGridView数据批量插入数据库中(测试未果)
    datagridview表格的数据要导入后台数据库表中时,如果记录比较多,用SQL速度慢,尝试用批量导入,未能成功,继续努力;usingNpgsql;usingNpgsqlTypes;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingS......
  • JMeter测试WebSocket的经验总结
    最近有一个微信聊天系统的项目需要性能测试,既然是测试微信聊天,肯定绕不开websocket接口的测试,首选工具是Jmeter,网上能搜到现成的方法,但是网上提供的jar包往往不是最新的,既然是用最新版本的Jmeter4.0,那么所依赖的插件jar包也应该追求新的。所以提供了以下链接供大家下载(甚至连源码......
  • java调用jmeter集群服务压力测试 jmeter数据库压测
    目录〇、前言。一、jmeter工具安装。二、数据库驱动插件jar包安装。三、脚本开发与调试。四、加压设置。五、数据监听。  正文〇、前言。依据云栖大会项目部分数据库压测经验编写。一、jmeter工具安装。1、Apache官网下载地址:https://jmeter.apache.org/download_j......
  • jmeter入门:数据库压力测试全解析
    一.下载安装下载地址https://jmeter.apache.org/download_jmeter.cgi解压,打开apache-jmeter-5.2.1\binjmeter.bat即可。 二.配置jmeter1.添加线程组其中参数为:线程数:相当为50个用户ramp-up:每秒增加的线程数0相当于并发循环次数:emmm....2.配置jdbc以下选项需......
  • Jmeter对数据库做压力测试,完整过程
    Jmeter对数据库做压力测试一、环境:apache-jmeter-5.0,Oracle11g、windows7、jdk1.8、ojdbc14-10.2.0.2.0.jar二、操作配置:2.1、启动Jmeter Jmeter初始化界面.png  2.2、界面切换到中文界面切换语言.png  中文界面.png    2.3、在项目上添加一个线程组 ......