白盒测试和黑盒测试的区别在于以下几个方面:1、定义不同;2、测试对象不同;3、测试方式不同;4、测试目的不同;5、测试原则不同。定义不同是指,黑盒测试,顾名思义就是把测试对象看作一个不能打开的黑盒子。
一、定义不同
黑盒测试:顾名思义就是把测试对象看作一个不能打开的黑盒子。测试时,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,检验输出结果对不对。
白盒测试:与黑盒恰恰相反,这种方法是把测试对象看作一个打开的透明盒子。测试时,测试人员会利用程序内部的逻辑结构及有关信息,通过在不同点检查程序状态,检验程序中的每条通路是否都能按预定要求进行正确工作。
二、测试对象不同
黑盒测试:主要针对的是程序所展现给用户的功能。
白盒测试:主要针对的是程序代码逻辑,简单的说,就是前者测试最终展示功能,后者测试后台程序。
三、测试方式不同
黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。
白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
四、测试目的不同
黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
五、测试原则不同
黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试 true 和 false 两种情况。
延伸阅读
测试方法
(一)等价类划分法
等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据划分为若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例。测试用例由有效等价类和无效等价类的代表数据组成,从而保证测试用例具有完整性和代表性。使用该方法设计测试用例主要有两个步骤:(1)确定等价类;(2)生成测试用例。
(二)边界值分析法
边界值分析法是对程序输入或输出的边界值进行测试的一种黑盒测试方法。实际的测试工作证明,考虑了边界条件的测试用例比那些没有考虑边界条件的测试用例具有更高的测试回报率。这里所说的边界条件,是指输入和输入等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。
(三)因果图法
因果图法也是较常用的一种黑盒测试方法,是一种简化了的逻辑图。因果图能直观地表明输入条件和输出动作之间的因果关系,能帮助测试人员把注意力集中到与程序功能有关的输入组合上。因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
(四)错误推测法
错误推测法是基于以往的经验和直觉,参照以往的软件系统出现的错误,推测当前被测程序中可能存在的缺陷和错误,有针对性地设计测试用例。
用错误推测法设计测试用例的基本思想是:列举出程序中可能犯出现的错误或容易发生错误的特殊情况的清单,然后根据清单和已经设计好的测试用例来编写特定的测试用例。例如,程序中出现的输入数据为“0”或者字符为空就是一种错误易发情况;在出现输入或输出的数量不定的地方,数量为“没有”和“一个”也是错误易发情况。特别需要注意的是,在阅读规格说明时联系程序员可能做的假设来确定测试用例,测试人员要站在用户的角度来考虑输入信息,而不必去管这些信息对于被测程序是合理还是不合理的输入。
文章标题:白盒测试和黑盒测试的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39131