软件工程的白盒和黑盒测试

一、黑盒测试和白盒测试

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查。

1. 第一认识:

黑盒测试

测试特点:测试功能;

测试依据:需求规格说明书

方法举例:等价类划分、边界值测试

优点:能站在用户的立场上进行测试

缺点:不能测试程序内部特定部位,如程序有误,则无法发现。

白盒测试

测试特点:测试程序接口与结构

测试依据:软件程序

方法举例:逻辑覆盖

优点:对程序内部特定部位进行覆盖测试。

缺点:无法检验程序外部特性。

2.第二认识:

黑盒测试把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,针对“软件界面”和”软件功能“进行测试,只检查功能是否符合需求规格说明书能正常使用。因此黑盒测试又叫功能测试或数据驱动测试。

白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看作一个打开的盒子,他允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为”结构测试“或”逻辑驱动测试“。白盒测试是按照程序内部的结构来测试程序,通过测试检验产品内部动作是否按照设计规格说明书的要求正常进行,检验程序中的每条通道是否都按照规定正常工作。

3.第三认识:

黑盒测试主要是为了发现以下错误:

(1)是否有不正确或者遗漏了的功能;

(2)在接口上,输入能否正确的接受?能否输出正确的结果?

(3)是否有数据结构错误或外部信息(例如数据库文件)访问错误?

(4)性能上是否能够满足要求?

(5)是否有初始化或终止性错误?

黑盒的测试用例技术设计有三种:  边界值分析、等价类划分、错误推测法。

白盒测试主要是想对程序模块进行以下检查:

(1)对程序模块的所有独立的执行路径至少测试一遍;

(2)对所有的逻辑判定,取”真“与”假“的两种情况都能至少测一遍;

(3)在循环的边界和运行的界限内执行循环体;

(4)测试内部数据结构的有效性,等等;

(5)静态白盒测试  :即代码审查,正式审查和检验设计和程序代码;

(6)动态白盒测试 利用查看代码功能和实现方式得到的信息来设计和执行测试,也叫结构测试;

白盒的测试用例技术包括逻辑覆盖和基本路径测试。

逻辑覆盖:是以程序内在逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。

基本路径测试:在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

时间: 2024-10-12 06:04:29

软件工程的白盒和黑盒测试的相关文章

揭秘白盒与黑盒测试之间的秘密!-附加思维导图

结合了工作经验,写出了这篇文章,全是干货和经验分享.用您5分钟时间阅读完,希望能对您有帮助! 白盒测试 白盒测试(White-box Testing,又称逻辑驱动测试,结构测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能. 对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析.静态错误分析.动态检测等.目前测试工具主要支持

白盒测测测测测测测试

白盒测试法全面了解程序内部逻辑结构, 对所有逻辑路径进行测试. 白盒测试法是穷举路径测试.在使用这一方案时, 测试者必须检查程序的内部结构, 从检查程序的逻辑着手 , 得出测试数据. 1.白盒测试的范围 白盒测试是软件测试体系中一个分支, 测试关注对象是一行行可见代码,如果代码不可见,就不是白盒,而是黑盒测试了. 白盒测试也通常被认为是单元测试与集成测试的统称, 但这个概念是相对的, 与当前项目遵循的研发流程有关,某些流程把白盒测试划分为单元测试与集成测试, 而另一些流程, 把白盒测试划分为模块

白盒黑盒测试

白盒测试和黑盒测试我们在软工的时候就已经接触过了,好长时间没看了,回顾一下 一.定义 白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试. 黑盒测试:从用户的角度,从输入输出数据的对应关系出发进行测试的 从定义上来看白盒.黑盒好高大上啊,好像离我们很远,其实不然,我们在敲机房的时候就已经都用到了 比如说在控件中输入数据观察输出结果与预期是否相符,这就算是黑盒测试:当输出结果与预期不符时,我 们会对检查代码的逻辑等内容这就相当于白盒测试. 二.具体方法 白盒测试:覆盖标准有逻辑覆

软件测试不再黑盒— threadingtest带来第二代白盒覆盖率技术

软件测试不再黑盒- threadingtest带来第二代白盒覆盖率技术 穿线测试对于测试界的一个重大创新在于,在白盒测试理论出现数十年以后,上海零一拼装信息技术有限公司结合在测试理论方面十余年的潜心研究,率先提出了第二代覆盖率技术,这绝对不是一个口号,而是ZOA真正对于白盒测试的理解以及对于标准第三方测试服务的深度理解经过数年的基础研究以及2年有余的研发而推出的达到商用标准的技术.现在先让我们温习下经典的测试理论: 1.测试方法论 黑盒功能测试法 黑盒功能测试法, 是把要测试的软件看成一个 "黑

关于白盒与黑盒

开通黄钻 什么是黑盒测试和白盒测试? 任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试.黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求.白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查. 黑盒测试软件的黑盒测试意味着测试要在软件的接口处进行.这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说

黑盒和白盒

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求. 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查. 白盒测试和黑盒测试是根据对软件代码的可见性,采用的测试方法:凡是针对代码本身的测试,都可以看做是白盒测试,凡是不考虑代码如何实现,只对代码能实现的功能进行的测试都可以看作黑盒测试. 1.黑盒测试 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在

软件测试中的“黑盒”与“白盒”

软件测试中,最常听到“黑盒测试”与“白盒测试”,它们是软件测试中最基本的测试方法. 那么究竟何为“黑盒”,何为“白盒”呢?下面就对其概念与常用方法进行一下介绍. 黑盒测试: 也称功能测试.数据驱动测试,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试. 概念:黑盒测试是从一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试.其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点将被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完全不知道

黑盒、白盒、灰盒测试的基本概念

黑盒: 对于一段程序,对其测试时,不需要知道内部结构和特性,在输入接口处输入激励,观察输出是否正确. 主要用于软件界面和功能测试. 实际应用中,由于输入为无穷个,不仅要测试所有合法的输入,也要测试不合法但是可能发生的输入. 白盒: 白盒测试也称结构测试和逻辑驱动测试,知道程序内部结构,验证内部每条通路是否能正常工作. 也就是穷举路径测试,从检查程序的逻辑出发.主要用于软件验证. 但是, 第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序. 第二,穷举路径测试不可能查出程序中

商业级别Fortify白盒神器介绍与使用分析

什么是fortify它又能干些什么? 答:fottify全名叫:Fortify SCA ,是HP的产品 ,是一个静态的.白盒的软件源代码安全测试工具.它通过内置的五大主要分析引擎:数据流.语义.结构.控制流.配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配.查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告. 它支持扫描多少种语言? 答:FortifySCA支持的21语言,分别是: 1. asp.net      2. VB.Net