黑盒测试、白盒测试到底差别是什么?

黑盒测试、白盒测试到底差别是什么?邓小平曾言:不管白猫、黑猫,能抓到老鼠就是好猫。如果用在软件测试领域,这句话也一点都没错。不管黑盒、白盒,能找出Bug、发现缺陷,保证软件质量才是王道。对于刚踏足软件测试的新手小白来说,黑盒测试、

大家好,又见面了,我是你们的朋友全栈君。

 

*曾言:不管白猫、黑猫,能抓到老鼠就是好猫。
 

       如果用在软件测试领域,这句话也一点都没错。不管黑盒、白盒,能找出Bug、发现缺陷,保证软件质量才是王道。
 

       对于刚踏足软件测试的新手小白来说,黑盒测试、白盒测试绝对是入门必学词汇之一。不过,他们说的黑是什么黑?白又是什么白?两者的区别到底在哪里呢?且听我一一道来。
 

       最大区别:关注对象不一样
 

       黑盒测试和白盒测试,二者最大的区别应该就是测试时关注的对象不一样。

       黑盒测试主要针对的是程序所展现给用户的功能,白盒测试主要针对的是程序代码逻辑,简单的说,就是前者测试最终展示功能,后者测试后台程序。
 

       黑盒测试
 

       黑盒,顾名思义就是:把测试对象看作一个不能打开的黑盒子。测试时,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,检验输出结果对不对。

<span role="heading" aria-level="2">黑盒测试、白盒测试到底差别是什么?

       白盒测试
 

       与黑盒恰恰相反,这种方法是把测试对象看作一个打开的透明盒子。测试时,测试人员会利用程序内部的逻辑结构及有关信息,通过在不同点检查程序状态,检验程序中的每条通路是否都能按预定要求进行正确工作。

<span role="heading" aria-level="2">黑盒测试、白盒测试到底差别是什么?

       举个栗子,加深理解
 

       说到这里,我们来举一个生活中的小栗子,相信能更好的帮你理解这两种测试方法。

       假设,小A和小B是一对情侣,决定在家做饭。小A让小B出门买菜,最好一个小时内能买齐回家。

       如果在黑盒模式下,小A(测试人员)会为小B列出一张购买清单(所谓:需求规格说明书),然后告诉小B,现在是9:45,只要在10:45之前买齐所有东西,带着回家就可以了。

<span role="heading" aria-level="2">黑盒测试、白盒测试到底差别是什么?

       如果在白盒模式下,就可能是下面这样的情况。

       小B达到指定的菜场后,小A开始电话远程指挥:

       首先买肉,卖肉的摊位,你要去指定的那一家。

       你现在进的是南门吗?走南门的话,进去,靠右走,一直走到最里面……

       什么?你走的北门?如果是走北门的话,一进去,先左拐,走到头,到卖酸奶那里,往右拐,一直往前走……

       跟老板说要买黑猪肉,要前腿,不要后腿,6两就够了。

       好了,现在去买豆芽。

       豆芽一定要看好日期,看看是不是今天的。如果不是今天的,就买昨天的。如果昨天的也没有,就不新鲜了。

       哦,对了,有三种牌子的豆芽,一种散称的,两种袋装的。要是袋装的没有,就买散称的。如果你买散称的,你要看看根儿黑了没,别挑杆太肥的……

       接下来……

 

       总有人喜欢比较:黑盒测试和白盒测试到底哪个更好呢?其实,从上面的例子也不难看出,两者的优势各不相同。但无论采用哪种测试方法,毫无疑问都是为了找出缺陷,发现风险,从而确保软件的缺陷更少,质量更好。黑盒和白盒,始终交织出现在我们的测试工作中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154765.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 定时任务之crontab命令「建议收藏」

    定时任务之crontab命令「建议收藏」定时任务之crontab命令

    2022年4月21日
    52
  • Linux查看redis版本(查看mongodb版本)

    快半年没有在Linux中使用redis了,命令有些生疏了,网上很多博文也不对,不知道博主是否直接复制的来的。以下为重新整理资料,便于忘记时候复习首先进入cd/usr/local目录不用说了我把redis安装到了redis文件夹中了,在bin目录下找到redis-server使用./redis-server–version查看版本信息[red@RedFaceloc…

    2022年4月16日
    76
  • 80. Remove Duplicates from Sorted Array II

    80. Remove Duplicates from Sorted Array II

    2022年4月2日
    49
  • dijkstra算法求最短路例题_最短路问题算法

    dijkstra算法求最短路例题_最短路问题算法原题链接战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城市信息之后给出被攻占的

    2022年8月8日
    7
  • VsVim的vimrc

    VsVim的vimrc给VisualStudio安装VsVim后可在VS中使用vim的便捷编辑功能,很强大。同时也可通过vimrc文件来做些特殊配置,vimrc的搜索路径可通过在编辑器中输入“:set”查看。我的vimrc搜索路径如下:vimrcpaths=”C:\Users\chenbo;C:\Users\chenbo\vimfiles;C:\Users\chenbo”在C:\Users\Chenbo…

    2022年6月10日
    52
  • 二阶微分方程龙格库塔法_二阶龙格库塔法公式

    二阶微分方程龙格库塔法_二阶龙格库塔法公式一、计算公式对于形如以下的常微分方程:采用四阶龙格库塔法的计算公式:四阶龙格库塔法精度为4,属于单步递推法。单步递推法的基本思想是从(x(i),y(i))点出发,以某一斜率沿直线达到(x(i+1),y(i+1))点。二、实例计算对于下述二阶方程:f(q)为分段函数1、基本思想:令位移q为y(1),q的一阶导dq/dt为y(2),因此可得:dq/dt=y(2)令f(q)=fy令q的二阶导ddq/dt^2=-2*eptheton*y(2)-fy+Fm

    2025年5月22日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号