软件测试用例
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()方法,将空格除掉,再进行搜索 -
重点:黑盒测试设计测试用例的方法有哪些?
答:等价类、边界值、因果图、正交法、场景法、错误猜测法
以上是关于软件测试用例的主要内容,如果未能解决你的问题,请参考以下文章