测试用例设计方法
测试用例
定义:为了某个业务目标,而编制的一组由测试输入,执行条件以及预期结果组成的案例。
测试用例核心要素
用例编号、所属模块、用例标题(验证谁在什么情况下,去做什么,最后结果是什么)、优先级、前置条件、操作步骤、测试数据、预期结果、实际结果、通过否、bugID、编写人员、编写时间、测试人员、测试时间、备注。
高质量测试用例特点
- 测试用例覆盖所有的用户需求
- 测试用例要简单明了
- 各类型的测试用例要齐全(正例,反例)
- 用最少的用例覆盖最多的需求
测试用例模板
用例编号 | 所属模块 | 用例标题 | 优先级 | 前置条件 | 操作步骤 | 测试数据 | 预期结果 | 实际结果 | 是否通过 | bugID | 编写人员 | 编写时间 | 测试人员 | 测试时间 | 备注 |
---|
测试用例设计方法
等价类划分法
定义:等价类划分是把所有可能输入的数据 分为若干个区域,然后从每个区域中取少量有代表性的数据进行测试即可。
等价类 :何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。
分类
-
有效等价类:指符合《需求规格说明书》,输入合理的数据集合
-
无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合
类型
-
取值范围型: 输入学生成绩 0-100
-
恒等类型 : 只有一个结果是正确的,其他都是错误的 例如 彩票的特等奖、必选框
-
布尔值型: 通过是否来进行选择,如同意协议
-
枚举类型: 给出选项内容,只要符合其中任意一个就可以 例如选择学历
-
规则类型: 给定要求,满足要求的就可以,比如邮箱
在任意文本输入框中可以填写的字符类型: 中文、英文、特殊符号、空格、空值、数字。
边界值分析法
定义:边界值分析是取稍高于或稍低于边界的一些数据进行测试。
确定边界值的方法
-
上点:是指边界上的点,无论此时的域是开区间还是闭区间,开区间的话,上点就是在域外,闭区间的话,上点就是在域内。
遵循的原则:开外闭内
-
离点:是指离上点最近的点,这里就跟是闭区间还是开区间就有关系了,如果是开区间,那么离点就在域内,如果是闭区间,那么离点就在域外。
遵循的原则:开内闭外 开区间往中间找,闭区间往外找
-
内点:域内的任意点都是内点。
因果图
定义:因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。
因果图测试用例的编写过程
- 确定原因(输入)、中间过程、结果(输出)
- 连接因果图
- 标明约束条件
- 输出测试用例
案例:自动售货机
需求说明:
有一个处理单价为2.5元的盒装饮料的自动售货机软件。若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。若投入的是3元硬币,在送出饮料的同时退还5角硬币。
分析
原因(输入): 中间状态 结果(输出)
投入2.5元硬币 退还5角硬币
投入3元
按“可乐”按钮 已投币/已按钮 送出“可乐”饮料
按“啤酒”按钮 送出“啤酒”饮料
按“奶茶”按 送出“奶茶”饮料
根据分析编写测试用例
编号 | 输入数据 | 预期结果 | 实际结果 | 是否通过 |
---|---|---|---|---|
1 | 投入2.5元硬币,按“可乐”按钮 | 送出“可乐”饮料 | ||
2 | 投入2.5元硬币,按“啤酒”按钮 | 送出“啤酒”饮料 | ||
3 | 投入2.5元硬币,按“奶茶”按钮 | 送出“奶茶”饮料 | ||
4 | 投入3元硬币,按“可乐”按钮 | 退还5角硬币,送出“可乐”饮料 | ||
5 | 投入3元硬币,按“啤酒”按钮 | 退还5角硬币,送出“啤酒”饮料 | ||
6 | 投入3元硬币,按“奶茶”按钮 | 退还5角硬币,送出“奶茶”饮料 |
错误推测法
定义:错误猜测法是测试经验丰富的人喜欢使用的一种测试用例设计方法。
一般这种方法是基于经验和直觉推测程序中可能发送的各种错误,有针对性地设计。只能作为一种补充。
案例
测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用例:
- 无SIM 卡插入时进行呼出(非紧急呼叫)
- 插入已欠费SIM卡进行呼出
- 射频器件损坏或无信号区域插入有效SIM卡呼出
- 网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)
- 网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字
技巧
最重要的是要思考和分析测试对象的各个方面,多参考以前发现的bug的相关数据,总结的经验,个人多考虑异常的情况、反面的情况、特殊的输入,以一个攻击者的态度对待程序,就能设计出比较完善的测试用例来。
判定表
定义:设计测试用例时,分析和表达多输入条件下执行不同操作的黑盒测试方法。
注意:该方法和因果图法相似。
判定表测试用例编写过程
- 确定原因和动作
- 排列组合
- 标明结果关系
- 输出测试用例
案例
正交法
使用工具:正交表
-
正交实验法就是利用排列整齐的表 - 正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果。
-
这种试验设计法是从大量的试验点中挑选适量的具有代表性的点,利用已经造好的表格—正交表来安排试验并进行数据分析的方法。
-
正交表能够在因素变化范围内均衡抽样,使每次试验都具有较强的代表性,由于正交表具备均衡分散的特点,保证了全面实验的某些要求,这些试验往往能够较好或更好的达到实验的目的。
-
正交实验设计包括两部分内容:第一,是怎样安排实验;第二,是怎样分析实验结果。
场景法
定义:通过模拟业务场景来对系统的功能点或业务流程的描述,从而提高测试效果的黑盒测试方法
组成
基本流:正确完成的流程
备选流:存在异常的流程,对于基本流每一步都取反
场景法测试用例编写过程
- 分析用户场景
- 设计场景覆盖基本流和备选流
- 提取测试点
- 输出测试用例
测试点分析方法:
- 熟读需求:熟读3-5遍,读需求
- 断句:将需求整理成一段段要求
- 分类:流程/规则
- 逆向思维:从不同的方面进行考虑
- 质疑:将自己有疑问地方找出来
- 提取测试点
- 应用测试用例分析方法