51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4021|回复: 0
打印 上一主题 下一主题

[转贴] 黑盒测试用例设计方法之状态迁移图法

[复制链接]
  • TA的每日心情
    擦汗
    昨天 08:46
  • 签到天数: 981 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-7-1 09:30:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一、状态迁移图法的定义
      许多需求用状态机的方式来描述,状态机的测试主要关注在测试状态转移的正确性上面,。对于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,可能不可能产生非法的状态迁移等。
      通过构造能导致状态迁移的事件来测试状态之间的转换,常用于协议测试。
      用这种方法可以设计逆向的测试用例,如状态和事件的非法组合。
      明确点:
      1、针对有限状态机的测试方法
      2、给一个触发条件
      3、常应用于WEb页面转换、自动化测试、通信协议测试等
      状态机:指定系统所有可能的状态以及状态相互跳转的条件。
      状态:指对象在其生命周期中的一种状态,处于某一个特定状态中的对象必然会满足的某些条件。
      触发条件:引起状态的变迁,促使状态从一种状态转换到另一种状态(动作、行为)。
      二、状态迁移图法设计用例步骤
      1、分析需求规格说明书,找出状态和触发条件(分析状态条件之间有哪些关系)。
      2、画出状态迁移图(设定一个初始状态、初始状态是相对而言的,状态用圆圈表示,条件用带有箭头的线段表示)。
      3、通过状态图画出状态--事件表(四列,上一状态,条件,下一状态,表现的行为动作信息)。
      4、从状态转换树推导出测试路径。
      5、根据测试路径编写合法测试用例。
      6、编写非法测试用例。
      三、状态迁移图法的实用
      例1:某打印机功能如下:
      打印机初始处于就绪的状态下,可以接收打印的任务,进入打印状态,开始打印;
      在打印的过程中,如果打印机出现故障,打印机将处于故障状态,等待修复故障;故障修复后,打印机恢复打印状态,继续打印原来的文档;
      在打印过程中,如果纸张用完,打印机将暂停打印,处于缺纸状态,当放入印纸后,打印机会自动检测,恢复打印状态,继续开始打印;
      打印任务完成,打印机恢复就绪状态。
      步骤:1、分析需求片段,找出所有状态以及状态之间的跳转条件。
      状态:就绪,打印,故障,缺纸。
      跳转条件:打印指令,出现故障,故障修复,缺纸,放入纸张,打印完毕。
      2、设定初始状态,画出状态迁移图

      3、生成状态时间表

      4、生成状态转换树

      5、从状态树推导出测试路径:
      就绪---打印---缺纸---打印
      就绪---打印---故障---打印
      就绪---打印---就绪
      6、根据测试路径编写测试用例
      7、添加非法的测试用例
      比如直接就绪状态----故障状态或者就绪----缺纸等
      例2:电梯是典型的利用状态迁移法测试
      状态:停在一楼、上升、下降、空闲、直接去一楼
      指令:楼层、指定层>空闲层,指定层=空闲层,指定层<当前层
      步骤:
      1、划分需求子片段,找出状态和指令
      2、设定初始状态,画出状态迁移图

      3、根据状态迁移图,生成状态时间表

      4、生成状态转换树

      5、从状态树推导出测试路径
      停在一层----停在一层
      停在一层----上升-----空闲----上升
      停在一层----上升-----空闲----空闲
      停在一层----上升-----空闲----下降-----空闲
      停在一层----上升-----空闲-----停在一层
      6、根据测试路径编写测试用例
      7、添加非法的测试路径


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-7-9 07:50 , Processed in 0.065228 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表