高考考试网
当前位置: 首页 高考资讯

软件白盒测试和黑盒测试的区别(软件测试干货重温黑盒)

时间:2023-08-21 作者: 小编 阅读量: 4 栏目名: 高考资讯

但说实话,日常工作中我使用灰盒测试方法的场景相对较多,总结来说,就这么一个流程:发现问题-->我大概知道你是怎么玩的-->初步定位问题原因-->同开发确定问题-->接下来呢?恰好,我最近遇到一个问题,并且刚好使用到灰盒测试方法,分享给大家窥其一二。这算是一次我所理解的完整的灰盒测试,也是我一直推荐给组内人员的高效率的一种工作方式:我大概知道你是怎么实现业务的,实践定位问题,达到快速解决问题的目的。

对于黑盒、白盒与灰盒测试方法的理解,几年前我在某乎做过一个概念性的回答,当时提问者询问:如何跟非技术人员解释黑盒、白盒、灰盒测试的区别?

我的回答原文如下:


既然是对非技术人员解释,就不能用专业术语。

这样说吧,有个打孔机,类似这样。

纸条从盒子左方插入,从右方出来时,分别打出圆形、正方形、三角形三个样式的孔。

某天,打出来的纸条,只有一种图形。

黑盒测试员只能说:“这个打孔机坏了!”

灰盒测试员把打孔机的盖子掀开,发现打孔机的造型原来是这样的。

于是他说:“机器仍能打孔,说明主机没坏;三个桩子也都是好的;但只打印出了圆形,可能因为连接正方形和三角形桩子的地方有问题。”

白盒测试员把机器拆开,查看内部的电线、电路、控制器等等,发现连接正方形和三角形的电线烧坏了,于是说:“原因找到了,换根电线吧。”


彼时,我还是一位测试小鸟,在研习了不少理论知识后,回答了这个问题。现在,我算不上测试老鸟,但能算个测试大鸟,在工作中,越发频繁地接触这三种测试方法。

如果你要问我哪种测试方法更好,我不置评价,每个人的口味不一样,别人适合的不一定自己适合。

对于黑盒测试方法来说,是每一位测试的必备技术,没有谁不会:发现问题,抛出问题。简单、轻松、快速,是黑盒测试的优点,特别是在项目特别赶,测试时间无限被压缩的时候——只需要抛给开发问题,剩下的让开发自个儿玩去吧。

但黑盒测试人员常常被人诟病只知道点点点,抛开此类“鄙视”不谈,接着上面继续,我们是不是忽略了一个事实:项目既然赶,那开发的时间亦不充足,如果恰好遇上稍稍复杂的bug,并搭配不靠谱的开发,一个bug的生命周期可能会拉得极长,效率特别低下。

这么说,那用白盒测试方法呗,看代码,查原因,丢给开发后,留下一个高大帅气的背影,让开发心里默念——这个测试不简单。

白盒测试可以,但使用它时,你需要盘算盘算:

是否有充足的时间研究代码以及和代码相关的环境部署、配置设置等?

付出和产出是否成正比,如同自动化测试,能达到高性价比吗?

白盒是一种选择,但同样是一个难题。更别说白盒对于测试技术的高要求。

废话了这么多,你一定会说:风风,你不就是拐弯抹角地推荐灰盒测试嘛。

我不知道该怎么回答你,就像刚开始说的,每个人的口味不一样,适合自己的测试方法,最醇最香。

但说实话,日常工作中我使用灰盒测试方法的场景相对较多,总结来说,就这么一个流程:

发现问题-->我大概知道你是怎么玩的-->初步定位问题原因-->同开发确定问题-->接下来呢?

会分成两类:

1、我定位的原因并不是真正的原因。但我能通过这个过程学习到新知识、新业务,积攒个人经验(很多人往往弃步于此)

2、我定位的问题是真正的原因。就此打住吗?并不是。你能提出问题的解决建议吗?你的建议是否比开发的修改 or 产品给的方案更好,更具有可实施性?

合理地提出解决问题的建议,这才是你关注的重点,而不是因为找到问题原因而沾沾自喜,迷失于他人的赞许中。

