测试用例的设计方法

Posted 你这家伙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试用例的设计方法相关的知识,希望对你有一定的参考价值。

测试用例的总体设计方法

基于需求的设计

  1. 验证需求的正确性和合理性
  2. 细分需求,多细致的需求就设置多细致的测试用例(从细分的需求里面,根据每一个功能设计完整的测试用例)

如:软件需求
(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. 输入框长度为1-11,取边界值为:1、11、12、0
  2. 运动员的参赛项目为1-3项,取边界值为:0项、1项、3项、4项
  3. 查询面页面有999行,每50行为一页,取边界值为:输出0行、1行、50行、51行、999行

因果图法

但我们的输入有多种经,不同的输入组合对应的不同的输出,可以使用因果图法 因果图里面又包括:恒等,与,或 ,非

下面以男方与女方订婚为例,假如有车有房才能订婚

恒等:如果原因为真,那么结果必定为真(比如:有车有房就等于订婚)
与:只有2个原因都为真,那么结果为真(比如:有车没房,有房没车都是不能订婚的)
或:2个原因中有一个为真时,结果就为真(比如:降低要求,有车或者有房就能订婚)
非:只有原因为假,结果才为真(比如:没车没房,就能订婚)

如何根据因果图设计测设用例?

  1. 分析需求,找出所有的输入和输出
  2. 找出所有输入和输出之间的关系
  3. 画因果图
  4. 画判定表
  5. 根据判定表设计测试用例

正交排列

比如现在有一个邮箱注册,那么就会有账户,邮箱,密码,确认密码,验证码需要填写,我们不考虑他们的其他限制,我们就只考虑他们每一个都有输入和不输入这两种情况,那也么就是有22222= 32中情况。

正交法:他是研究多因素多水平的一种实验方法,通过正交性找出实验中各因素的最优的水平组合,通过分析这些最优组合的试验结果,来分析整个试验的结果和情况。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

  • 因素:待考察的变量:如账户,邮箱,密码……
  • 水平:每个待考察变量的值:如上述都有输入和不输入这这两种
  • 因素数:待考察变量的个数C,既正交表的列数:如上述我们需要考察的变量的个数为5(账户,邮箱,密码,确认密码,验证码)
  • 水平数:考察的每个变量的最多的取值个数T:比如上我们每个待考察的变量的取值都为2:既输入和不输入(注意:不是所有的变量的水平数都是一样的)
  • 正交表的行数:N = (水平数-1)*因素数-1

当水平数不相等的时候正交表的行数该怎么确定?此时就需要用到正交表的性质
正交表的性质

  1. 每一列中不同的数据出现的次数一样多
  2. 任意两列各数据组合(组合中的数据不同)出现的次数一样多

正交表设计测试用例的步骤

  1. 找出因数和水平
  2. 确认因素和水平
  3. 确认这个正交表,行,列
  4. 根据正交表的性质去填充正交表的数据
  5. 正交表的每一行就是一个测试用例,根据正交表的每一行写测试用例
  6. 补充你认为可能但是正交表上没有的测试用例

举例:如上述的账户,邮箱,密码,确认密码,验证码,正交表的列数为5,行数为(2-1)*5+1 = 6;


那么他对应的测试用例为
上面的每一行都对应一个测试用例,然后根据每一行写出测试用例,之后在进行补充

场景设计法

就是事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景
既把一个一个孤立的功能点组合(可能有一个的逻辑)起来,形成一个一个场景:业务场景

场景:如ATM机取款流程:插卡——输入密码——输入取款金额——取钱——退卡
那么他的基本流程是:插卡正确——输入正确密码——输入的金额小于等于余额——按取钱按钮进行取钱——退卡

那么此时就会出现很多异常事件:

异常的流程:

错误猜测法

根据测试人员的知识,经验,猜测软件的哪一个模块或者哪一个功能点会出现问题,专门针对这个功能进行测试用例的设(适用于补充的设计测试用例的方法)

以注册为例
1、校验中特殊字符空格的处理? 2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文

以上是关于测试用例的设计方法的主要内容,如果未能解决你的问题,请参考以下文章

测试用例设计白皮书--因果图方法

测试用例设计白皮书--正交实验设计方法

软件测试-用例篇

软件测试——软件测试用例篇

设计测试用例的方向

黑盒测试设计--正交实验法