1. 定义
状态迁移图法主要关注在测试状态转移的正确性上面。对于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,可能不可能产生非法的状态转移等。通过构造能导致状态迁移的事件,来测试状态之间的转换。
2. 应用的范围
一个功能的状态比较多的情况下, 比如mp3,堆栈操作等.
3. 步骤
状态迁移图的步骤:
1)画出状态迁移图;
2)列出状态——事件表;
3)得到状态转换树;
4)推出测试路径;
5)根据测试路径编写测试用例。
4. 案例
手机中MP 3播放功能状态-事件表如下:
其中没有选择MP 3曲目时不能按任何键,并且当MP 3曲目在起点时不能按R 键,当MP 3曲目在末端时不能按P 、F 键。
这里给出了状态-事件表,为了能更清楚的说明问题,没有用复杂的文字描述出来,一般需要先从需求中提取信息,画出状态图,再得到状态-事件表。
1)画出状态迁移图
:
2)列出状态——事件表:
3)得到状态转换树
:
4)推出测试路径:
5)根据测试路径编写测试用例:每一条路径就是一条测试用例
5. 总结
1. 定义
状态迁移图法主要关注在测试状态转移的正确性上面。对于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,可能不可能产生非法的状态转移等。通过构造能导致状态迁移的事件,来测试状态之间的转换。
2. 应用的范围
一个功能的状态比较多的情况下, 比如mp3,堆栈操作等.
3. 步骤
状态迁移图的步骤:
1)画出状态迁移图;
2)列出状态——事件表;
3)得到状态转换树;
4)推出测试路径;
5)根据测试路径编写测试用例。
4. 案例
手机中MP 3播放功能状态-事件表如下:
其中没有选择MP 3曲目时不能按任何键,并且当MP 3曲目在起点时不能按R 键,当MP 3曲目在末端时不能按P 、F 键。
这里给出了状态-事件表,为了能更清楚的说明问题,没有用复杂的文字描述出来,一般需要先从需求中提取信息,画出状态图,再得到状态-事件表。
1)画出状态迁移图
:
2)列出状态——事件表:
3)得到状态转换树
:
4)推出测试路径:
5)根据测试路径编写测试用例:每一条路径就是一条测试用例
5. 总结