电脑
定义 单元测试(Unit Testing)/模块测试(Module Testing): 对最小的软件设计单元(模块/源程序单元)的验证工作;
意义 1.消除软件单元本身的不确定性; 2.其它测试阶段的必要的基础环节。
实施者 软件开发人员
1.单元体现了预期的功能;2.单元的运行能够覆盖预先设定的各种逻辑;3.单元工作中:内部数据能够保持完整性;4.可以接受正确数据,也能处理非法数据;5.在数据边界条件上,单元能正确工作;6.单元的算法合理,性能良好;7.扫描单元代码没有发现任何安全性问题;……
白盒测试技术:使用一种或多种白盒测试方法分析模块的逻辑结构;黑盒测试技术:使用黑盒测试方法对照模块的规格说明以补充测试用例。步骤:先设计测试用例,然后执行测试 。
1、模块功能;2、内部逻辑处理;3、数据结构;4、性能;5、安全;
进入条件: 编码开始:设计测试数据并执行测试。退出条件: (1)完成测试计划; (2)发现并修正了错误; (3)预算和开发时间。
一、模块或构件接口;二、局部数据结构;三、边界条件;四、独立路径;五、处理错误的路径。
一、模块或构件接口目标: 进出模块/构件的数据流正确。关注点: (1)接口名称、参数个数、类型、顺序的匹配; (2)输出或返回值及其类型是否正确。
二、局部数据结构目标: 数据在模块执行过程中都维持完整性和正确性。关注点: (1)数据结构定义和使用过程的正确性; (2)局部数据结构对全局数据结构的影响;
三、边界条件目标: 保证模块在条件边界上能够正确执行。 关注点: (1)数据结构中的边界(例如:数组a[n]); (2)控制流中的边界(例如:循环次数、判断条件);
四、独立路径目标: 保证模块中的每条独立路径(基本路径)都要走一遍,使得所有语句都被执行过一次。 关注点: 对路径的选择性测试(基本路径测试+循环测试)。
测试用例应发现的错误 比较在不同数据类型间进行; 不正确的逻辑操作或优先级; 由于精度错误,该相等的地方不能相当; 不正确的变量; 不正常的循环终止; 循环不能退出; 循环变量修改错误。
1.只验证单元自身的功能,不能捕获系统范围的错误, 系统错误:集成错误、性能问题等;2.被测模块现实中可能接收的所有输入情况难以预料。