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


    状态迁移

    定义

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

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

    设计流程

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

    实例 1

    1. 分析需求,获取节点、状态信息
    2. 画状态迁移图(各个节点是如何流转的) 
    3. 画状态迁移树(根据迁移图画出迁移树)
    4. 抽取规则:每个终点是一个用例;根据迁移图,共计 4 个用例,如下:
      1. 预定-已取消
      2. 预定-已支付-已取消
      3. 预定-已支付-已出票-已取消
      4. 预定-已支付-已出票-已使用

    实例 2 

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

    • 分析需求:字体是对象,颜色是状态,所以状态迁移指的是颜色的改变
    • 迁移图
    • 迁移树
      • 写到终点的时候,无需继续,再写就是循环了。比如“黑色”,如果继续,相当于将当前的迁移树重复一遍
    • 用例
      • 黑-红-黑
      • 黑-红-蓝
      • 黑-蓝-黑
      • 黑-蓝-红
  • 相关阅读:
    【转】测试人员职业规划
    phantomjs处理alert、confirm弹窗
    linux搭建phantomjs+webdriver+testng+ant自动化工程
    linux搭建apache服务并修改默认路径
    linux环境vnc部署过程详解
    mongodb集群+分片部署(二)
    mongodb部署单节点(一)
    java javaScript实现遮罩层 动态加载
    感受
    JavaScript之中Array用法的一些技巧总结
  • 原文地址:https://www.cnblogs.com/George19950505/p/12251956.html
Copyright © 2020-2023  润新知