软件测试黑盒测试和白盒测试的区别 黑盒测试和白盒测试的区别( 二 )


黑盒测试和白盒测试有什么区别?

软件测试黑盒测试和白盒测试的区别  黑盒测试和白盒测试的区别

文章插图
测试对象的属性是不同的 。
黑盒测试又称功能测试,是测试各种功能是否能正常使用 。在测试中,程序被视为打不开的黑匣子 。在不考虑程序内部结构和特性的情况下,测试是在程序接口上进行的 。它只检查程序功能是否按要求正常使用,程序是否能正确接收输入数据并产生正确的输出信息 。黑盒测试侧重于程序的外部结构,不考虑内部逻辑结构,主要测试软件接口和软件功能 。
从用户的角度来看,黑盒测试基于输入数据和输出数据之间的对应关系 。显然,如果外部特性的设计或规格有问题,黑盒测试方法是发现不了的 。
理论上,黑盒测试只有采用穷举输入测试,以所有可能的输入作为测试条件,才能找出程序中的所有错误 。其实测试的情况有无限多种 。人们不仅要测试所有合法的输入,还要测试那些非法但可能的输入 。从这个角度来看,完全的测试是不可能的,所以需要有针对性的进行测试,通过制定测试用例来指导测试的实施,确保软件测试有组织、有步骤、有计划的进行 。为了保证软件的质量,有必要对黑盒测试行为进行量化,测试用例是对测试行为进行量化的方法之一 。具体的黑盒测试用例设计方法有等价类划分法、边界值分析法、错误推断法、因果图法、决策表驱动法、正交测试设计法、功能图法、场景法等 。
等价类划分的方法是将程序的输入域划分为若干个部分(子集),然后从每个部分中选取若干个有代表性的数据作为测试用例 。每个类别的代表性数据相当于测试中该类别的其他值 。该方法是一种重要且常用的黑盒测试用例设计方法 。
什么是白盒测试和黑盒测试?有什么区别?
白盒测试:
指被测程序的实际运行,不使用用户界面,通过程序的源代码进行测试 。这种测试需要从代码语法中找出内码在算法、溢出、路径、条件等方面的不足或错误,然后进行修正 。
黑盒测试:
也称为功能测试、黑盒测试或基于规范的测试,是在不检查程序源代码,不知道软件源代码程序是如何设计的情况下,使用整个软件或某个软件功能的严格测试 。测试人员可以通过输入他们的数据并查看输出结果来理解软件是如何工作的 。应该更适合测试网页游戏 。
区别一:根据定义 。
【软件测试黑盒测试和白盒测试的区别黑盒测试和白盒测试的区别】白盒测试需要从代码语法中发现内部代码在算法、溢出、路径、条件等方面的不足或错误,然后进行修正 。黑盒测试侧重于测试软件功能,不涉及程序的内部结构和内容特征 。黑盒测试不能代替白盒测试,它是与白盒测试互补的测试方法,很可能发现白盒测试中不易发现的其他类型的错误 。
区别二:以测试为目的 。
黑盒测试的目的是检测是否有不正确或缺失的功能;就数据或参数而言,是否能正确接收输入;是否存在数据结构错误或外部信息访问错误;性能是否能满足要求;是否存在初始化或终止错误 。白盒测试的目的是通过检查程序在不同点的状态来确定实际状态是否与预期状态一致,而不考虑其功能 。
区别三:检测方法
白盒测试是穷举路径测试,黑盒测试是穷举输入测试 。这两种方法基于完全不同的观点,反映了事物的两个极端 。它们各有侧重,各有优势,但不能互相替代 。在现代测试理念中,这两种测试方法并不是完全分离的,而是交替使用的 。
扩展数据
白盒测试的优势: