1、为什么用场景法设计测试用例?
大多数业务软件由后台管理(比如:用户管理、角色管理、权限管理等等各种管理)和工作流等几个部分组成。终端用户,期望软件能够实现业务需求,而不是简单的功能的组合。对于单点功能利用等价类、边界值、判定表用例设计方法能够解决大部分问题。涉及业务流程的软件系统,采用场景法比较合适。
2、什么是场景法?
场景业务流通常分为基本流、备选流、异常流程
基本流:基本流表示通过业务流程时输入都正确,能达到目标的流程。(插卡--》输入正确密码--》输入金额--》取款--》取卡)
备选流:备选流表示通过业务流程时输入错误(或者操作错误)导致流程存在反复,但是经过纠正后仍能达到能达到目标的流程.(插卡-->输入错误密码--》输入正确密码--》输入金额--》取款--》取卡)
异常流:异常流表示通过业务流程时输入错误(或者操作错误)产生异常终止流程 (插卡-->输入3次错误密码--》吞卡) .
一个流程用户期望:入度唯一,出度唯一。每一个流程都包含一个从未走过的流程节点。
3、场景法设计测试用例的步骤?
步骤一:理解需求,确定业务流程(基本流程、备选流程、异常流程)
步骤二:绘制流程图,再次确认流程路径
步骤三:根据业务流程图,抽取测试路径(每一路径需含一个未走过得路径)
步骤四:细化路径,利用等价类边界值方法细化路径,抽取测试用例
4、场景法设计测试用例的优缺点?
优点:涉及倒业务流程的业务需求适合用场景法
缺点:只验证业务流程,不验证单点功能,一般先采用先用等价类,边界值,错误推断,判定表等方法对单点功能进行验证,验证通过后再采用场景法进行业务流程的验证。
5、场景法测试用例设计示例
实例一:
需求:
流程图:
测试用例:(根据流程图抽取路径时最好从最后一个判定条件抽取)
1-》2-》3-》4-》5-》6-》7:进入发送子程序,有空闲缓冲写入空闲缓冲,写入成功启动发送命令,发送消息成功。
1-》2-》8-》10:进入发送子程序,无空闲缓冲发送失败消息。
1-》2-》3-》4-》9-》10:进入发送子程序,有空闲缓冲区,写入空闲缓冲区,写入失败发送失败消息。