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

黑盒测试、白盒测试到底差别是什么?邓小平曾言:不管白猫、黑猫,能抓到老鼠就是好猫。如果用在软件测试领域,这句话也一点都没错。不管黑盒、白盒,能找出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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Struts2–自定义拦截器三种方式(实现Interceptor接口、继承抽象类AbstractInterceptor、继承MethodFilterInterceptor)「建议收藏」

    Struts2–自定义拦截器三种方式(实现Interceptor接口、继承抽象类AbstractInterceptor、继承MethodFilterInterceptor)「建议收藏」实现自定义拦截器在实际的项目开发中,虽然Struts2的内建拦截器可以完成大部分的拦截任务,但是,一些与系统逻辑相关的通用功能(如权限的控制和用户登录控制等),则需要通过自定义拦截器实现。本节将详细讲解如何自定义拦截器。1.实现Interceptor接口在Struts2框架中,通常开发人员所编写的自定义拦截器类都会直接或间接地实现com.opensymphony.xwork2.in…

    2022年5月14日
    50
  • linux网络重启失败「建议收藏」

    linux网络重启失败「建议收藏」问题:网络重启失败如下:[root@localhost~]#systemctlrestartnetworkJobfornetwork.servicefailedbecausethecontrolprocessexitedwitherrorcode.See”systemctlstatusnetwork.service”and”journalctl…

    2022年10月21日
    4
  • 我的第一款app

    上周末,也就是儿童节期间,窝在宿舍里敲了两天的代码,终于算是弄好了这个小游戏,虽然很简陋,被评为”看起来只需要一百行代码吧”,但确实消耗了我不少精力,成功消灭最后一个bug的时候,那种心情是无法言语的,兴奋激动.真的很高兴.地址贴上来,感兴趣的下了玩玩吧. 沙皮龙工作室 欢迎志同道合的孩子加入.虽然现在只我一人.我的第一款app地址最近几天考试继踵而至,数据结构,英语六级,还有通信原理

    2022年3月9日
    54
  • 使用RenderControl方法把GridView控件导出到EXCEL

    使用RenderControl方法把GridView控件导出到EXCEL// 把GridView输出到Excel文件       privatevoidExportExcel(GridViewgridView,stringtitle,stringtitle2,stringfileName)       {           intnHideCols=0;           //如果不想输出出某列,将Visible

    2022年7月20日
    15
  • 怎么使用linux命令重启服务器

    怎么使用linux命令重启服务器

    2021年10月8日
    43
  • python怎么表示取余_python如何实现取余操作

    python怎么表示取余_python如何实现取余操作python实现取余操作的方法:可以利用求模运算符(%)来实现。求模运算符可以将两个数相除得到其余数。我们还可以使用divmod()函数来实现取余操作,具体方法如:【divmod(10,3)】。在python中要实现取余操作可以使用求模运算符(%),该运算符可以将两个数相除得到其余数。(推荐教程:Python入门教程)如果一个数恰好能被另外一个数据整除,则余数为0,%运算后返回结果为0。可利用余数…

    2022年4月25日
    58

发表回复

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

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