软件测试用例

Posted 4612

tags:

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

一、测试用例的基本要素
向测试系统发起的一组集合,包括:测试平台、测试数据、测试步骤、预期结果等
二、测试用例的设计方法


1、根据需求去设计测试用例

1)验证需求的正确性
2)分析需求,细化需求,从需求中提炼功能模块,划分子功能,根据每个子功能去写测试用例

案例1:用户需求

  • 测试点:
    1)价格:3000以内
    2)手机类型 :智能手机
    3)品牌 :华为
    4)手机基本功能的测试:打电话、发短信

案例2:软件需求

  • 对事件的测试

1)用户收到激活邮件
在登陆界面输入电子邮件,密码,不会再次发送激活邮件,并且提示用户,激活邮件已发送
2)用户没有收到激活邮件
在登陆界面输入电子邮件,密码,可重新发送电子邮件

  • 对邮件的测试
    邮件:内容、激活链接、排版、字体

  • 对事件的测试

1)激活邮件已经发送,24小时之内(包括24小时)可激活系统
2)激活邮件发送,24小时之后激活链接失效,无法激活系统
3)24小时之内激活系统,超过24小时之后再次点击激活链接,系统提示:该用户已激活系统
4)24小时之内激活系统,24小时之内再次点击激活链接,系统提示:该用户已经激活系统

  • 对邮件的测试
    邮件:内容、激活链接、排版、字体

2、具体的设计测试用例的方法

2.1等价类法
1)定义:
将输入(特殊情况下才考虑输出)划分成若干个等价类,从每一个等价类中选一个有代表性的测试用例,如果这个测试用例测试通过,我们就可认为这个测试用例代表的等价类测试通过
2)举例:

3)等价类的分类(写用例时都要写)

  • 有效等价类
    根据需求规格说明,有意义的输入的数据集合,称为有效等价类

  • 无效等价类
    根据需求规格说明,不符合要求的

2.2边界值法
1)定义:
针对输入输出的边界进行测试用例的设计
2)举例:
2.3因果图法
1)应用背景
因果图是一种逻辑图(包括:恒等、与、或、非)
2)使用场景:
当输入有很多,不同输入的组合对应不同的输出,就可用因果图来分析不同输入和不同输出之间的关系
3)

  • 恒等



4)用因果图法设计测试用例的步骤

  • 分析所有的输入、输出(将隐含条件也要写出来)
  • 找出输入和输出之间的逻辑关系
  • 根据输入输出之间的关系画因果图
  • 根据因果图画判定表(条件为真时—>Y,条件为假—>N)
  • 根据判定表设计测试用例

5)举例

  • 分析所有的输入、输出(将隐含条件也要写出来)
    输入:订单已提交、订单未提交、合计金额大于300、合计金额小于等于300、有红包、没红包
    输出:有优惠、无优惠

  • 找出输入和输出之间的逻辑关系
    订单提交,金额大于300,有红包,优惠
    订单提交,金额大于300,没有红包,优惠
    订单提交,金额小于或等于300,有红包,优惠
    订单提交,金额小于或等于300,没有红包,无优惠
    订单未提交,无优惠(只要未提交订单,不管其他条件是什么,都没有优惠)

  • 根据输入输出之间的关系画因果图

  • 根据因果图画判定表

  • 根据判定表设计测试用例
    订单提交,金额大于300,有红包,优惠
    订单提交,金额大于300,没有红包,优惠
    订单提交,金额小于或等于300,有红包,优惠
    订单提交,金额小于或等于300,没有红包,无优惠
    订单未提交,金额大于300,有红包,没有优惠
    订单未提交,金额大于300,没有红包,没有优惠
    订单未提交,金额小于或等于300,有红包,没有优惠
    订单未提交,金额小于或等于300,没有红包,没有无优惠

