测试用例的编写方法
---恢复内容开始---
一、等价类、边界值
等价类分为:
有效等价类--在取值范围内
无效等价类---在取值范围外
边界值:错误更可能出现在输入的附近趋势 +1和-1,用此边界值需考虑三点:上点,离点,内点 一般会选择6个数据进行测试
总结:编写测试用例需要从各方面考虑并根据我们测试用例方法来编写,测试用例的设计都是循序渐进的过程并不能一步到位。
二、因果图
- 1、什么是因果图;通过画图的方式进行表达输入条件和输出结果之间的关系
- 2、因果图的核心:
1.因--原因--输入条件 果--结果---输出结果 2.确定原因,根据用户的需求来确定原因,因为这些原因会导致一些结果和影响 3.我们测试人员就要理解被测系统的判断逻辑过程 4.通常因果图是判定表的一个前置过程
5.一般 a.输入与输出的关系 b.输入与输入的关系
- 3、因果图的基本符号
恒等 a=b 当输入条件发生时,结果一定会出现
非 a!=b 当输入条件发生时,结果不发生
或 a v b 当输入条件有一个为真的,输出结果就为真
与 a ^ b 当输入条件有一个为假的,输出结果就为假
- 4、因果图的约条件
互斥(异):如果选择只能选择一个,但可以不选
包含(或):至少选择一个,可以多选但不能不选
唯一: 必须选择一个,唯一与互斥的区别:唯一必须选择一个,互斥可以选一个也可以都不选
因果图设计测试用例步骤
- 找出所有输入条件
- 明确所有输出结果
- 明确所有输入条件之间的制约关系与组合关系 a.哪些条件可以组合 b.哪些条件不可以组合
- 找出什么样的输入条件会产生哪些输出结果
- 明确输出结果之间的相互制约关系
- 根据因果图写判定表
- 根据判定表设计测试用例
小结:1、因果图主要考虑控件之间条件的组合关系
2、控件过多,组合量大的情况下不宜使用因果图法
三、判定表
- 前言: 判定表建立在因果图的基础上
- 定义: a.分析和表述若干输入条件下,被测对象针对这些输入条件做出的响应工具,判定表属 于工具,是由开发设计方式方法延伸到测试领域 b.遇到复杂的业务逻辑可以使用该表理 清业务逻辑
- 重要概念: a.条件------条件桩------需求说明书定义被测对象的所有输入条件 条件项------针对 条件桩所有可能输入数据的真假值 b.动作----动作桩----针对条件对象可能采取的所有操作 动作项-----针对动作桩被测对象响应的可能取值结果 规则:动作项和条件项组合在一起,形成业务逻辑处理规则
- 判定表应用步骤:a.理解需求确定条件桩和动作桩 条件桩=输入条件 动作桩=输出结果 动作项=结果的状态 b.设计优化我们的判定表 c.填写动作项 也就是业务逻辑 d.根据我们的判定表输出结果的表现,进行判定表的合并(选操作) e.抽取测试用例:判定表给出的只是规则,不像边界值,等价类可以直接给出测 试用例 f.编写测试用例
- 小结:a.判定表的优缺点 优点:能够将复杂的问题按照各种可能的情况列举出来,简明并避免遗漏,能够通过正式计算出测试用例的条数 缺点:输入条件之间限制条件不好表达,解决方案,挑些备注,描述限制关系 当输入次数过多,规则以2的你n次方剧增时,判定表就会庞大,这是还会造成逻辑缺失,业务混乱,所以需细致分析,尽可能划分多个需求项 b.电商项目使用居多 c.因果图、判定表 适合测试控件的组合情况,而且适合测试组合数量比较少的情况 常见控件有(按钮、单选按钮、复选框、下拉框) d.判定表的特点:输入条件的顺序无关紧要 输出结果顺序无关紧要 先测哪种组合,后测哪种组合无关紧要 每种组合互相独立
- 判定表的计算公式:条件有7种 结果状态有2种 则条件数为27
四、正交排列表
A.定义:一种特制的表一般正交表记为LnMk
n代表行数 也就是需求侧卧时组合的行数
k代表列数 表述控件的个数(因素的个数或因子的个数)
M 每个控件包含的取值个数(各因子的水平数即各因素的状态数)
L 正交表的代号
B.因子:所有参与试验影响结果的条件
C. 影响实验结果因子的取值或输入
特点:分布均匀,整齐可比
L9(34)表示 有4个因子 每个因子有3个取值 9是需求测试组合的个数 n=k*(m-1)+1 n为序号
D.小结:正交表中的因子,判定表种的条件桩
优 点:可以把最优的部分筛选出来
缺点:经常遗漏一些测试
五、场景法
A.定义:模拟用户操作软件的场景 常用于冒烟测试
B.核心概念:
a.基本流---按照正确的业务流程来实现的仅有一条操作路径
b.备选流---导致流程出现错误的操作流程(模拟错误的操作流程)
基本流:
1、开始→插入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码正确→提示输入金→用户输入金→用户确认→输入100单位金额→余额足够→不超过取款限额→输出超屏给用户,退卡→用户取走现金,取走银行卡→界面回复初始状态
备选流:
2、开始→输入银行卡→卡不合法→提示error1,退卡
3、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→取消→退卡
4、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误3次→吞卡
5、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→余额足够→提示error3,退卡
6、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→提示error3,退卡
7、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→余额足够→不超过取款限额→提示error4,退卡
8、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→重新输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→不超过取款限额→提示error4,退卡
9、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→重新输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→不超过取款限额→输出钞票,退卡→用户取走现金,取走银行卡→界面恢复初始状态
10、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码正确→→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→提示error3,退卡
11、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→余额足够→不超过取款限额→提示error4,退卡
12、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→不超过取款限额→提示error4,退卡
13、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→不超过取款限额→输出钞票,退卡→用户取走现金,取走银行卡→界面恢复初始状态
六、状态转换图
A.定义:关注被侧对象的状态变化,在需求规格中是否有不可到达的状态和非法状态
B.状态:在被测对象待定输入的条件下能不能保持响应形式
C.方法流程:a、分析需求划状态节点 b、画状态树 c、写测试用例
D.小结:先写主要操作 为减少测试用例数量 沿着状态转换图一条路径
七、大纲法
A.定义:检查窗口与窗口之间的联系 每一个窗口有对歌动作,为了弄清楚窗口之间的关系,或说动作之间 的联系,可以使用测试大纲法
B.步骤:a、找所有窗口以及每个窗口的输入动作,注意先后顺序
b、找到各个窗口之间的关系,并依据此编写测试用例
适用于软件安装程序测试,检查界面测试要点以及窗口之间的变化
QQ五笔输入法
1、点击取消,若不下载,则点“是” 否则点“否”
2、搜索qq五笔输入法,下载安装包 点击下一步
3、阅读协议后,点击上一步,返回2步骤
4、点击取消,则步骤1
5、点击我接受,
6、点击浏览,选择安装目录
7、选择上一步,返回步骤5
8、点击取消,则执行步骤1
9、点击“安装”
安装页面,等待安装
10、无法点击“上一步”和“取消”
11、默认,系统初始值,点击“下一步
12、安装完成,点击“完成”
测试用例:
1、下载→取消→是
2、下载→取消→否→返回下载
3、下载→下一步→取消→是
4、下载→下一步→取消→否→返回上一步
5、下载→下一步→返回上一步
6、下载→下一步→我接受→取消→是
7、下载→下一步→我接受→取消→否→返回人接受
8、下载→下一步→我接受→浏览→储存目录选择
9、下载→下一步→我接受→上一步→返回我接受
10、下载→下一步→我接受→安装→下一步→完成
八、错误推断法
A.定义:基于经验和直觉推断程序中所有可能存在的各种错误,从而出针对性设计测试用例
三点要素:经验,知识,直觉
九、测试方法总结
---恢复内容结束---