1边界值分析法
大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
- 什么是边界
边界是指对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。
- 边界值分析法
边界值分析法也是一种最常用的黑盒测试用例设计方法。
- 测试范围 确定边界情况(输入或输出等价类的边界) 选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据
2 判定表
- 判定表法表示的是有多个输入,和多个输出,而且输入与输入之间有相互的组合关系、输入和输出之间有相互的制约和依赖关系
- 为什么会产生判定表法 等价类划分法和边界值分析方法都是着重考虑输入条件, 但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。
- 判断表通常由四个部分组成,如下图:
1.条件桩:列出了系统的所有输入,列出的输入次序无关紧要
2.动作桩:列出了系统可能采取的操作,这些操作的排列顺序没有约束
3.条件项:列出针对它左列输入的取值,在所有可能情况下的真假值
4.动作项:列出在输入项的各种取值情况下应该采取的动作
5.动作项和条件项一起,指出了在条件项的各种取值情况下应该采取的动作,在判定表中贯穿条件项和动作项的一列就是 一条规则,可以针对每个合法输入组合的规则设计用例进行测试
- 判定表的设计步骤
1、明确条件桩
2、明确动作桩
3、对条件桩进行全组合
4、明确每个组合对应的动作桩
5、设计测试用例,每列数据对应一条测试用例
案例一、
系统只接收50或100元纸币,一次只能使用一张纸币,一次充值金额只能为50元或100元。 若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功; 若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元; 若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元; 若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功; 若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误; 若选择充值按钮后不输入纸币,提示错误
3 因果图
- 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适用于检查程序输入条件的各种组合情况
- 特点:
1、考虑输入条件的相互制约以及组合关系
2、考虑输出条件对输入条件的依赖关系
- 因果图法的核心
- 因====果
1、所谓的原因就是输入,所谓的结果就是输出。
2、因果图的“因”——输入条件
3、因果图的“果”——输出结果
案例:若用户欠费或者关机,则不允许主被叫
因果图法中的符号
- 因果图中的基本符号 通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。 “0”表示某状态不出现,“1”表示某状态出现。
- 因果图中的约束条件
因果图法的基本步骤
1、标识输入和输出
分析测试内容,找出其中的输入和输出并标识出来,其中要注意以下几点:
1)输入只涉及2种取值的,可以只作为一个标识出来,如果输入项涉及多种取值的,每个取值需要作为一个输入标识出来
2)标识可以自己确定,但是输入和输出需要独立的标识
2、画出因果图 分析输入和输出之间的因果关系,输入和输入之间的约束关系,根据这些关系,画出因果图
3、 因果图转换为判定表
1.将输入和输出分别写入条件桩和动作桩,并在条件项中填写输入的组合 2.根据因果图中的输入条件约束关系,对不可能出现的输入组合,在动作项上作出删除标记 3.根据因果图中的输入与输出的因果关系,在动作项上标出对应的动作结果
4、 生成测试用例
生成相应测试用例即可。
4 场景法
场景法就是模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况。
为什么引入场景法
- 用户角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用
- 测试人员角度:平时测试的都是单个功能点进行测试,为了保证测试的全面性,也要从用户的角度出发也要对产品多个功能的组合进行测试。
场景法的定义
场景法中两个重要的概念
- 基本流 按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)
- 备选流 导致程序出现错误的操作流程(模拟错误的操作流程)
场景法相关概念
场景法测试用例
- 步骤:
1、确定项目中的角色
2、确定该角色的常用功能
3、根据需求文档构建测试场景
4、一条场景就是一条测试用例
场景法案例
- 用户进入一个在线购网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。
注意:场景法的适用范围:
1、多个功能间的组合测试
2、在冒烟测试时主要采用场景法进行测试
5 流程图
流程分析法主要是针对测试场景类型属于流程测试场景的测试项下的测试子项进行设计。
- 步骤
第一步:详细了解需求;
第二步:根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系;
第三步:画出业务流程(产品经理使用Axure软件制作);
第四步:写用例,覆盖所有的路径分支。
案例---使用ATM机取款
一、详细了解需求;
二、找出业务流程的各个页面以及各页面之间的流转关系;
1、用户向ATM取款机中插入银行卡…… 2、用户输入银行卡密码…… 3、用户输入取款金额…… 4、系统同步银行主机,点钞票,输出给用户并减去用户卡中相应数目的存款金额…… 5、用户取款,银行卡退卡…… 6、……
三、画图
使用ATM机取款正常流程
操作流程
- 流程图法的使用场景
1、多个功能间的组合测试 2、在冒烟测试时主要采用场景法进行测试
6 错误推测法
错误推测法是指利用直觉和经验猜测出出错的可能类型,有针对性列举出程序中所有可能的错误和容易发生错误的情况,它是测试经验丰富的测试人员喜欢使用的一种测试用例设计方法。
- 基本思想: 基本思想是列举出可能犯的错误或错误易发生的清单,然后根据清单编写测试用例; 这种方法很大程度上是凭经验进行的, 即凭人们对过去所作测试结果的分析,对所揭示缺陷的规律性作直觉的推测来发现缺陷。
- 使用场景: 项目紧任务急、时间不够,这时就不要按部就班的测试了, 根据之前项目的经验,找到之前出错过的类似模块进行重点测试; 所有正常测试结束后,通过错误推断法再测试一些之前出过问题的模块。