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