软件测试--测试设计方法及案例

测试用例的基本要素

测试用例是为了实施测试而向被测试系统提供的一组集合,这组集合包含测试环境,操作步骤,测试数据,预期结果等要素

评价测试用例的标准:

  • 用例表达清楚,无二义性
  • 用例可操作性强
  • 用例的输入输出明确,一条用例只有一个预期结果
  • 用例的可维护性好
  • 用例对需求的覆盖率高
  • 暴露程序bug的能力强

测试用例的设计方法

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

案例:
用户需求:购买3000块钱以内的华为智能手机 (如何测试买来的手机符合用户需求?)
价格 牌子 智能手机 手机基本功能的验证

软件需求:

  1. 若用户未收到激活文件,可在登录页面录入电子邮件及密码后,再次发送激活邮件 (1)如果用户没有收到激活文件,可在登录页面录入电子邮件和密码之后再次发送激活文件;
    (2)如果用户收到激活文件,在登陆页面输入邮件和密码之后,不会重新发送激活文件,并且提示激活邮件已发送
  2. 每次发送激活邮件,仅在发送邮件后起24消失之内有效,超过24小时之后,需要重新发送激活邮件
    (1)用户在24小时之内 (24小时之内是有效等价类) 点击激活邮件,可以激活系统
    (2)用户未在超过24小时之后 (24小时之外是无效等价类) 点击激活邮件,提示失效,需要重新发送激活邮件z
    (3)用户在24小时之内已经点击了激活邮件成功激活系统,超过24小时之后再次点击,提示系统已激活
2.具体的设计方法

(1) 等价类

当输入很多,没有办法穷举,把输入(特殊情况下考虑输出)划分成若干个等价类,从每一个等价类当中选出一个测试用例,如果这个测试用例测试通过,那么我们就说这个测试用例代表的等价类通过测试

  • 有效等价类:对于输入偶意义的数据规格,称之为等价类
  • 无效等价类

例如:

         if(x > 2){
            return  0;
         } else if(x >= -5 && x <= 2) {
            return 1;}
         else {
            return 2
         } ```
  等价类划分:
    - 大于 2
    - [-5 ,2]
    - 小于 -5   
 【注】等价类的边界需要专门测试一下(边界往往是最容易出错的)

(2)边界值法
针对输入输出的边界进行测试的方法

等价类划分:       边界值(只考虑整数)
    - 大于 2        2  1  3  
    - [-5 ,2]      -5 -4 -6    2  1  3
    - 小于 -5       -5 -4 -6

(3)因果图法
当我们的输入有多种,不同的输入组合对应不同的输出,可以使用因果图法
因果图:

  • 恒等 (如果原因为真,结果必为真)
    在这里插入图片描述

  • 与 (2个原因都为真,结果才为真)
    在这里插入图片描述

  • 或 (有一个为真,结果就为真)
    在这里插入图片描述

  • 非(原因为假,结果才为真)
    在这里插入图片描述

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

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

案例:淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠

  1. 输入:订单提交/订单不提交、订单合计金额大于300/小于300、有红包/无红包
    输出:有优惠、无优惠

  2. 找关系
    (1)订单已经提交,金额大于300,有红包,进优惠
    (2)订单已经提交,金额大于300,无红包,进优惠
    (3) 订单已提交,金额小于300,有红包,进优惠
    (4) 订单已提交,金额小于300,无红包,无优惠
    (5)订单未提交,无优惠

  3. 画因果图
    在这里插入图片描述

  4. 画判定表
    在这里插入图片描述

  5. 写测试用例
    在这里插入图片描述

(4)正交法

研究多因素多水平的一种实验方法,通过正交性找出实验中各因素的最优的水平组合,通过分析这些最优组合的试验结果,来分析整个试验的结果和情况

相关参数:

  • 因素:待考察的变量
  • 水平:待考察变量的值
  • 因素数:待考察变量的个数,即正交表的列数 C
  • 水平数:考察的每个变量的值的最多取值个数 T
  • 正交表的行数:N = (水平数 - 1)* 因素数 + 1 (每一个因素的水平数相等)

【注】若是因素数水平数不同参考正交表,网址如下: http://support.sas.com/techsup/technote/ts723_Designs.txt

正交表的性质

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

正交法设计测试用例的步骤:

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

例:某平台邮箱的注册,必填项有账户、邮箱、密码、确认密码、验证码5项,测试时考虑每一项是否输入对邮箱注册的影响
在这里插入图片描述

(5)场景设计法
把一个一个孤立的功能点组合(可能有一个的逻辑)起来,形成一个一个的场景(也可以叫业务场景)


例:ATM取款流程:插卡–输密码–输入取款金额–取钱–退卡

基本流程:插卡正确,密码输入正确,输入金额小于等于银行卡余额,按取钱按钮,取钱,退卡,顺利完成取款

异常流程

  1. 取钱完成后忘记退卡,吞卡
  2. 取款中任一个操作超时,吞卡
  3. 密码连续输入错误三次,账户被锁定(锁定时间)
  4. 插错卡(非银行卡,卡插反)
  5. 卡消磁,无法取款

异常事件:操作超时、忘记退卡、密码错误(三次机会,超过锁定)、卡插反(重新插卡后可正常取款)、插错卡、卡消磁、输入金额大于银行卡余额、卡冻结,卡过期、ATM机余额不足、ATM机损坏、ATM网络异常、ATM功能(只存、只取、可存取)、ATM机吐出的钱与要取的钱相等、一个ATM取款金额上限、ATM取钱的面额、同一张卡取钱金额达到上限、插入的卡和ATM显示的信息不符合,取钱之后余额未更新或者数据不符合实际金额等


(6)错误猜测法(适用于补充的设计测试用例的方法)

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值