为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

白盒测试与黑盒测试

2017-10-17 4页 doc 18KB 21阅读

用户头像

is_083599

暂无简介

举报
白盒测试与黑盒测试白盒测试与黑盒测试 白盒测试概述 白盒测试实例 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格 说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作. 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所 有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致. 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法.其中软件的静态测试...
白盒测试与黑盒测试
白盒测试与黑盒测试 白盒测试概述 白盒测试实例 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格 说明的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作. 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所 有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致. 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法.其中软件的静态测试不 要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预 先按照一定的测试准则构造的实例数据来动态运行绦?而达到发现程序错误的过程. 白盒测试的测试方法有代码检查法,静态结构分析法,静态质量度量法,逻辑覆盖法,基本路径测试法,域测试,符号测 试,Z 路径覆盖,程序变异. 白盒测试法的覆盖有逻辑覆盖,循环覆盖和基本路径测试.其中逻辑覆盖包括语句覆盖,判定覆盖,条件覆盖,判定/ 条件覆盖,条件组合覆盖和路径覆盖. 六种覆盖标准:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的 变化.语句覆盖每条语句至少执行一次.判定覆盖每个判定的每个分支至少执行一次.条件覆盖每个判定的每个条件应取到各 种可能的值.判定/条件覆盖同时满足判定覆盖条件覆盖.条件组合覆盖每个判定中各条件的每一种组合至少出现一次.路径覆 盖使程序中每一条可能的路径至少执行一次. "白盒"法全面了解程序内部逻辑结构,对所有逻辑路径进行测试."白盒"法是穷举路径测试.在使用这一时,测试者必 须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据.贯穿程序的独立路径数是天文数字.但即使每条路径都测试 了仍然可能有错误.第一,穷举路径测试决不能查出程序违反了设计,即程序本身是个错误的程序.第二,穷举路径测试 不可能查出程序中因遗漏路径而出错.第三,穷举路径测试可能发现不了一些与数据相关的错误. [编辑本段 编辑本段] 编辑本段 如何挑选白盒测试工具 白盒测试 白盒测试目前主要用在具有高可靠性要求的软件领域,例如:军工软件,航天航空软件,工业控制软件等等.白盒测试工具在 选购时应当主要是对开发语言的支持,代码覆盖的深度,嵌入式软件的测试,测试的可视化等. 对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要包括词法分析与语法分析,静态错误分析,动 态检测等.但是对于不同的开发语言,测试工具实现的方式和内容差别是较大的.目前测试工具主要支持的开发语言包括:标 准 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 总线. 测试的可视化:白盒测试是工作量巨大并且枯燥的工作,可视化的设计对于测试来说是十分重要的.在选购白盒测试工具 时,应当考虑该款测试工具的可视化是否良好,例如:测试过程中是否可以显示覆盖率的函数分布图和上升趋势图,是否使用 不同的颜色区分已执行和未执行的代码段显示分配内存情况实时图表等,这些对于测试效率和测试质量的提高是具有很大的作 用的. [编辑本段 编辑本段] 编辑本段 白盒测试之基本路径测试法 白盒测试的测试方法有代码检查法,静态结构分析法,静态质量度量法,逻辑覆盖法,基本路径测试法,域测试,符号测 试,Z 路径覆盖,程序变异. 其中运用最为广泛的是基本路径测试法. 基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试 用例的方法. 设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次. 在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例.包括以下 4 个步骤和一个工具方法: 1. 程序的控制流图:描述程序控制流的一种图示方法. 2. 程序圈复杂度:McCabe 复杂性度量.从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序 中每个可执行语句至少执行一次所必须的测试用例数目的上界. 3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果. 4. 准备测试用例:繁;韭肪都械拿恳惶趼肪兜闹葱? 工具方法: 图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路 径集. 程序的控制流图:描述程序控制流的一种图示方法. 圆圈称为控制流图的一个 结点,表示一个或多个无分支的语句或源程序语句 流图只有二种图形符号: 图中的每一个圆称为流图的结点,代表一条或多条语句. 流图中的箭头称为边或连接,代表控制流 任何过程设计都要被翻译成控制流图. 如何根据程序流程图画出控制流程图? 在将程序流程图简化成控制流图时,应注意: 在选择或多分支结构中,分支的汇聚
/
本文档为【白盒测试与黑盒测试】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索