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