测试用例的设计方法
一、等价类划分法
定义:它将程序所有可能的输入数据划分为若干等价类(即输入域的集合),一般分为有效等价类和无效等价类
比如:微信发红包金额最大是200元,最小是0.01元
二、边界值分析法
是对等价类划分法的一个补充,边界值一般都是从等价类的边缘值去寻找。边界值分析的基本思想:应选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据。
比如:微信发红包金额最大是200元,最小是0.01元
范围:0.01<=X<=200
边界值:0、0.01、0.02、199.99、200、200.01
三、错误推测法
在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。总之,就是进行错误的操作,验证程序是否对出错的场景和情况有应对能力,来选择测试用例数据。
比如:测试QQ的登录功能,可以根据经验找到很多出错的情况
1. QQ号输错,但密码正确——登录失败,提示:登录名错误
2. QQ号正确,但密码输错——登录失败,提示:密码错误
3. QQ号和密码都输错——登录失败,提示:登录名和密码错误
4. 啥都不输入——登录失败,提示:登录名和密码不能为空
5. QQ号跟密码不是对应的——验证QQ号与密码的绑定关系
6. QQ加空格,密码正确——验证登录名是否对空格做控制
7. QQ号正确,密码加空格——验证密码是否对空格做控制
8. 登录时网络异常——验证系统是否对网络异常做提示
四、场景法
通过场景描述的业务流程(也可以理解为业务逻辑),设计用例来遍历场景,验证软件系统功能的正确性。一般根据业务流程的描述或业务流程图分析基本流、分支流来列出不同业务场景,作为测试用例的测试数据。
基本流:功能的正常操作的主流程(输入用户名——输入密码——登陆成功)
分支流:需要程序做非法判定处理的分支流程(输入用户名——判断用户名,正确则进入下一步,反之返回上一步——输入密码——判断密码,正确则进入下一步,反之返回上一步——登陆成功)
eg: 发红包案例:
点击好友
选择发送红包
输入金额
输入支付密码 对方不是你的好友 余额不足 ...
发送成功 发送失败 发送失败 ...
基本流 分支流 分支流
支付宝漏洞案例:
1个基本流,4个分支流