单元测试的任务
-
接口功能测试:用来保证接口功能的正确性。
-
局部数据结构测试(不常用):用来保证接口中的数据结构是正确的
比如变量有无初始值
变量是否溢出 -
边界条件测试 变量没有赋值(即为NULL) 变量是数值(或字符) 主要边界:
最小值,最大值,无穷大(对于DOUBLE等)
溢出边界(期望异常或拒绝服务):最小值-1,最大值+1 临近边界:最小值+1,最大值-1 变量是字符串 引用“字符变量”的边界 空字符串
对字符串长度应用“数值变量”的边界 变量是集合 空集合 对集合的大小应用“数值变量”的边界 调整次序:升序、降序 变量有规律
比如对于Math.sqrt,给出n2-1,和n2+1的边界 -
所有独立执行通路测试:保证每一条代码,每个分支都经过测试 代码覆盖率 语句覆盖:保证每一 个语句都执行到了
判定覆盖(分支覆盖):保证每一个分支都执行到 条件覆盖:保证每一个条件都覆盖到true和false(即if、while中的条件语句)
路径覆盖:保证每一个路径都覆盖到 相关软件 Cobertura:语句覆盖 Emma: Eclipse插件Eclemma -
各条错误处理通路测试:保证每一个异常都经过测试