软件工程之软件测试
2013-08-03 14:38
246 查看
常常见到"单元测试是白盒测试","单元测试也有黑盒"之类的说法,容易引起混乱。黑盒与白盒其实是测试方法,黑盒就是针对系统的外部特性进行测试,把目标系统看作一个黑盒子,不考虑内部结构;白盒就是针对系统的内部结构进行测试。各个测试阶段都可以使用黑盒方法和白盒方法,即无论是单元测试、集成测试、系统测试阶段都可以使用黑盒方法和白盒方法。
黑盒测试又叫功能测试,我们首先要测试程序是否实现了基本功能,因此,黑盒测试是基本测试。黑盒测试的主要缺陷是难于衡量完整性,而白盒测试正好可以弥补个缺陷。
白盒测试通过逻辑覆盖率来衡量完整性,具有可以精确统计的数字指标。逻辑单位主要有:语句、分支、条件、条件值、条件值组合,路径。语句覆盖就是覆盖所有的语句,其他类推。另外还有一种判定条件覆盖,其实是分支覆盖与条件覆盖的组合。跟条件有关的覆盖就有三种,解释一下:条件覆盖是指覆盖所有的条件表达式,即所有的条件表达式都至少计算一次,不考虑计算结果;条件值覆盖是指覆盖条件的所有可能取值,即每个条件的取真值和取假值都要至少计算一次;条件值组合覆盖是指覆盖所有条件取值的所有可能组合。与条件直接有关的错误主要是逻辑操作符错误,例如:||写成&&,漏了写!什么的,采用分支覆盖与条件覆盖的组合,基本上可以发现这些错误,而条件值覆盖与条件值组合覆盖往往需要大量的测试用例,因此,条件值覆盖和条件值组合覆盖的效费比偏低,比较有价值的覆盖率是语句覆盖、条件覆盖、分支覆盖、路径覆盖。
白盒测试
一、定义
白盒测试是一种测试用例设计方法。在这里,盒子指的是被测试的软件,白盒,顾名思义即是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。因此,白盒测试需要对系统内部的结构和工作原理有一定的了解,并且基于这个知识来设计你的测试用例。
二、使用白盒测试方法产生的测试用例能够完成的功能
(1) 保证一个模块中的所有独立路径至少被使用一次。
(2) 对所有逻辑值均测试true和false。
(3) 在上下边界以及可操作范围内运行所有循环。
(4) 检查内部数据结构以确定其有效性。
三、白盒测试的常用技术
(1) 静态分析技术
(2) 动态分析技术
(3) 测试数据生成
(4) 覆盖率:语句覆盖,判定覆盖,条件覆盖,路径覆盖
黑盒测试又叫功能测试。这是因为在黑盒测试中,主要关注于被测试软件的功能的实现,而不是内部逻辑。
二、黑盒测试用于发现的错误
(1) 功能错误或遗漏
(2) 界面错误
(3) 数据结构或外部数据库访问错误
(4) 性能错误
(5) 初始化和终止错误
三、黑盒测试的常用技术
(1) 没有用户参与的黑盒测试
(2) 有用户介入的黑盒测试
四、黑盒测试的方法
等价类划分,边界值分析,错误推测法
在黑盒测试中,我们不依据代码来决定测试用例,而是在了解需要解决的问题的情况下,组织四个方面的测试数据:易于计算的数据,典型数据,边界/极端数据,假数据。
黑盒测试又叫功能测试,我们首先要测试程序是否实现了基本功能,因此,黑盒测试是基本测试。黑盒测试的主要缺陷是难于衡量完整性,而白盒测试正好可以弥补个缺陷。
白盒测试通过逻辑覆盖率来衡量完整性,具有可以精确统计的数字指标。逻辑单位主要有:语句、分支、条件、条件值、条件值组合,路径。语句覆盖就是覆盖所有的语句,其他类推。另外还有一种判定条件覆盖,其实是分支覆盖与条件覆盖的组合。跟条件有关的覆盖就有三种,解释一下:条件覆盖是指覆盖所有的条件表达式,即所有的条件表达式都至少计算一次,不考虑计算结果;条件值覆盖是指覆盖条件的所有可能取值,即每个条件的取真值和取假值都要至少计算一次;条件值组合覆盖是指覆盖所有条件取值的所有可能组合。与条件直接有关的错误主要是逻辑操作符错误,例如:||写成&&,漏了写!什么的,采用分支覆盖与条件覆盖的组合,基本上可以发现这些错误,而条件值覆盖与条件值组合覆盖往往需要大量的测试用例,因此,条件值覆盖和条件值组合覆盖的效费比偏低,比较有价值的覆盖率是语句覆盖、条件覆盖、分支覆盖、路径覆盖。
白盒测试
一、定义
白盒测试是一种测试用例设计方法。在这里,盒子指的是被测试的软件,白盒,顾名思义即是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。因此,白盒测试需要对系统内部的结构和工作原理有一定的了解,并且基于这个知识来设计你的测试用例。
二、使用白盒测试方法产生的测试用例能够完成的功能
(1) 保证一个模块中的所有独立路径至少被使用一次。
(2) 对所有逻辑值均测试true和false。
(3) 在上下边界以及可操作范围内运行所有循环。
(4) 检查内部数据结构以确定其有效性。
三、白盒测试的常用技术
(1) 静态分析技术
(2) 动态分析技术
(3) 测试数据生成
(4) 覆盖率:语句覆盖,判定覆盖,条件覆盖,路径覆盖
黑盒测试
一、定义黑盒测试又叫功能测试。这是因为在黑盒测试中,主要关注于被测试软件的功能的实现,而不是内部逻辑。
二、黑盒测试用于发现的错误
(1) 功能错误或遗漏
(2) 界面错误
(3) 数据结构或外部数据库访问错误
(4) 性能错误
(5) 初始化和终止错误
三、黑盒测试的常用技术
(1) 没有用户参与的黑盒测试
(2) 有用户介入的黑盒测试
四、黑盒测试的方法
等价类划分,边界值分析,错误推测法
在黑盒测试中,我们不依据代码来决定测试用例,而是在了解需要解决的问题的情况下,组织四个方面的测试数据:易于计算的数据,典型数据,边界/极端数据,假数据。
相关文章推荐
- 软件工程——理论、方法与实践 之 软件测试
- 《软件工程 ——理论、方法与实践》知识概括第十章 软件测试
- 【读书笔记】软件测试技术大全:第4章 软件工程与软件测试
- 现代软件工程讲义 5.1 软件的质量保证 (QA) 和测试 (Test)
- 现代软件工程 练习与讨论 第十三章 软件测试
- 软件工程—软件可靠性测试
- 现代软件工程讲义 5.1 软件的质量保证 (QA) 和测试 (Test)
- 《软件工程 ——理论、方法与实践》知识概括第十章 软件测试
- 现代软件工程 第十三章 【软件测试】 练习与讨论
- 软件测试-软件工程-第七章
- 软件测试(软件工程学科群)课程框架建设思考【迭代改进】(欢迎提意见)
- 软件工程—软件可靠性测试
- 详解软件工程之软件测试
- 软件工程之软件测试
- 软件工程——软件测试
- 详解软件工程之软件测试
- 软件工程之软件测试
- 软件工程——软件测试
- 软件工程之软件测试
- 详解软件工程之软件测试