2.4正交法
1)应用背景
是研究多因素多水平的一种实验(测试)方法。根据正交性,从输入组合中选取最优的组合进行实验,分析结果,通过这些最优组合得出的实验结果来分析这个实验的结果

  • 因素:输入的变量
  • 水平:变量的取值(即变量可以取值的个数)

2)正交表的构成
列:因素数(即变量的个数)
水平数:每个变量最大的取值个数
行:L(正交表的行)=(水平数-1)*因素数 +1

3)正交表的性质

  • 每一列不同数据出现的次数一致
  • 任意两列不同数据的组合出现的次数一样

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

  • 确定所有的输入变量
  • 确定每一个变量的取值的个数
  • 确定因素数(正交表的列),水平数、正交表的行
  • 根据正交表的性质,把变量的值映射到表中
  • 写测试用例,正交表的每一行就是一个测试用例
  • 补充正交表中没有但是自己认为可能出现的测试用例

5)举例------>邮箱注册(只考虑每一项输入和不输入两种情况)

  • 确定所有的输入变量
    输入:姓名,邮箱、密码、确认密码、验证码

  • 确定每一个变量的取值的个数
    个数:2—>填写、不填写

  • 确定因素数(正交表的列),水平数、正交表的行
    因素数=正交表的列=5
    水平数=2
    正交表的行=(2-1)*5+1=6

  • 根据正交表的性质,把变量的值映射到表中

  • 写测试用例,正交表的每一行就是一个测试用例

  • 补充正交表中没有但是自己认为可能出现的测试用例

    6)当水平数不一样的时候,正交表行的个数如何确定?—查正交表
    点击查看正交表

2.5场景法------>以ATM取款场景为例

2.5.1
场景法就是将一个个孤立的功能点按照一定的策略串联起来,形成一定的场景或业务
2.5.2场景法设计测试用例的步骤
分析出场景(业务)里面的功能点,根据功能带你找出正常和异常的输入输出,再根据分析的结果去设计测试用例

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

  • 异常
    1)插卡异常:
    卡插反、卡消磁、插入其他卡(公交卡…)、卡挂失、卡注销、卡被吞(停留时间太长)

2)输入密码:
忘记密码
输入密码连续出错三次,账户被锁定
密码第一次输入错误或前两次输入错误,接下来输入正确
账户冻结

3)输入金额
金额大于余额
ATM机本身余额不足
输入的金额低于ATM机最低要求的金额
超过每日最大可以取款的金额数

4)取款
长时间未取(看ATM机的处理)
遗忘了部分钱没有取

5)其他
ATM机网络异常
断电
ATM机器故障

  • 根据异常点写测试用例
    1)卡插反,提示:插卡错误
    2)卡消磁,提示:无效卡
    3)插入其他卡,提示:无效卡
    4)卡挂失,提示:无效卡

  • 总结
    根据场景法设计测试用例:将场景中每一个功能点提出来,考虑功能点可能的不同情况,根据这些情况去设计测试用例

2.6错误猜测法—补充方法
根据测试人员的知识、经验、直觉去判断哪一个模块会出现问题,专门针对这个模块进行测试用例的编写

  • 举例------>查询操作
    输入用户姓名,就可查询到相关信息
    输入:“张三”
    输出:相关信息
    但是要是输入" 张三 “(前/后/两端输入空格),不会输出相关信息
    此时,就可进行错误猜测:
    我们可以猜测数据库中录入的信息为"张三”,其间没有空格,所以以上输入就不能正确输出
    解决方案:可以使用trim()方法,将空格除掉,再进行搜索

  • 重点:黑盒测试设计测试用例的方法有哪些?
    答:等价类、边界值、因果图、正交法、场景法、错误猜测法

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

《软件测试工程师》 17 用例设计方法-因果图

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

软件测试——黑盒测试用例设计方法等价类边界值判定表因果图

软件测试--测试用例

测试用例设计方法-因果图(鱼骨图)

用例,因果图,--L