黑盒测试与白盒测试的区别,什么是白盒测试和黑盒测试?有什么区别?

发布时间:2020-07-11 08:35:20

黑盒测试与白盒测试的区别,什么是白盒测试和黑盒测试?有什么区别?

网友回答

一、测试方式不同
  1、黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。
  2、白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
  二、测试目的不同
  1、黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照回需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
  2、白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。  
  三、测试原则不同
  1、黑盒测试:以用户的角,从输答入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
  2、白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试true和false两种情况。  参考资料来源:度百科-白盒测试
  参考资料来源:百度百科-黑盒测试

网友回答

白盒测试:
  是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法、溢出、路径和条件等方面的缺点或者错误,进而加以修正。
  黑盒测试:
  又称功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试,,而并没有通过检查程序的源代码,或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据看输出的结果,从而了解软件怎样工作。应该更适合测试网页游戏。
  区别一:从定义上
  白盒测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。而黑盒测试着重测试软件功能,它并不涉及程序的内部结构和内容特性。黑盒测试并不能取代白盒测试,它与白盒是互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。
  区别二:从测试目的上
  黑盒测试的目的是检测是否有不正确或遗漏的功能;数据或者参数上,输入能否正确接收;是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有初始化或终止性错误。而白盒测试的目的是通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,而不顾它的功能。
  区别三:检测方式上
  白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用。
  扩展资料
  白盒测试的优点:
  1.能仔细考虑软件的实现
  2.可检测代码中的每条分支和路径 
  3.揭示隐藏在代码中的错误
  4.对代码的测试比较彻底
  白盒测试的缺点:
  1.昂贵
  2.无法检测代码中遗漏的路径和数据敏感性错误
  3.不验证规格的正确性
  黑盒测试的优点:
  1.对于子系统甚至系统效率要比白盒测试高
  2.测试人员不需要了解实现的细节(特定编程语言)
  3.测试人员和编程人员彼此独立 
  4.从用户的角进行测试很容易理解和接受
  5.有助于暴露规格的不一致或有歧义的问题 
  6.测试用例可以在规格完成后马上进行
  黑盒测试的缺点: 
  1.只有一小部分输入被测试到,要测试每个可能的输入几乎不可能。
  2.没有清晰、简明的规格,测试用例很难设计。
  3.如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复。
  4.有很多程序路径没有被测试到。
  5.不能直接针对特定程序段测试,而这些程序段可能很复杂,有可能隐藏更多的问题。
  6.大部分和研究相关的测试都是直接针对白盒测试的。
  参考资料:度百科-黑盒测试白盒测试
以上问题属网友观点,不代表本站立场,仅供参考!