黑盒测试:测试用例设计之场景法(流程图法)(模拟用户实际使用软件的场景来设计测试用例,适用于业务流程复杂的系统测试)基本流、备选流
文章目录
- 一、场景法的基本概念
- 核心概念
- - **基本流**:按照正确的业务流程来实现的一条操作路径(无任何错误,程序从开始直接执行到结束)
- - **备选流**:在特定条件下,程序可能出现的其他工作路径,通常涉及错误处理或特例(导致程序出现错误的操作流程)
- 二、场景法的设计步骤
- 1. **根据需求规格说明,画出功能模块流程图**
- 2. **根据流程图,描述出程序的基本流及备选流**
- 3. **根据基本流和备选流生成不同的场景,构造场景列表**
- 4. **对每一个场景生成相应的测试用例**
- 5. **对生成的所有测试用例重新复审,去掉多余的测试用例**
- 6. **测试用例确定后,为每一个测试用例确定测试数据值**
- 三、场景法的案例分析:淘宝网购物流程
- 1. 基本流(正常流程)
- 2. 备选流(异常流程)
- 3. 生成的场景
- 4. 示例流程图
- 5. 测试用例表
- 四、场景法的优势
- 1. **更贴近用户实际使用**:模拟真实用户操作流程,能更准确地发现业务流程中的问题
- 2. **提高测试覆盖率**:通过覆盖基本流和各种备选流,确保系统在各种场景下都能正常工作
- 3. **易于理解和执行**:测试用例描述清晰,测试人员和开发人员都能轻松理解
- 4. **优先验证核心业务**:在冒烟测试时主要采用场景法,先验证主要业务流程是否正确
- 5. **为后续测试提供基础**:在确认主要业务流程无问题后,再用边界值、等价类等方法对细节进行测试
- 五、场景法的适用场景
- - 业务流程较为复杂的系统(如电商、金融交易系统)
- - 重点关注业务流程是否正确的测试场景
- - 需要验证用户操作路径完整性的测试
- - 在测试初期验证主成功场景和扩展场景
- 六、与其他黑盒测试方法的配合
- 总结
场景法是黑盒测试中一种非常有效的用例设计方法,它通过模拟用户实际使用软件的场景来设计测试用例,特别适用于业务流程复杂的系统测试。
一、场景法的基本概念
场景法是一种通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的方法。它关注的是用户行为的流程,而非单一功能点的边界值或等价类。
核心概念
- 基本流:按照正确的业务流程来实现的一条操作路径(无任何错误,程序从开始直接执行到结束)
- 备选流:在特定条件下,程序可能出现的其他工作路径,通常涉及错误处理或特例(导致程序出现错误的操作流程)
二、场景法的设计步骤
1. 根据需求规格说明,画出功能模块流程图
2. 根据流程图,描述出程序的基本流及备选流
3. 根据基本流和备选流生成不同的场景,构造场景列表
4. 对每一个场景生成相应的测试用例
5. 对生成的所有测试用例重新复审,去掉多余的测试用例
6. 测试用例确定后,为每一个测试用例确定测试数据值
三、场景法的案例分析:淘宝网购物流程
1. 基本流(正常流程)
进入淘宝首页 → 浏览商品 → 进入单品页 → 选择商品规格和数量 → 加入购物车 → 前往购物车 → 选择商品 → 结算,进入确认订单页 → 提交订单 → 付款成功 → 等待收货 → 确认收货
2. 备选流(异常流程)
- 备选流1:加入购物车时,不选择商品规格和型号,返回基本流第4步
- 备选流2:加入购物车时,商品库存不足,返回基本流第4步
- 备选流3:加入购物车时,未登录,登录后返回基本流第3步
- 备选流4:加入购物车后,继续选购,返回基本流第4步
- 备选流5:加入购物车,未选择商品,结算,返回基本流第7步
- 备选流6:支付失败,返回基本流第8步
- 备选流7:未选择商品加入购物车,退出购物,结束
3. 生成的场景
- 场景1:登录后成功购物(基本流)
- 场景2:未选择商品规格和型号就添加购物车(基本流+备选流1)
- 场景3:选择的商品库存不足(基本流+备选流2)
- 场景4:未登录添加购物车(基本流+备选流3)
- 场景5:商品添加购物车后继续购物(基本流+备选流4)
- 场景6:进入购物车,未选择商品直接结算(基本流+备选流5)
- 场景7:支付过程出错(基本流+备选流6)
- 场景8:没有添加商品到购物车(基本流+备选流7)
4. 示例流程图
5. 测试用例表
用例ID | 场景描述 | 测试步骤 | 预期结果 | 测试数据 |
---|---|---|---|---|
TC001 | 场景1:登录后成功购物 | 1. 登录淘宝 2. 浏览商品→进入单品页→选规格数量→加入购物车 3. 前往购物车→结算→提交订单→付款成功 | 订单状态显示“已支付”,系统提示“支付成功” | 商品ID: 1001,数量: 1 |
TC002 | 场景2:未选规格添加购物车 | 1. 登录淘宝 2. 进入单品页→直接点击“加入购物车”(不选规格) | 系统提示“请选择商品规格” | 商品ID: 1002 |
TC003 | 场景3:库存不足 | 1. 登录淘宝 2. 进入单品页→选规格数量→点击加入购物车 | 系统提示“库存不足,当前库存:0” | 商品ID: 1003,库存=0 |
TC004 | 场景4:未登录添加购物车 | 1. 未登录→进入单品页→点击“加入购物车” | 跳转至登录页,登录后返回单品页 | 未登录状态 |
TC005 | 场景5:添加购物车后继续购物 | 1. 登录淘宝→加入商品A到购物车 2. 点击“继续选购”→浏览并加入商品B | 购物车显示商品A和商品B,可正常结算 | 商品A: 1004,商品B: 1005 |
TC006 | 场景6:购物车未选商品结算 | 1. 登录淘宝→加入商品A到购物车 2. 点击“结算”(未勾选商品) | 系统提示“请至少选择一件商品” | 商品A已加入购物车 |
TC007 | 场景7:支付失败 | 1. 登录淘宝→完成订单提交→点击“立即支付” 2. 模拟支付超时/余额不足 | 系统提示“支付失败,请重新支付” | 金额: 100元,支付超时 |
TC008 | 场景8:未添加商品退出购物 | 1. 登录淘宝→点击“购物车”(无商品)→点击“退出购物” | 直接返回首页,无错误提示 | 购物车为空 |
四、场景法的优势
1. 更贴近用户实际使用:模拟真实用户操作流程,能更准确地发现业务流程中的问题
2. 提高测试覆盖率:通过覆盖基本流和各种备选流,确保系统在各种场景下都能正常工作
3. 易于理解和执行:测试用例描述清晰,测试人员和开发人员都能轻松理解
4. 优先验证核心业务:在冒烟测试时主要采用场景法,先验证主要业务流程是否正确
5. 为后续测试提供基础:在确认主要业务流程无问题后,再用边界值、等价类等方法对细节进行测试
五、场景法的适用场景
- 业务流程较为复杂的系统(如电商、金融交易系统)
- 重点关注业务流程是否正确的测试场景
- 需要验证用户操作路径完整性的测试
- 在测试初期验证主成功场景和扩展场景
六、与其他黑盒测试方法的配合
场景法通常作为黑盒测试的第一步,先验证核心业务流程是否正常,然后再使用其他方法进行更细致的测试:
- 先用场景法验证主要业务流程
- 再用等价类划分法验证输入数据的边界
- 最后用边界值分析法验证临界条件
场景法不是万能的,它更适用于业务流程的测试,对于单一功能点的边界条件测试,还需要配合等价类划分、边界值分析等方法。
总结
场景法是黑盒测试中一种高效、实用的测试用例设计方法,它通过模拟用户真实操作场景来覆盖系统的主要功能和异常情况。在实际测试工作中,应首先使用场景法验证核心业务流程,然后再通过其他方法对细节进行补充测试,从而确保软件系统的功能完整性和稳定性。