20.0 状态迁移法
20.1 定义
找出当前被测对象的所有的状态,研究每个状态之间的转化,根据转化过程完成测试用例
状态迁移法,不保证单个功能的正确性,只考虑状态之间的转化是否需求保持一致
适合比较复杂的业务场景
20.2 案例1 网上购票系统
网上购票系统
1.查询对应的目地的票务信息,查询车票,信息【未预定】
2.选择需要预定的车票,【提交订单】,车票信息【已预定】
3.订单支付成功之后,信息变为【已支付】
4.用户到达火车站之后,取出车票,信息变为【已取票】
5.用户进站,信息变为【已进站】
6.用户经过检票口,上车,信息变为【已使用】
7.在检票完成之前,都可以取消车票,信息未变【已取消】
20.3 状态迁移法
1.明确了所有的状态节点
2.绘制状态迁移图
3.绘制状态迁移树
4.根据测试路径设计测试用例
路径:
未预定------->已预定---->已支付----->已取票------>已进站--------->已使用
未预定------->已预定----->已取消
未预定------->已预定----->已支付----->已取消
未预定------->已预定----->已支付----->已取票------->已取消
未预定------->已预定----->已支付----->已进站------>已取消
20.4 案例2 订单
1.用户在提交完订单之后,订单生成,并且订单状态变为【等待付款】
2.用户付款完成之后,订单状态变为【等待发货】
3.商家确认订单之后,发货,用户订单状态【等待收货】
4.用户收到商品,需要进行【确认收货】,订单状态【待评价】
5.用户使用商品,评价完成,订单状态变为【完成】
6.在商家发货之前,用户可以取消订单,订单状态变为【已取消】
7.在商家发货之后,用户可以退货
8.在用户付款之前,商家取消订单,订单状态【已作废】
20.4.1 找出所有的状态节点
等待付款 等待发货 等待收货 等待评价 完成 已取消 已作废
20.4.2 绘制状态迁移图
20.4.3 状态迁移树
20.4.4 根据状态转化路径设计测试用例
等待付款---等待发货---等待收货--等待评价--完成
等待付款------已作废
等待付款------已取消
等待付款---等待发货---已取消
等待付款--等待发货--等待收货---已退货
等待付款---等待发货---等待收货--等待评价--已退货
21.0 业务流程
21.1 流程图
21.1.1 符号
21.1.2 绘制流程图
案例 ATM取款
21.2 业务流程测试
21.2.1 关注点
关注点:关心的是核心业务是否能够正常走通
重点不是关注每个功能具体的细节点
21.2.2 价值
测试:在进行工作安排的时候,针对功能模块进行划分,业务流程可能会有缺失,冒烟测试
客户:最有价值的就是业务的实现,并不关注单个功能
21.3 使用场景
冒烟:在单功能模块基本可用的情况下
上线之前,测试业务流程
21.4 业务流程测试步骤
1.需求分析,流程清晰
2.画出流程图
3.根据流程图,编写测试用例,每一条路径就是一条测试用例
注意点:
路径较多的时候,需要根据业务路径设置优先级
21.5 尚惠有品下订单
浏览商品 ------》加入购物车---------》去结算--------编写订单信息------------》提交订单-----》选择付款方式-----》等待收货