场景法(最重要)
一、应用场合
场景法:主要用于测试软件的业务过程或业务逻辑,场景法是一种基于软件业务的测试方法,
测试人员要模拟用户在使用软件时的各种场景:
主要模拟两种情景:
1、模拟用户正确的业务操作过程—验证的是功能是否正确
2、模拟用户错误的业务操作过程—验证的是程序的异常处理能力(健壮性)
使用场景法的思路
场景法主要测试软件的业务逻辑和业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的细节测试(等价类+边界值,判定表等),而是先要关注功能的主要业务流程和主要功能是否正确实现,这就需要使用场景法。当业务流程和主要功能没有问题,我们再从等价类、边界值、判定表等方面对控件细节进行测试(先整体后细节)
二、场景法主要基于哪两方面
1、业务层面(业务理解更为重要)
测试人员要熟悉所测软件的业务逻辑,成为该行业“业务上的专家”
2、技术层面
1)基本流:也叫有效流或正确流,模拟用户正确的业务操作流程就是基本流
2)备选流:也叫无效流或错误流,模拟用户错误的业务操作流程
三、使用场景法测试
说明:场景法测试的难点在于对业务的理解,业务越复杂测试难度越大。
案例1:Atm取款
步骤1:分析需求,整理出业务流程(逻辑),列出基本流和备选流
基本流(取款成功的业务过程):
验证卡—>输入正确密码—>选取“取款”功能,选择“取款金额”,确认—>吐钞,提示用户取钱,更改余额(账户余额、atm余额)
备选流(取款过程中可能会遇到的各种错误):
(a)验证卡不通过
(b)输入错误密码(3次以下)
(c)输入错误密码3次(吞卡)
(d)账户余额不足
(e)超过当次取款上限(5000元)
(f)超过当日取款上限(2万元)
(g)Atm机余额不足
说明:并没有将所有的备选流都列出,这更说明,业务的熟悉对于场景法测试的重要性。
步骤2:根据基本流和各项备选流生成不同的场景(填写场景表)
V:valid 有效的
I:invalid 无效的
步骤3:根据场景,设计测试用例
注意:场景和用例不一定是1:1的比例
1个场景有可能需要多条用例测试
1条用例也有可能测试多个场景
案例2:五子棋游戏
需求:
1、玩家先(玩家黑棋)
胜、负、和棋、禁手
2、电脑先(电脑黑棋)
胜、负、和棋、禁手(电脑作为黑棋,不能下出禁手,如果下出禁手就是bug)
按照分析结果,列出场景,尽量下出场景,截图留证迹