测试用例的设计方法
Posted 你这家伙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试用例的设计方法相关的知识,希望对你有一定的参考价值。
测试用例的总体设计方法
基于需求的设计
- 验证需求的正确性和合理性
- 细分需求,多细致的需求就设置多细致的测试用例(从细分的需求里面,根据每一个功能设计完整的测试用例)
如:软件需求
(1)若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件。
如果用户没有收到激活邮件,进入登录页面输入电子邮件和邮件,重新发送
如果用户收到邮件,在登录页面输入电子邮件和密码,不会重新发送,并且提示激活邮件已经发送
(2)每次发送的激活邮件,仅在发送邮件后起24小时之内有效,超过24小时后需重新发送激活邮件。
如果24之内,点击激活邮件,可以激活系统
超过24小时,点击激活邮件,提示链接失效,需要重新发送激活邮件
24之内点击激活邮件,已经激活系统,超过24小时之后,再次点击?(1.链接失效,2.系统已经激活;这个是根据经理来决定的)
等价类
当输入很多,没有办法穷举的时候,把输入(特殊情况下特殊考虑)划分成若干个等价类,从每一个等价类当中选一个测试用例,如果这个测试用例测试通过,那么我们就说这个测试用例代表的等价类测试通过。
比如上面的例子,超过24小时之后邮件失效,那么我们真的就需要等24小时之后(比如25小时,26小时,100小时?)去验证它有效还是无效吗?这显然是很浪费时间的。
有效等价类:对于输入有意义的数据规格,称之为有效等价类(比如上述例子中小于24小时的数据就是有效的,比如测试23或者22个小时之后是否有效)
无效等价类:对于输入无意义的数据规格,称之为无效等价类(比如测试25个小时,50个小时之后这个邮件是否有效)
但是在我们测试数据的时候,有效等价类和无效等价类都需要去测试,因为我们只测了24个小时之内的是否有效,没有去测24个小时之后是否有效,那么假如24个小时之后有效,或者这个激活邮件一直有效,那么这肯定是存在风险的
边界值法
其实上面的测试数据的等价类可以进行划分,也就是小于24小时和大于24小时
边界值法:
比如我们上述的示例,对于24小时这个时间点是一个边界,那么我们该如何去进行这个边界的测试
答:那么我们就可以测试这个数据23小时和25小时看这个邮件是否有效
例如:
- 输入框长度为1-11,取边界值为:1、11、12、0
- 运动员的参赛项目为1-3项,取边界值为:0项、1项、3项、4项
- 查询面页面有999行,每50行为一页,取边界值为:输出0行、1行、50行、51行、999行
因果图法
但我们的输入有多种经,不同的输入组合对应的不同的输出,可以使用因果图法 因果图里面又包括:恒等,与,或 ,非下面以男方与女方订婚为例,假如有车有房才能订婚
恒等:如果原因为真,那么结果必定为真(比如:有车有房就等于订婚)
与:只有2个原因都为真,那么结果为真(比如:有车没房,有房没车都是不能订婚的)
或:2个原因中有一个为真时,结果就为真(比如:降低要求,有车或者有房就能订婚)
非:只有原因为假,结果才为真(比如:没车没房,就能订婚)
如何根据因果图设计测设用例?
- 分析需求,找出所有的输入和输出
- 找出所有输入和输出之间的关系
- 画因果图
- 画判定表
- 根据判定表设计测试用例
正交排列
比如现在有一个邮箱注册,那么就会有账户,邮箱,密码,确认密码,验证码需要填写,我们不考虑他们的其他限制,我们就只考虑他们每一个都有输入和不输入这两种情况,那也么就是有22222= 32中情况。
正交法:他是研究多因素多水平的一种实验方法,通过正交性找出实验中各因素的最优的水平组合,通过分析这些最优组合的试验结果,来分析整个试验的结果和情况。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。
- 因素:待考察的变量:如账户,邮箱,密码……
- 水平:每个待考察变量的值:如上述都有输入和不输入这这两种
- 因素数:待考察变量的个数C,既正交表的列数:如上述我们需要考察的变量的个数为5(账户,邮箱,密码,确认密码,验证码)
- 水平数:考察的每个变量的最多的取值个数T:比如上我们每个待考察的变量的取值都为2:既输入和不输入(注意:不是所有的变量的水平数都是一样的)
- 正交表的行数:N = (水平数-1)*因素数-1
当水平数不相等的时候正交表的行数该怎么确定?此时就需要用到正交表的性质
正交表的性质:
- 每一列中不同的数据出现的次数一样多
- 任意两列各数据组合(组合中的数据不同)出现的次数一样多
正交表设计测试用例的步骤
- 找出因数和水平
- 确认因素和水平
- 确认这个正交表,行,列
- 根据正交表的性质去填充正交表的数据
- 正交表的每一行就是一个测试用例,根据正交表的每一行写测试用例
- 补充你认为可能但是正交表上没有的测试用例
举例:如上述的账户,邮箱,密码,确认密码,验证码,正交表的列数为5,行数为(2-1)*5+1 = 6;
那么他对应的测试用例为
上面的每一行都对应一个测试用例,然后根据每一行写出测试用例,之后在进行补充
场景设计法
就是事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景
既把一个一个孤立的功能点组合(可能有一个的逻辑)起来,形成一个一个场景:业务场景
场景:如ATM机取款流程:插卡——输入密码——输入取款金额——取钱——退卡
那么他的基本流程是:插卡正确——输入正确密码——输入的金额小于等于余额——按取钱按钮进行取钱——退卡
那么此时就会出现很多异常事件:
异常的流程:
错误猜测法
根据测试人员的知识,经验,猜测软件的哪一个模块或者哪一个功能点会出现问题,专门针对这个功能进行测试用例的设(适用于补充的设计测试用例的方法)
以注册为例
1、校验中特殊字符空格的处理? 2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文
以上是关于测试用例的设计方法的主要内容,如果未能解决你的问题,请参考以下文章