测试知识——状态迁移法

1,093 阅读3分钟

1.0 状态迁移法定义

找出当前被测对象的每一个状态,分析每一个状态之间如何进行转化,根据转化的过程进行设计测试用例。

状态迁移法不保证单个功能的正确性,只考虑状态之间的转化是否和需求保持一致。

适合较为复杂的业务场景

2.0 案例1——网上购票系统

2.1 网上购票系统分析

1.查询对应的目的地的票务信息,【查询车票】,信息【未预定】

2.选择需要预定的车票,【提交订单】,车票信息【已预订】

3.订单支付成功,信息变为【已支付】

4.用户到达火车站后,取出车票,信息变为【已取票】

5.用户进站,信息变为【已进站】

6.用户经过检票口,上车,信息变为【已使用】

7.检票完成之前,都可以取消车票,信息变为【已取消】

2.2 状态迁移法具体操作

1.明确了所有的状态节点

未预定、已预订、已支付、已取票、已进站、已使用、已取消

2.绘制状态迁移图

df81d0b6ac26dbdd8b656d126f9b2d1.jpg 3.绘制状态迁移树

1631243393(1).jpg

2.3 根据测试路径设计测试用例

路径:

未预定→已预订→已支付→已取票→已进站→已使用

未预定→已预订→已取消

未预定→已预订→已支付→已取消

未预定→已预订→已支付→已取票→已取消

未预定→已预订→已支付→已取票→已进站→已取消

3.0 案例2——购物下订单

3.1 购物下单分析

1.用户在提交完订单后,订单生成,订单状态变为【等待付款】

2.用户付款完成后,订单状态变为【等待发货】

3.商家确认订单后,发货,用户订单状态变为【等待收货】

4.用户收到商品,需要进行确认收货,订单状态变为【等待评价】

5.用户使用商品,评价完成,订单状态变为【完成】

6.在商家发货之前,用户可以取消订单,订单状态变为【已取消】

7.在商家发货之后,用户可以退货

8.在用户付款之前,商家取消订单,订单状态【已作废】

找出所有的状态节点

等待付款、等待发货、等待收货、等待评价、完成、已取消、已作废

3.2 状态迁移法具体操作

状态迁移树 44b11470fa25f156dca10a962fd5c77.png

3.3 根据状态转化路径,设计测试用例

等待付款→等待发货→等待收货→等待评价→完成

等待付款→已作废

等待付款→已取消

等待付款→等待发货→已取消

等待付款→等待发货→等待收货→已退货

等待付款→等待发货→等待收货→等待评价→已退货

等待付款→等待发货→等待收货→等待评价→完成→已退货

4.0 业务流程

4.1 流程图

a7043e63f287b7987cfca54331906c7.jpg

4.2 绘制流程图

案例——ATM机取款

4.3 业务流程测试

关注点:关心的是核心业务是否能够正常走通 重点不是关注每个功能具体的细节点

4.3.1 价值

测试:在进行工作安排的时候,针对功能模块进行划分,业务流程可能会有缺失,冒烟测试

客户:最有价值的就是业务的实现,并不关注单个功能

4.4 使用场景

冒烟:在单功能模块基本可用的情况下

上线之前,测试业务流程

4.5 业务流程测试步骤

1.需求分析,流程清晰

2.画出流程图

3.根据流程图,编写测试用例,每一条路径就是一条测试用例

注意点:

路径较多的时候,需要根据业务路径设置优先级

4.6 尚惠有品下订单

浏览商品——>加入购物车——>去结算——>编写订单信息——>提交订单——>选择付款方式——>等待收货

b5666b08f7cf636e982f7c3af4ef455.png