多语言展示
当前在线:197今日阅读:168今日分享:49

单元测试详解

单元测试是要检验程序最小单位有无错误,它是在编码完成之后首先要施行的测试工作。通常由编码人员自己完成。下面详细介绍一下单元测试。
工具/原料

电脑

单元测试基本概念
1

定义   单元测试(Unit Testing)/模块测试(Module Testing):    对最小的软件设计单元(模块/源程序单元)的验证工作;

2

意义   1.消除软件单元本身的不确定性;   2.其它测试阶段的必要的基础环节。

3

实施者    软件开发人员

测试目标

1.单元体现了预期的功能;2.单元的运行能够覆盖预先设定的各种逻辑;3.单元工作中:内部数据能够保持完整性;4.可以接受正确数据,也能处理非法数据;5.在数据边界条件上,单元能正确工作;6.单元的算法合理,性能良好;7.扫描单元代码没有发现任何安全性问题;……

测试技术和步骤

白盒测试技术:使用一种或多种白盒测试方法分析模块的逻辑结构;黑盒测试技术:使用黑盒测试方法对照模块的规格说明以补充测试用例。步骤:先设计测试用例,然后执行测试 。

测试关注点

1、模块功能;2、内部逻辑处理;3、数据结构;4、性能;5、安全;

进入和退出条件

进入条件:     编码开始:设计测试数据并执行测试。退出条件:      (1)完成测试计划;     (2)发现并修正了错误;    (3)预算和开发时间。

单元测试考虑事项
1

一、模块或构件接口;二、局部数据结构;三、边界条件;四、独立路径;五、处理错误的路径。

2

一、模块或构件接口目标:      进出模块/构件的数据流正确。关注点:    (1)接口名称、参数个数、类型、顺序的匹配;  (2)输出或返回值及其类型是否正确。

3

二、局部数据结构目标:      数据在模块执行过程中都维持完整性和正确性。关注点:      (1)数据结构定义和使用过程的正确性;     (2)局部数据结构对全局数据结构的影响;

4

三、边界条件目标:      保证模块在条件边界上能够正确执行。 关注点:      (1)数据结构中的边界(例如:数组a[n]);    (2)控制流中的边界(例如:循环次数、判断条件);

5

四、独立路径目标:       保证模块中的每条独立路径(基本路径)都要走一遍,使得所有语句都被执行过一次。     关注点:   对路径的选择性测试(基本路径测试+循环测试)。

6

测试用例应发现的错误   比较在不同数据类型间进行;      不正确的逻辑操作或优先级;   由于精度错误,该相等的地方不能相当;      不正确的变量;    不正常的循环终止;     循环不能退出;     循环变量修改错误。

单元测试局限性

1.只验证单元自身的功能,不能捕获系统范围的错误,    系统错误:集成错误、性能问题等;2.被测模块现实中可能接收的所有输入情况难以预料。

推荐信息