一.因果图法介绍
1.应用背景:
因果图法也是一种功能测试设计测试用例的方法。
等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).
2.因果图法测试用例的设计步骤:
(1)确定软件规格(需求)中的原因和结果
(2)确定原因和结果之间的逻辑关系
(3)确定因果图中的各个约束(constraints)
(4)画出因果图并转换为决策表
(5)根据决策表设计测试用例
3.因果图的表示符号
二.实例
1.问题描述:
输入用户名和密码(只能为数字和字母的组合,且长度为6-16位),并选择要登陆的邮箱(126.com,163.com,sina.com)并点击确定,若成功则进入邮箱,否则,提示错误信息。
2.确定需求中的原因与结果
原因编号 | 内容 | |
C1 | 用户名为6-16位 | |
C2 | 用户名为数字,字母,下划线的组合 | |
C3 | 密码为6-16位 | |
C4 | 密码为数字,字母,下划线,的组合 | |
C5 | 选择163.com | |
C6 | 选择126.com | |
C7 | 选择sina.com | |
C8 | 点击确定 | |
结果编号 | 输出动作 | 需求 |
Eff1 | 登陆邮箱 | 用户名和密码都与对应邮箱地址输入正确 |
Eff2 | 用户名不合要求 | 用户输入不符合要求(大于16位,或小于6位,或含有不合规定字符) |
Eff3 | 密码不合要求 | 密码输入不符合要求(大于16位,或小于6位,或含有不合规定字符) |
Eff4 | 该邮箱没有这个用户名 | 用户名和邮箱不匹配 |
Efr5 | 密码错误 | 用户名和密码在该邮箱地址不匹配 |
(2)确定原因与结果的逻辑关系
(3)确定因果图中的约束
只有 E(A,B)
4)画出因果图转换成决策表
决策表过于复杂,有2^8=256个原因。。。在此略
5.设计测试用例
编号 | 输入数据 | 预期输出 | 实际输出 |
1 | (1234567,abcdefd,163.com) | 成功登陆 | 成功登陆 |
2 | (ooffdfg,abcdefd,126.com) | 成功登陆 | 成功登陆 |
3 | (prkrsfsjf,abcdefd,sina.com) | 成功登陆 | 成功登陆 |
4 | (ooffdfg,abcdefd,163.com) | 无此用户 | 无此用户 |
5 | (ooffdfg,abcdefd,sina.com) | 无此用户 | 无此用户 |
6 | (123,sdfgggg,163.com) | 用户名错误 | 用户名错误 |
7 | (123,sdfgggg,126.com) | 用户名错误 | 用户名错误 |
8 | (123,sdfgggg,sina.com) | 用户名错误 | 用户名错误 |
9 | (1234567,abcdefd,163.com) | 密码错误 | 密码错误 |
10 | (ooffdfg,abcdefd,126.com) | 密码错误 | 密码错误 |
11 | (prkrsfsjf,abcdefd,sina.com) | 密码错误 | 密码错误 |
12 | (1234567,¥¥¥¥¥¥¥,163.com) | 密码不合要求 | 密码不合要求 |
13 | (ooffdf,eeeee,126.com) | 密码不合要求 | 密码不合要求 |
14 | (prkrsfsjf,)))))))))))))))),sina.com) | 密码不合要求 | 密码不合要求 |
三.总结:
因果图法对于输入条件的约束问题有很好的效果,但是一旦输入条件过于多,或者约束过于复杂.可能画出的图很复杂,可能造成一定的麻烦
参考博客:http://blog.sina.com.cn/s/blog_66d1fc700100h8fz.html
http://www.educity.cn/se/620444.html