您的位置:首页 > 其它

软件工程之软件测试

2013-08-03 14:38 246 查看
     常常见到"单元测试是白盒测试","单元测试也有黑盒"之类的说法,容易引起混乱。黑盒与白盒其实是测试方法,黑盒就是针对系统的外部特性进行测试,把目标系统看作一个黑盒子,不考虑内部结构;白盒就是针对系统的内部结构进行测试。各个测试阶段都可以使用黑盒方法和白盒方法,即无论是单元测试、集成测试、系统测试阶段都可以使用黑盒方法和白盒方法。

    黑盒测试又叫功能测试,我们首先要测试程序是否实现了基本功能,因此,黑盒测试是基本测试。黑盒测试的主要缺陷是难于衡量完整性,而白盒测试正好可以弥补个缺陷。

    白盒测试通过逻辑覆盖率来衡量完整性,具有可以精确统计的数字指标。逻辑单位主要有:语句、分支、条件、条件值、条件值组合,路径。语句覆盖就是覆盖所有的语句,其他类推。另外还有一种判定条件覆盖,其实是分支覆盖与条件覆盖的组合。跟条件有关的覆盖就有三种,解释一下:条件覆盖是指覆盖所有的条件表达式,即所有的条件表达式都至少计算一次,不考虑计算结果;条件值覆盖是指覆盖条件的所有可能取值,即每个条件的取真值和取假值都要至少计算一次;条件值组合覆盖是指覆盖所有条件取值的所有可能组合。与条件直接有关的错误主要是逻辑操作符错误,例如:||写成&&,漏了写!什么的,采用分支覆盖与条件覆盖的组合,基本上可以发现这些错误,而条件值覆盖与条件值组合覆盖往往需要大量的测试用例,因此,条件值覆盖和条件值组合覆盖的效费比偏低,比较有价值的覆盖率是语句覆盖、条件覆盖、分支覆盖、路径覆盖。 


白盒测试

一、定义

白盒测试是一种测试用例设计方法。在这里,盒子指的是被测试的软件,白盒,顾名思义即是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。因此,白盒测试需要对系统内部的结构和工作原理有一定的了解,并且基于这个知识来设计你的测试用例。

二、使用白盒测试方法产生的测试用例能够完成的功能

(1)       保证一个模块中的所有独立路径至少被使用一次。

(2)       对所有逻辑值均测试true和false。

(3)       在上下边界以及可操作范围内运行所有循环。

(4)       检查内部数据结构以确定其有效性。

三、白盒测试的常用技术

(1)       静态分析技术

(2)       动态分析技术

(3)       测试数据生成

(4)       覆盖率:语句覆盖,判定覆盖,条件覆盖,路径覆盖

黑盒测试

一、定义

黑盒测试又叫功能测试。这是因为在黑盒测试中,主要关注于被测试软件的功能的实现,而不是内部逻辑。

二、黑盒测试用于发现的错误

(1)       功能错误或遗漏

(2)       界面错误

(3)       数据结构或外部数据库访问错误

(4)       性能错误

(5)       初始化和终止错误

三、黑盒测试的常用技术

(1)       没有用户参与的黑盒测试

(2)       有用户介入的黑盒测试

四、黑盒测试的方法

等价类划分,边界值分析,错误推测法

在黑盒测试中,我们不依据代码来决定测试用例,而是在了解需要解决的问题的情况下,组织四个方面的测试数据:易于计算的数据,典型数据,边界/极端数据,假数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: