一、 应用场合
场景法:主要用于测试软件的业务过程或业务逻辑,场景法是一种基于软件业务的测试方法,
测试人员要模拟用户在使用软件时的各种场景:
主要模拟两种情景:
-
模拟用户正确的业务操作过程—验证的是功能是否正确
-
模拟用户错误的业务操作过程—验证的是程序的异常处理能力(健壮性)
问题:使用场景法的思路
- 场景法主要测试软件的业务逻辑和业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的细节测试(等价类+边界值,判定表等),而是先要关注功能的主要业务流程和主要功能是否正确实现,这就需要使用场景法。当业务流程和主要功能没有问题,我们再从等价类、边界值、判定表等方面对控件细节进行测试(先整体后细节)
二、 场景法主要基于哪两方面:
1、 业务层面(业务理解更为重要)
测试人员要熟悉所测软件的业务逻辑,成为该行业“业务上的专家”
2、技术层面
1)基本流:也叫有效流或正确流,模拟用户正确的业务操作流程就是基本流
2)备选流:也叫无效流或错误流,模拟用户错误的业务操作流程
三、使用场景法测试:
说明:场景法测试的难点在于对业务的理解,业务越复杂测试难度越大。
3.1案例1:Atm取款
-
步骤1:分析需求,整理出业务流程(逻辑),列出基本流和备选流
-
1) 基本流(取款成功的业务过程):验证卡—>输入正确密码—>选取“取款”功能,选择“取款金额”,确认—>吐钞,提示用户取钱,更改余额(账户余额、atm余额)
-
2) 备选流(取款过程中可能会遇到的各种错误):
-
(a) 验证卡不通过
-
(b)输入错误密码(3次以下)
-
(C)输入错误密码3次(吞卡)
-
(d)账户余额不足
-
(e)超过当次取款上限(5000元)
-
(f)超过当日取款上限(2万元)
-
(G)Atm机余额不足
-
-
说明:并没有将所有的备选流都列出,这更说明,业务的熟悉对于场景法测试的重要性。
-
-
步骤2:根据基本流和各项备选流生成不同的场景(填写场景表)
- V:valid 有效的
- I:invalid 无效的
-
步骤3:根据场景,设计测试用例
- 注意:场景和用例不一定是1:1的比例
- 1个场景有可能需要多条用例测试
- 1条用例也有可能测试多个场景
3.2 案例2:五子棋游戏
-
步骤1:分析需求,整理业务,列出基本流、备选流
- 玩家先(玩家黑棋):
- 玩家胜
- 玩家负
- 和棋
- 遇到禁手(躲开,没躲开)
- 电脑先(电脑黑棋)
- 电脑胜
- 电脑负
- 和棋
- 电脑(黑棋)遇到禁手,只能避开,如果没避开下出禁手就是缺陷
-
步骤2:列出场景
-
步骤3:不用写测试用例,场景就是用例,执行测试,记录测试结果。
3.3 练习案例3:美萍酒店管理系统—系统设置—房间设置里的删除房间类型功能
需求分析:房间类型的删除与两个条件有关:1、房间的房态 2、服务生
-
1)房间的房态:
-
房间类型中:
- 有房间有人住 –不能删
- 所有房间都没有人住—可以删
-
2)服务生:
- 分配有服务生:不能删
- 没有服务生:能删
整理业务逻辑–生成场景:综合考虑房态和服务生两个因素,
-
能删:
- 1)没人住(可供、停用、清理)+没有分配服务生
-
不能删:
-
2)有人住(占用、长包房、预定)+没服务生
-
3)有人住+有服务生
-
4)没人住+有服务生
-
房态:
有人住:占用、长包房、预定
没人住:可供、停用、清理
三、上机作业测试:房间设置—删除房间功能模块
需求:删除房间只与房间的房态有关。使用中的房间不能删除,没有使用的房间可以删除。
任务:分析,整理业务,列出场景,编写测试用例