测试用例的设计方法!
常见的8大测试用例设计方法
1.等价类划分法
等价类划分是一种黑盒测试方法,把无限的测试变成有限的测试。
通过对输入数据分类的方式,在保证测试质量的情况下,简化的测试的过程。
应用场合:有数据输入的地方(比如说:输入框,文本框),就可以用到等价类划分
1.1 有效等价类
对软件而言,是有效的,有意义的数据,输入有效数据,程序会正常运行
(一般有效等价类会记录在需求文档中)
1.2 无效等价类
对软件而言,无效的数据,错误的数据,程序不允许输入的数据,当我们输入了这些数据时,程序应该给予错误的提示
无效等价类可以从以下的因素考虑:
1)要求不能为空 无效:为空
2)要求不能重复 无效:重复
3)数据有大小范围 无效:数据超出范围
4)字符个数有要求 无效:字符个数超出范围
5)数据有格式,样式,类型要求 无效:格式,样式,类型非法
6)小数点最多保留几位 无效:小数位超长
…
2.边界值
边界值一般与等价类划分法一起组合使用
边界值法是等价类划分法的重要补充
大量程序错误往往容易发生在边界上
上点:边界上的点
内点:边界内的点
离点:离边界最近的左右两个点
离点又分 有效离点 与 无效离点
2.1 边界值使用的步骤
1)需求分析
2)划分等价类
3)确定边界值
4)设计测试用例
例如:QQ账号输入,6-10位自然数
1)需求分析
2)划分等价类:有效等价类:6-10位的自然数 / 无效等价类:不足6位的自然数,10位以上的自然数,6-10位非自然数,不足6位的非自然数,大于10位的非自然数
3)确定边界值 上点:6,10 / 内点:8 / 有效离点:7,9 / 无效离点:5,11
4)设计测试用例
3. 判定表
应用场景:当一个界面中有多个控件,不同控件的组合,会得到不同的结果。
那么,为了理清楚组合和结果的对应关系,我们要用到判定表
3.1 判定表的组成
1)条件桩:列出所有可能的条件
2)动作桩:列出所有可能的操作
3)条件项:列出所有的条件取值组合
4)动作项:列出每一种条件取值组合的情况下,执行动作桩的那些动作
1,理清楚所有的输入条件
2,找出所有的输出结果
3,找出所有输入条件的组合情况和限制情况
4,找出所有的输出结果的组合情况和限制情况
5,根据步骤3和步骤4找到的组合情况,我们找一找什么样的输入组合,会得到什么样的输出结果
6,绘制判定表
7,编写测试用例,判定表中的每一列,都要转换成一条测试用例
4.因果图
应用场景:输入条件或者输出条件的组合比较多, 组合使用判定表和因果图
借助图像手段去分析判定表
5.正交法
正交法是一种古希腊就有的实验设计方法, 基于数学概率学知识, 设计最经济的实验路径
应用场景:输入条件较多, 每个条件的取值可能性也比较多时, 可以使用正交法
采用正交法设计测试用例需要使用工具 allpairs
6.场景法(最重要的用例设计方法)
应用场景:主要应用于系统测试/ 验收测试阶段, 模拟用户操作场景 (测试多个功能组合)
场景法 以结果为导向 去推演
步骤:
1)需求分析
2)确定基本流和备选流设计测试场景
(基本流:模拟用户正常流程或操作的场景)(备选流:模拟用户错误操作或流程的场景)
3)3.一个场景就是一条用例
1,分析用户操作微信发红包可能遇到的情况
2,分析场景:(场景1:成功发红包 基本流) (场景2 余额不足 备选流1)
(场景3 被删好友/被拉黑 备选流2) (场景4 网络异常 备选流3)等等
3,编写测试用例,一个场景就是一条测试用例
7.流程图法
应用场景:用流程图的方式去展现基于用户使用场景
先用流程图来表示, 然后用场景法来组织测试用例
流程图常用符号:
开始或结束: 椭圆
方向或路径: 箭头
处理或操作: 长方形
判断: 菱形
输入或输出: 平行四边形
步骤:
1)需求分析
2)绘制流程图
3)设计测试用例,一条流程路径就是一条用例
例如设计一个 ATM取款功能的业务流程图
8.错误推断法
应用场景:测试人员使用经验或直觉去发现程序错误,
当你的测试用例都用完了的时候,你可以凭借自己的经验去判断软件有哪些地方可能有问题。
有经验的老鸟, 是如何使用此方法的?
举例
新开发的功能, 与其相关的业务, 或者数据, 容易出现问题
分页功能, 页码搜索
新功能, 异常场景
列表展示功能, 数据为空, 是否报错?
文本框, 对于特殊字符的处理
…
参考以前出现过的重大线上bug
测试用例设计方法总结
原则:
具有输入功能, 但输入之间没有组合关系
推荐等价类划分法
输入有边界如长度, 类型
用边界值补充测试用例
多输入, 多输出, 输入和输出存在组合关系
推荐使用判定表
多个功能的组合测试
流程图和场景法
最后推荐使用错误推测法来进一步补充测试用例