案例一
订购单的检查。如果金额超过500元,又未过期,则发出批准单和提货单;如果金额超过500元,但过期了,则不发批准单;如果金额不超过500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。
案例二
我们申请一个项目,需先提交审批单据,再由部门经理审批,审核通过后由总经理来最终审批,如果部门经理审核不通过,就直接退回.
每个事件触发时的情景便形成了场景。而同一事件不同的触发顺序和处理结果形成事件流。
场景法
通过运用场景来对系统的功能点或业务流程进行描述,从而提高测试效果的一种方法。场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。
基本流
从系统某个初始态开始,经一系列状态后到达终止状态的过程中最主要的一个业务流程。
备选流
以基本流为基础,在经过的每个判定节点处满足不同的触发条件而导致的其他事件流。
对ATM机的取款用例,使用场景法设计用例
(1)描述提款用例的基本流和备选流
【例】 有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下。
① 若投入5角钱或1元钱的硬币,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。(每次只投入一个硬币,只按下一种饮料的按钮。)
② 如投入5角的硬币,按下按钮后,总有饮料送出。
③ 若售货机没有零钱找,则【零钱找完】的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。
④ 若有零钱找,则【零钱找完】的红灯不会亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币
(1)分析基本流和备选流
基本流:投入5角钱,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。
备选流:
① 备选流1:【零钱找完】的红灯没亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。
② 备选流2:【零钱找完】的红灯亮,这时投入1元硬币并按下按钮后,饮料不送出来且1元硬币也退出来。
(2)分析场景
场景1:基本流
场景2:备选流1
场景3:备选流2
QQ安装功能测试
Step1、如果需求是文字描述,将文字转化为图形
Step2、需求中包含1个独立功能 —— QQ安装功能
Step3、针对打印功能开展需求分析
界面可见输入参数:同意、安装组件、安装位置、
创建菜单文件夹、显示说明书
界面不可见输入参数:系统平台兼容、安装组件、安装空间
Step4、分析界面可见输入参数之间的关系及特点
选择组件、显示说明书不存在有效无效规则校验 —X— 等价类、边界值
同意、安装位置、创建菜单文件夹存在有效无效,但是当前界面并不提示错误,所以不能用等价类、边界值
参数之间不存在一个是什么另外一个必须什么的逻辑关系 —X— 判定表
参数存在无效,不全是有效的 —X— 正交试验
一个功能的实现需要多个界面协同完成(跨界面)存在逻辑关系(对错不能同时存在,同意/不同意、上一步/下一步)并且不同参数组合会输出不同结果 —— 流程分析法
Step5、利用流程分析法设计测试用例
画图法:
① 将安装向导界面的判定条件并列存放在一行
② 将许可协议加密的判定条件并列存放在下一行
③ 重复步骤②,直到所有界面都画完
④ 先画条件为真的分支
⑤ 再画条件为假的分支
⑥ 一条分支为一条测试用例
流程分析法的优缺点
优点:流程分析法既能覆盖条件为真的分支,也能覆盖条件为假的分支
缺点:流程分析法不能验证每个界面的参数是否正确,验证的是流程, 所以需要与开发进行沟通需求,需要在每个界面进行校验,如果错误,直接在当前界面提示信息,所以需要多种方法组合使用。