`
- 浏览:
40715 次
- 性别:
- 来自:
西安
-
白盒测试(White-box Testing,又称逻辑驱动测试,结构测试)是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试又称为结构测试和逻辑驱动测试。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。
如何挑选白盒测试工具
白盒测试目前主要用在具有高可靠性要求的软件领域,例如:军工软件、航天航空软件、工业控制软件等等。白盒测试工具在选购时应当主要是对开发语言的支持、代码覆盖的深度、嵌入式软件的测试、测试的可视化等。
对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。但是对于不同的开发语言,测试工具实现的方式和内容差别是较大的。目前测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java、Visual J++等。
代码的覆盖深度:从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括以下不同的覆盖标准:语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖和修正判定条件覆盖。
·语句覆盖 为了暴露程序中的错误,程序中的每条语句至少应该执行一次。因此语句覆盖(Statement Coverage)的含义是:选择足够多的测试数据,使被测程序中每条语句至少执行一次。语句覆盖是很弱的逻辑覆盖。
·判定覆盖 比语句覆盖稍强的覆盖标准是判定覆盖(Decision Coverage)。判定覆盖的含义是:设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”,或者说使得程序中的每一个取“真”分支和取“假”分支至少经历一次,因此判定覆盖又称为分支覆盖。
·条件覆盖 在设计程序中,一个判定语句是由多个条件组合而成的复合判定。为了更彻底地实现逻辑覆盖,可以采用条件覆盖(Condition Coverage)的标准。条件覆盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。
·多条件覆盖 多条件覆盖也称条件组合覆盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和条件判定组合覆盖的。
·修正条件判定覆盖 修正条件判定覆盖是由欧美的航空/航天制造厂商和使用单位联合制定的“航空运输和装备系统软件认证标准”,目前在国外的国防、航空航天领域应用广泛。这个覆盖度量需要足够的测试用例来确定各个条件能够影响到包含的判定的结果。它要求满足两个条件:首先,每一个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and、or)连接的布尔条件,每个条件对于判定的结果值是独立的。
不同的测试工具对于代码的覆盖能力也是不同的,通常能够支持修正条件判定覆盖的测试工具价格是极其昂贵的。
嵌入式软件的测试:对于嵌入式软件的测试,我们还需要一方面进一步考虑测试工具对于嵌入式操作系统的支持能力,例如DOS、Vxworks、Neculeus、Linux和Windows CE等;另一方面还需要考虑测试工具对于硬件平台的支持能力,包括是否支持所有64/32/16位CPU 和 MCU,是否可以支持 PCI/VME/CPCI 总线。
测试的可视化:白盒测试是工作量巨大并且枯燥的工作,可视化的设计对于测试来说是十分重要的。在选购白盒测试工具时,应当考虑该款测试工具的可视化是否良好,例如:测试过程中是否可以显示覆盖率的函数分布图和上升趋势图,是否使用不同的颜色区分已执行和未执行的代码段显示分配内存情况实时图表等,这些对于测试效率和测试质量的提高是具有很大的作用的。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
白盒测试 白盒测试 白盒测试 白盒测试
软件测试 实验报告 白盒测试 三角形 软件测试 实验报告 白盒测试 三角形 软件测试 实验报告 白盒测试 三角形
白盒测试流程图1
白盒测试方法 ,单元测试与白盒测试的区别
白盒测试 控制流图法 单元测试白盒测试 控制流图法 单元测试白盒测试 控制流图法 单元测试白盒测试 控制流图法 单元测试白盒测试 控制流图法 单元测试
本文档全面的书写了对三角形进行白盒测试的过程,初涉软件测试的童鞋们可以参考,希望对大家能有帮助~
相关白盒测试的技术试验报告模板,下载可以了解白盒测试
NextDate函数白盒测试 自己写的 软件测试白盒文档
开关电源白盒测试规范
本文档的编写目的在于为此程序(triangle.cpp)进行三角型问题的白盒测试,包括:界面设计、输入输出。具体需求参照三角形问题,利用白盒测试中路径测试方法建立测试用例,编写测试计划文档、测试总结报告
xauat软件质量保证与测试实验报告,包含了整体的黑盒测试,白盒测试,系统测试三种,是三分独立的报告,需要的请下载。需要doc请csdn联系我
软件工程导论实验报告 白盒测试 黑盒测试.docx软件工程导论实验报告 白盒测试 黑盒测试.docx软件工程导论实验报告 白盒测试 黑盒测试.docx软件工程导论实验报告 白盒测试 黑盒测试.docx软件工程导论实验报告 白盒...
白盒测试测试用例设计,实验中经常用到的典型的白盒测试案例!
运用基于控制流的动态白盒测试方法,对WeekA 程序中的方法getWeekday()进行测试。设计测试用例时,尽 可能设计最少的测试用例数,同时保证每种覆盖方法的覆盖率尽可能达到100%。
编写程序输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形及等边三角形时,分别说明,并对该程序进行白盒测试。
这是软件质量测试课程的实验六:白盒测试的实验报告模板
白盒测试实例 用现实中的实例说明白盒测试过程
掌握软件测试技术中白盒测试方法; 掌握如何进行单元测试。 1.2背景 说明: a. Windows XP,VC++; b. 阅读客户的需求说明文档; 1.3定义 a:三角型的第一条边 b:三角型的第二条边 c:三角型的第三条边 普通三角形...
python,三角形测试,黑盒测试,白盒测试,unittest,HTMLTestRunner生成测试报告,