软件测试
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素
及测试用例的四要素:
- 测试环境
- 操作步骤
- 测试数据
- 预期结果
评价测试用例的标准:对比好坏用例的评价标准
- 用例表达清楚,无二义性。
- 用例可操作性强。
- 用例的输入与输出明确。一条用例只有一个预期结果。
- 用例的可维护性好。
- 用例对需求的覆盖率高。
测试用例的好处
- 测试执行者的依据
- 使得工作可重复,自动化测试的基础
- 评估需求覆盖率
- 用例的复用
- 积累测试的方法思路以供后续借鉴
- 测试用例的设计是费时费力的工作,往往设计测试用例所花费的时间比执行所花费的时间还多(省时)
基于需求的设计方法
需求文档->梳理需求(掌握需求)->针对文档设计测试用例(基于需求的设计测试用例)
基于需求进行设计用例:
这是个注册页面的功能测试:
基于需求进行设计用例的方法
1.等价类
依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
- 有效等价类:满足用户需求输入集合。
- 无效等价类:根据需求说明书,不满足需求的集合。
缺点:等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
2.边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法
边界点:
- 上点:边界上的点
- 内点:边界内的点
- 离点:边界值附近的点(闭区间在外距离最近的点,开区间区间内的点)
3.因果图(判定表)
判定表,是一种表达逻辑判断的工具
关系:
- 与:所有的条件必须满足,如果一个条件不满足,此时结果为假
- 或:满足其中一个条件结果为真,如果条件全为假,结果就为假
- 恒等:条件为真,结果一定为真
- 非:条件为假,结果才为真
设计测试用例:
(1)分析所有可能的输入和可能的输出。
(2)找出输入与输出之间的对应关系。
(3)画出因果图。
(4)把因果图转换成判定表。
(3)和(4)可以看成设计判定表
(5)把判定表对应到每一个测试用例。
例子:假设:业务单据的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠
- 输入:订单已提交,订单金额大于300,有红包
- 输出:优惠,不优惠
- 订单已提交,金额大于300,有红包,优惠
- 订单已提交,金额大于300,没有红包,优惠
- 订单已提交,金额小于300,有红包,优惠
- 订单已提交,金额小于300,没有红包,不优惠
- 订单不提交,金额大于300,有红包,不优惠
- 订单不提交,金额大于300,没有红包,不优惠
- 订单不提交,金额小于300,有红包,不优惠
- 订单不提交,金额小于300,没有红包,不优惠
4.正交表
正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。
什么是正交表?
最简单的正交表是L4(23),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。 [1](百度)
(用的是allpairs画正交表)
因素(Factor):输入变量
水平(位级)(Level):每个输入变量取值
性质:
- 每一列中,不同的数字出现的次数一样多
- 任意两列中各个有序数对出现的次数都一样多。
设计测试用例
注册案例:
需求:姓名、邮箱、密码、确认密码、验证码全部输入才能注册
因素:姓名、邮箱、密码、确认密码、验证码
水平:填写 或者 不填写
画正交表:
(1)将因素和水平放到Excel表格中
(2)将Excel表格内容直接复制到txt文本中
(3)生成正交表
(4)结果
场景设计法
1.场景:对软件整个使用场景进行测试
2.如何通过这个方法设计测试用例
充分理解需求-》确定主事件流-》每一个事件流就是一个测试用例
案例:ATM取款
主事件流:插卡-》输入密码-》选择业务-》选择金额-》出钞-》取卡
取款失败的情况:
插卡:芯片读取失败,卡消磁了,卡差错了。。。。
输入密码:密码输错,ATM键盘坏了,密码输入三次以上
业务:查询,选择取款。。
选择金额:输入金额大于银行卡余额,输入金额为0。。
出钞:ATM机钱不够,断电,多吐钱,断网。。
取卡:尝试集不去卡,ATM断电
错误猜测法
测试人员的经验
-
如何测试弱网:
request传输1kb花费时间300ms
response下载1kb花费时间150ms -
测试接口
使用工具:代码和工具(postmean),
http请求:get,post,delete。。
针对参数进行测试:(传递所有参数,传递部分参数,不传递参数,传递其他的参数)
zip命令
功能:压缩的是一个文件夹,压缩一个文件,压缩图片
界面:压缩信息提示提示正确
性能:5G,1KB
安全:压缩完文件,压缩之后文件不能损坏。
可视化压缩工具测试用例设计
水杯测试用例设计(实体)
(不完全,可以有更多)
微信发送朋友圈设计测试用例
(并不完整,其实还可以更多)