黑盒测试之业务路径覆盖法
上一篇 /
下一篇 2016-04-07 10:43:29
一、场景法
场景法就是模拟用户操作软件的时的场景,主要用于
测试系统的业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的边界值,等价类是否满足要求,而是先要关注他的主要功能和业务流程是否正确,这就需要场景法完成
功能测试。当业务流程没有问题时,也就是该软件的主要功能没有问题时,我们再重点从边界值和等价类划分等方面来测试控件。
在冒烟测试中也主要采用场景法进行测试。
1.1场景法中重要概念
(1)基本流:按照正确的业务流程来实现的一条操作路径
(2)备选流:导致程序出现错误的操作流程
1.2场景法的基本设计步骤
(1)根据说明,描述出程序的基本流和各项备选流
(2)根据基本流和备选流生成不同的场景
案例:使用场景法设计ATM机取款功能的测试用例
步骤一:根据说明描述出程序的基本流和备选流
- 插入银行卡
- 验证银行卡:atm机通过读取银行卡的磁条信息获取账户,并检查他是否属于可以接受的银行
- 输入密码:Atm机要求客户输入密码
- 验证密码:确定密码是否正确
- 进入atm主界面:atm显示本机中可用的各种选项
- 取款并选择金额:
- atm机验证
- 吐钞,更新账户余额
- 返回主界面
- 银行卡无效
- 密码输入错误
- 密码错误三次,吞卡
- 账户余额不足
- 取款总额达到上限
- atm 机余额不足
操作流程图:
步骤二:根据基本流和各项备选流生成不同场景
场景描述 | 基本流 | 备选流 |
场景一:成功取款 | 基本流 | |
场景二:银行卡无效 | 基本流 | 备1 |
场景三:密码错误 | 基本流 | 备2 |
场景四:密码三次错误 | 基本 | 备3 |
场景五:账户余额不足 | 基本 | 备4 |
场景六:取款达到限额 | 基本 | 备5 |
场景七:ATM机余额不足 | 基本 | 备6 |
编号 | 场景 | 账号 | 密码 | 账户余额 | 当日余额 | ATM余额 | 预期结果 |
1 | 场景一:成功取款 | y | y | y | y | y | 成功取款 |
2 | 场景二:银行卡无效 | n | | | | | 提示错误,退卡 |
3 | 场景三:密码错误 | y | n | | | | 提示密码错误 |
4 | 场景四:密码三次错误 | y | n | | | | 提示错误,吞卡 |
5 | 场景五:账户余额不足 | y | y | n | | | 提示错误,退卡 |
6 | 场景六:取款达到限额 | y | y | y | n | y | 提示错误退卡 |
7 | 场景七:ATM机余额不足 | y | y | y | y | n | 提示错误,退卡 |
编号 | 用例描述 | 预期结果 |
1 | 场景一:银行卡有效,密码正确,账户余额:4000 取款500 | 成功取款500 |
2 | 场景二:银行卡无效 | 提示银行卡无效并退卡 |
| 场景三:密码错误 | 提示错误还有两次机会,请重新输入密码 |
| 场景四:密码错误三次 | 提示已错误三次,吞卡 |
| | |
| | |
| | |
二:状态图法
2.1.1案例:货币转换器
输入人民币金额,选择要转换的国家,再输入汇率,即可计算所输入的人民币等价的货币金额。
用户操作步骤:输入人民币金额-》选择国家-》输入汇率-》点击“计算”按钮
选择国家-》输入汇率-》输入人民币金额-》点击“计算”按钮
输入人民币金额-》选择国家-》点击“清除”按钮
2.1.2两个重要概念
1、软件运行到某个时刻所处的情况
例如:
- 刚刚启动处于空闲状态
- 输入人民币以后变为人民币已输入状态
- 所有输入完成后,点击“计算”按钮,程序处于‘显示等价金额’状态
- 点击‘清除“按钮处于清除状态
2、输入的动作
用户向软件进行的操作
例如:
- 输入人民币金额
- 点击某个国家单选按钮
- 点击”计算“按钮
2.2状态转换图法
找出软件的所有状态以及导致这些状态发生变化的所有输入动作,进而用图形的方法把相关联的输入动作和状态联系在一起,真实模拟用户操作顺序及流程。
2.2.1状态转换图的核心
(1)软件的所有状态
(2)导致状态发生变化的所有操作
2.2.2使用状态转换图的步骤
(1)找出程序所有的输入动作,并进行编号
(2)找出程序的所有状态,可以认为用户每输入一个动作就会使程序的状态发生变化,如果不能决定是否为一个独立状态,可以先假设“是”
(3)找出什么动作会导致什么状态,画出状态转换图
(4)把相关联的动作和状态联系起来,设计测试用例
例子:使用状态转换图法分析货币转换器程序
步骤一:找出程序的所有输入动作,并进行编号
步骤二:找出程序的所有状态
可以认为用户每输入一个动作就会使程序的状态发生变化
- 程序启动后,处于”空闲“状态
- 人民币金额已输入状态
- 国家已选择状态
- 国家已选择、汇率已输入状态
- 人民币已输入、国家已选择状态
- 所有输入已完成状态
- 显示等价金额状态
- 错误提示状态
(1)人民币为输入或输入错误
(2)国家未选择错误
(3)汇率为输入或输入错误
9、清除状态
10、退出状态
步骤三、找出什么动作会导致什么状态发生,画出状态转换图
第1轮:把所有可能的输入单独加载到被测系统的空闲状态,得到新状态
第2轮:先找到主要的动作和状态
第3轮、1.先找到主要动作和状态
第3轮、2.先找到次要动作和状态
第4轮、1.先找主要动作和状态
第4轮、2.先找次要动作和状态
第5轮
步骤四:根据状态转换图,把相关联的动作和状态联系起来,设计测试用例
(1)先写主要操作(功能比较重要或用户操作比较频繁的动作),后写次要操作。
(2)为了减少测试用例数量,一条测试用例最好沿着状态转换图的一条路径编写完。
用例编号 | 用例描述 | 预期结果 | 实际结果 |
1 | 1、 输入人民币金额100 2、点击计算 3、在错误提示框中点击确定 | (2)提示选择国家 (3)错误提示框关闭 | |
2 | 1、输入人民币金额:100 2、选择国家:美国 3、点击计算 4、在错误提示框中点击确定 | 3、提示请输入汇率 4、提示框关闭 | |
3 |
1、输入人民币金额:100 2、选择国家:美国 3、输入汇率 4、点击计算
|
| 4、显示等价金额 | |
4 | 1、输入人民币金额:125 2、选择国家:加拿大 3、输入汇率 4、点击退出 | 4、退出程序 | |
5 | 1、输入人民币金额:333 2、选择国家:美国 3、输入汇率 4、点击清除 | 4、成功清除内容 | |
6 | | | |
7 | | | |
8 | | | |
9 | | | |
10 | | | |
11 | | | |
12 | | | |
13 | | | |
14 | | | |
15 | | | |
16 | | | |
17 | | | |
18 | | | |
19 | | | |
收藏
举报
TAG: