软件测试方法下篇(正交法、场景设计法、错误猜测法)
一、正交法
研究多因素、多水平的一种实验方法,通过正交性找出实验中各因素最优的水平组合,通过分析这些最优组合的实验结果,来分析整个实验的结果与情况。
1、概念及计算方法
- 因素:待考察的变量 ;
- 因素数:待考察的变量个数,即正交表的列数;
- 水平:每个待考察变量的值;
- 水平数:考察每个变量的最多的取值个数。
正交表的行数(N)=(水平数-1)x因素数+1
必须是每个因素的水平数相等,若不相等则直接查。
2、正交表的性质
- 每一列中的不同数据出现的次数一样多;
- 任意两列个数据组合(组合中的数据不同)出现的次数一样多。
3、证交法设计测试用例的步骤
- 找出因素、水平;
- 确认因素数、水平数;
- 确认正交表的行、列;
- 根据正交表的性质填充正交表数据;
- 正交表的每一行就是一个简略的测试用例,根据正交表每一行的信息编写测试用例;
- 补充你认为可能是正交表上没有的测试用例。
4、举例:根据正交法编写注册平台邮箱的测试用例
题目:根据正交法编写注册平台邮箱的测试用例。
(图源来自网络如有侵权联系删除)
分析过程:
- 注册平台邮箱包含:账户、邮箱、密码、确认密码、验证码;
概念 | 情况 |
---|---|
因素 | 账户、邮箱、密码、确认密码、验证码 |
因素数 | 5 |
水平 | 输入/不输入 |
水平数 | 2 |
共有2x2x2x2x2=32种情况;
正交表的行数:(2-1)x5+1=6。
- 画出正交表
账户 | 邮箱 | 密码 | 确认密码 | 验证码 | |
---|---|---|---|---|---|
1 | 输入 | 不输入 | 输入 | 输入 | 不输入 |
2 | 不输入 | 输入 | 不输入 | 输入 | 输入 |
3 | 不输入 | 不输入 | 输入 | 不输入 | 输入 |
4 | 不输入 | 输入 | 输入 | 不输入 | 不输入 |
5 | 输入 | 输入 | 不输入 | 输入 | 不输入 |
6 | 输入 | 不输入 | 不输入 | 不输入 | 输入 |
7 | (补充)全部输入,可成功 |
---|---|
8 | (补充)全部不输入,不成功 |
- 根据正交表写出测试用例(此处略)
二、场景设计法
功能点:把一个个孤立的功能点组合起来(可能有一定的逻辑),形成一个一个的场景。
1、举例:ATM机取款
题目:根据场景设计法对ATM机编写测试用例。
分析过程:
- 场景:插卡——输入密码——输入取款金额——取钱——退卡
- 基本流程:插卡正确,密码输入正确,输入金额小于余额数目,按取钱按钮,取钱,退卡。
- 异常事件:操作超时;忘记退卡;密码错误(1~2次与3次);卡插反了,重新插卡;插成购物卡;银行卡消磁了;输入金额大于银行卡余额;银行卡过期;银行卡冻结;ATM机余额不足;ATM机吐出的钱数与所取金额不一致;同一张卡取钱金额达到上限;网络异常;ATM机器分类(只存、只取、存取一体);取款金额非整数;取钱后查余额,数据没有更新或数据不符合实际。
- 异常流程:由异常事件详细描述后所得。
- 根据异常流程编写测试用例。
三、错误猜测法
根据测试人员的知识、经验,猜测问题可能会出现在哪一个模块或是功能点上,针对这一问题编写测试用例(适用于补充的测试用例)。
例如:查询界面输入“空格+内容”时,无法找到所需内容。
- 原因:关键字于数据库内容无法匹配;
- 解决方法:采用trim()方法。