基于逻辑覆盖的测试用例设计
来源:互联网 发布:centos开启ftp服务器 编辑:程序博客网 时间:2024/05/16 04:59
基于逻辑覆盖的方法
白盒测试中,测试用例可以用基于逻辑覆盖的方法设计,即语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。花了不少时间弄清楚,mark,这里还是以三角形判断方法为例。
- 基于逻辑覆盖的方法
- 编号 测试用例 输出 J1 J2 J3 J4 J5 T1 5 5 -5 -1 Y T2 5 5 105 -1 N Y T3 5 5 15 0 N N N T4 5 5 5 3 N N Y Y T5 5 4 5 2 N N Y N Y T6 5 3 4 1 N N Y N N
- 判定条件覆盖
- 条件组合覆盖
- 路径覆盖
- 编号 测试用例 输出 J1 J2 J3 J4 J5 T1 5 5 -5 -1 Y T2 5 5 105 -1 N Y T3 5 5 15 0 N N N T4 5 5 5 3 N N Y Y T5 5 4 5 2 N N Y N Y T6 5 3 4 1 N N Y N N
关于三角形判断方法的程序流程图
约定:为方便起见,每个语句以编号代替(如图)
这里只列出有意义的测试用例。
语句覆盖
使每个语句都执行一次,即将三角形的类型值都输出一遍。
判定覆盖
测试用例使每个判定的所有可能结果至少执行一次。
编号 测试用例 输出 J1 J2 J3 J4 J5 T1 5 5 -5 -1 Y T2 5 5 105 -1 N Y T3 5 5 15 0 N N N T4 5 5 5 3 N N Y Y T5 5 4 5 2 N N Y N Y T6 5 3 4 1 N N Y N N
条件覆盖
测试用例使每个判定中的每个条件的所有可能结果都至少出现一次。
如J1有3个条件(a<0、b<0,c<0),对应有6种结果,这六种结果需要分别出现,这里以TTT代替J1分支的3个条件成立,TTF说明J1分支中(a<0、b<0、c>=0)成立,其他亦然。
和前两者相比,缺少了输出等要三角形这一类型。
判定/条件覆盖
测试用例使每个判定的所有可能结果至少执行一次,且每个判定中的每个条件的所有可能结果都至少出现一次。
注:*表示取值无关。
等同判定/条件覆盖。
条件组合覆盖
测试用例使每个判定中的每个条件的所有可能结果组合都至少出现一次。
有些组合不可能出现,故舍去。如满足J3(a+b>c&&a+c<=b&&b+c<=a)只能是c<=0的情况下才能成立,在J1判定时就已经决定不会经过J3了。
路径覆盖
上述覆盖可以分为一类,而路径覆盖和前者不同。测试用例需要至少一次经过每条可能执行到的路径。
程序可以细分为控制流程图(如图)
0 0
- 基于逻辑覆盖的测试用例设计
- 白盒测试的逻辑覆盖方法
- 逻辑覆盖 测试题
- 逻辑覆盖测试
- 白盒测试的逻辑覆盖测试总结
- 软件测试中的逻辑覆盖
- 白盒子测试-逻辑覆盖
- 白盒测试的中逻辑覆盖的强弱
- 白盒测试的几种逻辑覆盖法
- 白盒测试中逻辑覆盖的六种方法
- 白盒测试中逻辑覆盖的六种方法
- 基于输入域的方法的测试用例设计
- 如何设计基本路径覆盖测试用例
- 白盒测试用例设计方法-语句覆盖法
- 白盒测试用例设计方法-判定覆盖法
- 白盒测试用例设计方法-条件覆盖法
- 基于需求的测试用例设计方法
- 基于等价类的邮箱注册测试用例设计
- JHTP自测题_第五章_控制语句Part 2-逻辑运算符
- 将spring的x-frame-option设置为无效的方法
- 框架模式 MVC 在Android中的使用
- Node.js的模块机制
- 第四讲项目2-2
- 基于逻辑覆盖的测试用例设计
- serialVersionUID作用
- 类成员变量和实例成员变量分别指什么有什么区别?
- git把某次提交合并到另一个分支
- decltype类型指示符
- 如何查看linxu是32位的还是64位的
- go revel框架搭建
- JS 线程 和 JQuery使用笔记
- Spring中IOC和AOP的详细解释