黑盒测试用例设计方法之状态迁移图法1

一、状态迁移图法的定义

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

上一状态

跳转条件

下一状态

表现

就绪状态

打印指令

打印状态

打印灯亮

打印状态

打印完毕

就绪状态

就绪灯亮

打印状态

缺纸

缺纸状态

缺纸灯亮

打印状态

出现故障

故障状态

故障灯亮

故障状态

故障恢复

打印状态

打印灯亮

缺纸状态

放入纸张

打印状态

打印灯亮

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

状态

条件

下一状态

表现

停在一楼

楼层=1层

停在一楼

停在一楼

停在一楼

楼层>1层

上升

上升

上升状态

到达指定楼层

空闲

空闲

空闲状态

指定楼层>当前楼层

上升

上升

空闲状态

指定楼层=当前楼层

空闲状态

空闲

空闲状态

指定楼层<</SPAN>当前楼层

下降

下降

空闲状态

空闲五分钟

停在一楼

停在一楼

下降状态

到达指定层

空闲状态

空闲

 
          4、生成状态转换树
 
6、黑盒测试用例设计方法之状态迁移图法
      5、从状态树推导出测试路径
                停在一层----停在一层
                停在一层----上升-----空闲----上升
                停在一层----上升-----空闲----空闲
                停在一层----上升-----空闲----下降-----空闲
                停在一层----上升-----空闲-----停在一层
     6、根据测试路径编写测试用例
     7、添加非法的测试路径
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值