19 用例设计方法-状态迁移

 

状态迁移

定义

被测对象在特定输入条件下所保持的相应形式,关注被测对象的状态变化,在需求规格说明书中是否有不可到达、非法的状态,是否产生非法的状态迁移

 特点:与流程分析法相比,状态迁移针对的是同一个对象(订单、信息),同一个对象在不同阶段的不同状态;而流程分析法是针对不同对象,业务节点在不同对象间的切换;

设计流程

  1. 根据需求梳理状态节点
  2. 绘制状态迁移图(方便画出各个状态的转换关系,但是不利于划分流转路径,所以需要状态迁移树)
  3. 绘制状态迁移树
    • 找到起始节点;如果没有明确起始节点,先假定一个起始节点
    • 依据深度优先、广度优先的原则,先画出主干流程,然后再出去分支流程;
    • 如果之前已经出现相同的节点,则停止继续,否则会一直循环下去
  4. 抽取测试用例

 

实例 1

  1. 分析需求,获取节点、状态信息
  2. 画状态迁移图(各个节点是如何流转的) 
    1.  

       

  3. 画状态迁移树(根据迁移图画出迁移树)
    1.  

       

  4. 抽取规则:每个终点是一个用例;根据迁移图,共计 4 个用例,如下:
    1. 预定-已取消
    2. 预定-已支付-已取消
    3. 预定-已支付-已出票-已取消
    4. 预定-已支付-已出票-已使用

 

实例 2 

需求描述:某个文本编辑器中的字体颜色有黑色、红色、蓝色,现测试字体颜色可以互相转换

  • 分析需求:字体是对象,颜色是状态,所以状态迁移指的是颜色的改变
  • 迁移图
    •  

  • 迁移树
    • 写到终点的时候,无需继续,再写就是循环了。比如“黑色”,如果继续,相当于将当前的迁移树重复一遍

 

  • 用例
    • 黑-红-黑
    • 黑-红-蓝
    • 黑-蓝-黑
    • 黑-蓝-红

 

posted @ 2020-02-02 13:49  wsh1995  阅读(975)  评论(0编辑  收藏  举报