软件测试用例设计方法
软件测试的核心就是测试用例的编写!!!
那么我们应该学习如何来编写软件测试用例呢? 通常我们会通过学习几种设计放了编写软件软件用例它们分别是等价类划分 ,边界值分析法 ,场景法 ,错误推测法(反推法)
1. 等价类划分法
- 定义
等价类划分法是一种典型,重要的黑盒测试方法,是指某个输入域 的子集合。该子集合中,所有的输入数对于揭露软件中的错误都是等效的。(这里的输入域可以指:文本域,下拉框等等。) 等价划分分:有效等价类和无效等价类。
- 等价类划分用例设计原则
1. 划分有效及无效等价类,为每一个等价类规定一个唯一的编号; 2. 设计一个新的测试用例数据,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,知道所有的有效等价类都被覆盖未知; 3. 设计一个新的测试用例数据,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,知道所有的无效等价类都被覆盖。 - 举个栗子
微信红包,一般来说:微信分给个人的红包金额在平时:最少至少是0.01,最多不能超过200。 那么如何来分析呢? 可以根据之前学习的如何来提取测试点中得知:可从这个方面来分析:长度,数据类型,必填,重复 。
-
分析
- 按照数据范围划分:
- 有效:1)0.01-200且小数点不超过两位
- 无效: 2) 小于0.01 ;3)大于200;4) 0.01-200区间的小数点后超出2位的值
- 按照数据类型划分:
- 有效:5)数字
- 无效:6)非数字类型:f,中文
-
基本测试用例设计
2.边界值分析法
- 定义:边界值分析法是对等价类划分的一个补充,边界值一般都是从等价类的边缘值去寻找。边界值分析的基本思想是:正好等于,刚刚大于,刚刚小于边界值得值作为测试数据
注意:0是一个特殊得值,我们在考虑边界值得时候往往同时也要考虑这个特殊值。`负数``
- 举例子
比如:我们上面举的例子:微信红包:最小金额0.01 ,最大金额200元
- 边界值:0,0.01,0.02 ;199.99,200,200.001(这里我们一般是三点法/两点法来划分有效值,无效值)
- 特殊值:负数 基本测试用例
eg:一个输入文件应包含2-255条记录
- 边界值:1,2,4;244,255,266; 2~255(有效类区间)
- 特殊值:0
边界值的应用场景:如果需求规定了取值范围或规定了取值的个数是,可利用边界值进行测试。 3. 等价类划分法/边界值分析法常见运用常见
- 输入条件规定范围或值得个数情况(类似于最小<x<最大,最小<x,最大>x);
比如:用户名长度,红包金额数值输入范围 - 在输入条件是True或Flase两种状态得情况:比如勾选,开关设置
- 在下拉列表包含多个选项得情况;比如城市下拉选项(第一个,最后一个,中间一个)
- 在规定了输入数据必须遵守得规则得情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不通过角度违反规则)
以上出了等级类之外同时会涉及边界值得分析。边界值还包括以下: 1) 报表数据得第一行,最后一行,中间一行 2) 屏幕上光标在最左上,最右下位置
3. 场景法
- 定义
- 通过场景描述得业务流程(业务逻辑),也包括代码实现逻辑,设计用例来遍历场景(路径),验证软件系统功能得正常性。
- 如果使用
- 画出流程图–矩形:步骤(操作,输入,输出结果);菱形:判断条件;箭头:流向;
- 遍历场景,提取测试用例
a. 覆盖正常路径 b.走每个分支判断得地方 c.出错步骤重新回到主流程,建议多走一步正确得步骤。 - 举个例子
- 1 ATM机子
- 流程图
- 2测试步骤
- 场景一:正常流程:插入合法银行卡 --> 输入正确密码—> 输入金额100(卡余额5000,ATM现金充足)====> 取款成功。
- 场景二:插入卡不合法===>提示错误,退卡
- 场景三: 插入合法卡–>输入正确密码,点击取消====>退卡
- 场景四:插入合法卡—> 输入错误的密码,不超过3次===>提示密码错误重新输入
- 场景五:输入合法卡—> 输入错误码密码超过3次===>吞卡
- 场景六:插入合法卡—> 输入正确的密码,点击确认–>输入不合法的金额(5元)===>提示重新输入金额
- 场景七:插入合法卡—> 输入正确的密码,点击确认–>输入10000金额(卡余额5000)===>提示余额不足
- 场景八:插入合法卡—> 输入正确的密码,点击确认–>输入10000金额(ATM余额9000)===>提示ATM余额不足
- 2 OA请假
- 流程图
- 2测试步骤
- 场景一:正常流程
- 员工提出请假不超过3天---->部门经理审批通过—> HR审批通过===>请假成功
- 员工提出请假超过3天—>部门经理审批通过—> 部门总监审批通过—>HR审批通过====>请假成功
- 场景二:员工提出请假不超过3天—>部门经理审批不通过===》提示员工重新提交请假申请
- 场景三:员工提出请假不超过3天—>部门经理审批通过 -->HR审批不通过 ===>提示员工重新提交请假申请
- 场景四:员工提出请假超过三天—>部门经理审批不通过====> 提示员工重新提交申请
- 场景五:员工提出请假超过三天–>部门经理审批通过–>部门总监审批不通过===提示员工重新提交请假申请
- 场景六:员工提出请假超过三天—> 部门经理审批通过—> 部门总监审批不=通过—>HR审批不通过===>提示员工重新提交申请
4. 错误推测法(反推法)
- 定义:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法
它的要素共有三点:分别为:经验,知识,直觉 一般不单独使用,作为补充;考虑可能触发错误场景 - 举个例子
- 某平台登录页面
- 密码错误
- 用户名错误/用户名位注册
- 不输入用户名
- 不输入密码
- 网络情况异常,登录=====给予友好提示
- 不兼容的浏览器,进行兼容性测试
- 账号违规,黑名单=== 看系统有无需求
- 服务器登录请求过多-====合理处理;排队系统
- 输入密码次数过多====锁定账号
|