黑盒测试之业务路径覆盖法

上一篇 / 下一篇  2016-04-07 10:43:29

一、场景法
  场景法就是模拟用户操作软件的时的场景,主要用于测试系统的业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的边界值,等价类是否满足要求,而是先要关注他的主要功能和业务流程是否正确,这就需要场景法完成功能测试。当业务流程没有问题时,也就是该软件的主要功能没有问题时,我们再重点从边界值和等价类划分等方面来测试控件。
  在冒烟测试中也主要采用场景法进行测试。
   
  1.1场景法中重要概念
   (1)基本流:按照正确的业务流程来实现的一条操作路径
   (2)备选流:导致程序出现错误的操作流程
1.2场景法的基本设计步骤
  (1)根据说明,描述出程序的基本流和各项备选流
  (2)根据基本流和备选流生成不同的场景
  (3)对每一个场景生成相应的测试用例

 案例:使用场景法设计ATM机取款功能的测试用例
步骤一:根据说明描述出程序的基本流和备选流
  • 基本流:
  1.  插入银行卡
  2. 验证银行卡:atm机通过读取银行卡的磁条信息获取账户,并检查他是否属于可以接受的银行
  3. 输入密码:Atm机要求客户输入密码
  4. 验证密码:确定密码是否正确
  5. 进入atm主界面:atm显示本机中可用的各种选项
  6. 取款并选择金额:
  7. atm机验证
  8. 吐钞,更新账户余额
  9. 返回主界面
  • 备选流
  1. 银行卡无效
  2. 密码输入错误
  3. 密码错误三次,吞卡
  4. 账户余额不足
  5. 取款总额达到上限
  6. atm 机余额不足
操作流程图:
步骤二:根据基本流和各项备选流生成不同场景
 场景描述 基本流 备选流
场景一:成功取款 基本流 
 场景二:银行卡无效 基本流 备1
 场景三:密码错误 基本流 备2
 场景四:密码三次错误 基本 备3
 场景五:账户余额不足 基本 备4
 场景六:取款达到限额 基本 备5
 场景七:ATM机余额不足 基本 备6
 编号 场景 账号密码 账户余额  当日余额ATM余额  预期结果
 1 场景一:成功取款 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、软件运行到某个时刻所处的情况
例如:
  1. 刚刚启动处于空闲状态
  2. 输入人民币以后变为人民币已输入状态
  3. 所有输入完成后,点击“计算”按钮,程序处于‘显示等价金额’状态
  4. 点击‘清除“按钮处于清除状态
2、输入的动作
用户向软件进行的操作
例如:
  1. 输入人民币金额
  2. 点击某个国家单选按钮
  3. 点击”计算“按钮
2.2状态转换图法
找出软件的所有状态以及导致这些状态发生变化的所有输入动作,进而用图形的方法把相关联的输入动作和状态联系在一起,真实模拟用户操作顺序及流程。
2.2.1状态转换图的核心
(1)软件的所有状态
(2)导致状态发生变化的所有操作
2.2.2使用状态转换图的步骤
(1)找出程序所有的输入动作,并进行编号
(2)找出程序的所有状态,可以认为用户每输入一个动作就会使程序的状态发生变化,如果不能决定是否为一个独立状态,可以先假设“是”
(3)找出什么动作会导致什么状态,画出状态转换图
(4)把相关联的动作和状态联系起来,设计测试用例

例子:使用状态转换图法分析货币转换器程序
步骤一:找出程序的所有输入动作,并进行编号

步骤二:找出程序的所有状态
可以认为用户每输入一个动作就会使程序的状态发生变化
  1. 程序启动后,处于”空闲“状态
  2. 人民币金额已输入状态
  3. 国家已选择状态
  4. 国家已选择、汇率已输入状态
  5. 人民币已输入、国家已选择状态
  6. 所有输入已完成状态
  7. 显示等价金额状态
  8. 错误提示状态
(1)人民币为输入或输入错误
(2)国家未选择错误
(3)汇率为输入或输入错误
9、清除状态
10、退出状态
步骤三、找出什么动作会导致什么状态发生,画出状态转换图
第1轮:把所有可能的输入单独加载到被测系统的空闲状态,得到新状态

第2轮:先找到主要的动作和状态

3轮、1.先找到主要动作和状态
3轮、2.先找到次要动作和状态
4轮、1.先找主要动作和状态

4轮、2.先找次要动作和状态

5

步骤四:根据状态转换图,把相关联的动作和状态联系起来,设计测试用例

(1)先写主要操作(功能比较重要或用户操作比较频繁的动作),后写次要操作。

(2)为了减少测试用例数量,一条测试用例最好沿着状态转换图的一条路径编写完。

 用例编号 用例描述 预期结果 实际结果
 11、 输入人民币金额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:

 

评分:0

我来说两句

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 6932
  • 日志数: 13
  • 建立时间: 2015-11-27
  • 更新时间: 2016-04-07

RSS订阅

Open Toolbar