实践是检验真理的唯一标准。恰好,我最近遇到一个问题,并且刚好使用到灰盒测试方法,分享给大家窥其一二。

先描述下业务:

我测试的X系统会从配置系统拉取几条数据,并保存在数据库A(读写库)中,数据库A又会将新数据实时同步到数据库B(读写库)中。业务上:a类用户从数据库A中读数据,b类用户从数据库B中读数据。

再说下bug:

我在配置系统删除了一条数据,结果a类用户没有读到该条数据(预期结果),b类用户却读到了该条数据(非预期结果)。去数据库查看,A库没有被删除的数据,B库仍然存在被删除的数据。

按理说,走到这一步,便可以到bug系统提交一条bug指给开发解决。不过我想到开发最近天天晚上加班,并且我之前提的几个bug反复修改,开发效率很低,加之临近上线,时间被压缩,于是乎,我额外抽出一点时间,简单定位下问题。

这个问题看起来简单,无非是同步导致两个库的数据不一致,可以得出两个猜测:

一 同步没有触发。

二 同步触发了,但数据没有在B库落库。

接着,我做了一个实验:在配置系统修改了一条数据,结果A库和B库的数据保持一致。据此,猜测一不成立。

紧接着,我又做了一个实验:进入A库,在数据库内删除一条数据,奇怪的是,B库的数据被删除了,猜测二也不成立。

两种猜测同时被证明无效,那问题究竟出在哪里呢?

于是,我上到服务器,重新在配置系统删掉一条数据,并触发了一次同步操作,我在日志上找到了两条sql:

truncate table xxtable;

insert into xxtable……;

到此,我恍然大悟。

原来因为这个业务的数据不多,开发可能是这样处理的:从配置系统拉取数据时,先清空A库的xxtable,再向A库的xxtable插入数据,以此简化数据增删改的逻辑。但我司DBA做过处理,不允许数据库级别之间进行truncate table的同步。

最后找开发讨论,果真是这个问题。

怎么解决呢,将truncate table xxtable换成delete from xxtable即可。

这算是一次我所理解的完整的灰盒测试,也是我一直推荐给组内人员的高效率的一种工作方式:我大概知道你是怎么实现业务的,实践定位问题,达到快速解决问题的目的。

最后,一如既往地做个总结吧:

  • 测试时,特别简单的bug建议直接抛出,让开发去玩,没必要浪费精力定位问题
  • 复杂问题多总结,定位问题时头脑要清晰且灵活,证实或否定每一个猜测
  • 和开发打好关系(或强制要求),让他们在解决bug的时候注明bug产生的原因
  • 多花时间在业务上,绝对物超所值
    推荐阅读
  • 为了一个人不值得的文案短句(文案日保持人间清醒)

    ——东野圭吾《盛夏的方程式》10、生命中的全部偶然,其实都是命中注定。——东野圭吾《宿命》11、人心也是科学,而且意想不到的深奥。——亦舒《玫瑰的故事》15、不必对全世界失望,百步之内,必有芳草。——《小王子》32、所谓的听天由命,是一种得到证实的绝望。——《瓦尔登湖》35、智慧和纯洁来自努力,无知和纵欲来自懒惰。——路遥《平凡的世界》55、日头下去了,明天早上还会出来。

  • 显卡矿机和硬盘矿机(显卡矿机到底是如何运作的)

    简单的来说,CPU属于中央处理,其需要进行许多综合运算,而GPU的设计只是需要做图像处理运算,所以GPU的运算速度会比CPU更快。显卡挖矿主要是利用显卡中的SP单元进行操作,SP单元可以说是显卡的核心,SP单元的数量直接决定了处理能力的大小。通常来说,N卡自行研制的1个SP单元的运算速度相当于4个A卡的SP单元运算速度。但是目前A卡的RadeonRX580/570在挖矿方面被得到了认可,已经处于脱销状态。

  • 命格是什么意思(有命格学这门学科吗)

    命格是什么意思命盘是和你出生的那一刻,天空中星体排列位置完全一样的星图。因此要排出一份正确的星盘首先得有确切的出生日期与时间以及出生地点。命理学命格,是推测个人未来命运的学问。世界貌似很大,其实很小只限于自己看的见的,手摸得到的。也是因此,古人认为祈福是重要的事情,女士需要带昱珀,男士带红竹石饰品,在结印册上添加“但马土佐、梦窗疏石、隐岐元简”结押从而可以祈福带来人生幸福的机遇。

  • 鳗鱼鱼鳔的功效与作用(鳗鱼鱼鳔有什么功效)

    以下内容希望对你有帮助!鳗鱼鱼鳔的功效与作用鳗鱼鱼鳔的功效与作用首先可以滋阴养血,改善人体造血功能,缓解人体气血流失。其次可以补肾壮阳,有效改善人体肾功能具有补肾、壮阳、壮腰的重要功效,特别适合男性阳痿、早泄等症状。另外还可以补钙壮骨,促进骨骼发育提高骨骼的韧性和密度。含有的可以促进人体对钙的吸收,预防骨骼和关节损伤以及骨质疏松症。

  • 派出所开展治安集中清查行动(文峰派出所开展治安复杂区域整治集中清查)

    中国江苏网讯为深入推进全市治安复杂区域整治攻坚,严密落实社会治安管控措施,确保“五一”小长假期间辖区社会治安稳定,日前,南通市公安局文峰派出所民警对辖区治安复杂区域开展集中清查。同时,民警在清查中开展防范电信网络诈骗宣传,进一步提升群众识骗防骗能力。

  • 大盘迎来六连阳盘面释放重要信号(涨停王者五日线遇阻)

    大盘迎来六连阳盘面释放重要信号今日市场早盘在科技和券商带动下冲击五日线,但资金跟风意愿不强导致逐步回落,沪指盘中翻绿,最终红盘报收。板块上,芯片、无线耳机板块领涨,盘中券商等异动拉升但都未能持续,有色和医药板块领跌。大盘继续上演老套路,先是利好刺激市场高开,冲高后没有资金接力再顺势回落。只有充份蓄势后放量突破2893点后,才能确认市场将发起反攻,在这之前,谨慎操作,继续观望或者逢低关注科技股低吸机会。

  • 十二星座都怕什么星座(十二星座的克星分别是什么星座)

    而双子座嫌弃水瓶座的一点就是,觉得他们很轴,脑袋转不过弯来,很是讨厌。而处女座本身是比较阳光向上的,所以他们挺不想跟天蝎座亲近的。而天秤座却是相当高调,这让水瓶座会觉得很丢脸,不想跟这样的人在一起。而处女座就很讨厌这样的做法,他们总是一板一眼的,要求所有人跟自己一样,因此这两人合不来。

  • 为什么蟑螂爬过的食物有股难闻的气味

    蟑螂非常贪食,对食物几乎不加选择,除了人吃的饭菜和食品外,还吃垃圾和腐坏的脏东西。此外,它还常常损坏人们的衣服、皮毛物以及书籍等。蟑螂,也叫蜚蠊,是一种狡猾的昆虫,白天躲在阴暗隐蔽处,晚间却出没在厨房、卧室、仓库等地方。不仅蟑螂具有臭腺,其他昆虫象臭虫的身体里也有臭腺。如用敌百虫1份、硼砂5份和面粉20份,加糖少许,用水调和做成黄豆大的丸子,散布在蟑螂匿居和活动的地方,蜂螂吃下后就被毒死。

  • 电影版亮剑为什么没有李幼斌(原班人马出演唯独不见李幼斌)

    影版《亮剑》中饰演男主角李云龙的是演员李梦男,不知是有心还是无意,李梦男在形象和气质上确实和李幼斌有些相似,甚至可以看出他有点模仿李幼斌的表演。不过,虽然不能和前辈李幼斌相比,但是李梦男的表演也有自己出彩的地方,特别是在经典的开炮桥段,他也表现出了李云龙孤注一掷的决心。因此在这一部分,李梦男的演技还是得到了一部分观众的认可。