![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/377.jpg)
黑盒测试:Black box testing
黑盒测试是指在测试过程中不关注程序内部的处理逻辑,只关注输入和输出。
如果输入一个测试数据,输出的结果是正确的,就认为这个功能是正确的,也叫作数据驱动测试。
举个栗子:
手机上的计算器应用。
我们直接在手机上输入 1+1= , 如果此时输出的结果上2,就证明这个运算是对的。这个过程中我们并不关注内部程序是是怎么进行运算出来的,只要结果是符合我的输入就OK。这种测试方法就叫着做黑盒测试。平常我们的点点点测试也属于黑盒测试。
白盒测试:
是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法、溢出、路径和条件等方面的缺点或者错误,进而加以修正。
黑盒测试:
又称功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试,,而并没有通过检查程序的源代码,或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据看输出的结果,从而了解软件怎样工作。应该更适合测试网页游戏。
区别一:从定义上
白盒测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。而黑盒测试着重测试软件功能,它并不涉及程序的内部结构和内容特性。黑盒测试并不能取代白盒测试,它与白盒是互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。
区别二:从测试目的上
黑盒测试的目的是检测是否有不正确或遗漏的功能;数据或者参数上,输入能否正确接收;是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有初始化或终止性错误。而白盒测试的目的是通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,而不顾它的功能。
区别三:检测方式上
白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用。
扩展资料
白盒测试的优点:
1.能仔细考虑软件的实现
2.可检测代码中的每条分支和路径
3.揭示隐藏在代码中的错误
4.对代码的测试比较彻底
白盒测试的缺点:
1.昂贵
2.无法检测代码中遗漏的路径和数据敏感性错误
3.不验证规格的正确性
黑盒测试的优点:
1.对于子系统甚至系统效率要比白盒测试高
2.测试人员不需要了解实现的细节(特定编程语言)
3.测试人员和编程人员彼此独立
4.从用户的角度进行测试很容易理解和接受
5.有助于暴露规格的不一致或有歧义的问题
6.测试用例可以在规格完成后马上进行
黑盒测试的缺点:
1.只有一小部分输入被测试到,要测试每个可能的输入几乎不可能。
2.没有清晰、简明的规格,测试用例很难设计。
3.如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复。
4.有很多程序路径没有被测试到。
5.不能直接针对特定程序段测试,而这些程序段可能很复杂,有可能隐藏更多的问题。
6.大部分和研究相关的测试都是直接针对白盒测试的。
参考资料:百度百科-黑盒测试白盒测试
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
黑盒测试
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。
黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
白盒测试
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
灰盒测试
灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。
软件测试里面功能测试、业务测试以及黑盒测试区别为:测试目的不同、测试方式不同、测试顺序不同。
一、测试目的不同
1、功能测试:功能测试的测试目的是对产品的各功能是否符合需求进行验证。
2、业务测试:业务测试的测试目的是对产品的操作是否业务的逻辑流程。
3、黑盒测试:黑盒测试的测试目的是检测每个功能是否都能正常使用。
二、测试方式不同
1、功能测试:功能测试的测试方式为不考虑程序内部的逻辑结构和内部特性,只检查产品的功能是否符合它的功能说明。达到了用户的需求,则证明该软件通过测试,未达到需求,则需尽快解决。
2、业务测试:业务测试的测试方式为测试人员以业务逻辑流程线使用产品,运行正常,则证明该软件通过测试,运行出现报错,则需尽快解决。
3、黑盒测试:黑盒测试的测试方式为从数据输出时若与预计数据一致,则证明该软件通过测试,若数据与预计数据有出入,即便出入较小亦证明软件程序内部出现问题,需尽快解决。
三、测试顺序不同
1、功能测试:功能测试的测试顺序在业务测试之前,黑盒测试之后。
2、业务测试:业务测试的测试顺序在黑盒测试和功能测试之后。
3、黑盒测试:黑盒测试的测试顺序在功能测试和业务测试之前。
常用的黑盒测试方法有划分等价类、边界值分析法、错误推测法、因果图法、判定表组成法、正交试验设计、场景法。
黑盒测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下。
在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
介绍:
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
黑盒测试被称为功能测试或数据测试,在测试时,将被测软件视为一个不能打开的盒子,在完全不考虑程序内部结构和内部特性的情况下来进行测试,采用黑盒测试的主要目的是在已有软件产品所应具有的功能等基础上进行下列操作:
1、检查程序功能是否按照需求规格说明书的要求正常使用,测试每个功能是否有遗漏,测试性能特性是否满足要求。
2、测试人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当的输入数据而产生正确的输出结果,保持外部信息(如数据库或文件)的完整性。
划分软件测试属于白盒测试还是黑盒测试的依据是:是否测试被测系统源程序。
在实际的项目测试过程中,选择和确定测试模型只是我们实施测试的第一步。另外,我们必须弄清楚在整个测试过程中需要进行哪些类型的测试,并根据不同的测试类型执行相应的测试,以便我们的测试工作能够有效地进行。那么软件测试是如何分类的?
1、根据项目流程阶段划分软件测试
是一个典型的“V”模型软件开发流程,各项软件测试工作是在项目开发流程中循序渐进进行的。下面将介绍各个阶段测试的含义。·单元测试:单元测试是对程序中的单个子程序或具有独立功能的代码段进行测试的过程。
2、白盒测试、黑盒测试、灰盒测试
白盒测试与黑盒测试,主要是根据软件测试工作中对软件代码的可见程度进行的划分。这也是软件测试领域中最基本的概念之一。
3、功能测试与性能测试软件的不同测试面可以划分为功能测试与性能测试。
功能测试主要检查实际功能是否符合用户的需求,因此测试的大部分工作也是围绕软件的功能进行。设计软件的目的就是满足用户对其功能的需求,如果偏离了这个目的,则任何测试工作都是没有意义的。
功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。
好了,本文就介绍到这里,愿我们如花绽放,不负韶华,学员们,加油!(来源:学分高考 https://www.xuefen.net)文章共7282字

微信扫码关注公众号
获取更多考试热门资料