许多需求用状态机的方式来描述,状态机的测试主要关注状态转移是否正确。对于一个有限状 态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法 的状态,是否可能产生非法的状态转移等。通过构造能导致状态迁移的事件来测试状态之间的转换, 多用于协议测试,使用这种方法可以设计逆向的测试用例,如状态和事件的非法组合。 状态迁移图测试用例设计方法的步骤如下:
(1)画出状态迁移图。(2)列出状态-事件表。 (3)画出状态转换树,并从状态转换树推导出测试路径。 (4)根据测试路径编写测试用例。 【实例】使用状态迁移分析法分析从提交到解决整个过程中,Bug 状态变化的情况。 步骤 1:画出状态迁移图,步骤 2:列出状态-事件表,步骤 3:根据状态迁移图画状态转换树,根据状态转换树可以推导出以下路径: 路径 1:初始化→打开→修改→回归→打开。 路径 2:初始化→打开→修改→回归→关闭。 路径 3:初始化→打开→CCB 评审→非问题。 路径 4:初始化→打开→CCB 评审→修改→打开。 路径 5:初始化→打开→CCB 评审→挂起→打开。 路径 6:初始化→重复问题关闭。 路径 7:初始化→非问题关闭。 步骤 4:根据测试路径编写测试用例,以路径 6 为例,设计的测试用例。