状态迁移法
- 什么是状态迁移法
- 许多需求用状态机的方式来描述,状态机的测试主要关注在测试状态转移的正确性上面。对
于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有
不可达的状态和非法的状态,可能不可能产生非法的状态转移等。对于被测系统,如果我们
可以抽象出它的若干个状态、以及这些状态之间的切换条件和切换路径,那么我们可以从状
态迁移路径覆盖的角度来设计用例对该系统进行测试。状态迁移法的目标时设计足够的用例
达到对系统状态的覆盖、状态-条件组合的覆盖以及状态迁移路径的覆盖。 - 使用方法
- 1,分析需求,明确对象的状态节点
- 2,绘制状态迁移图
- 3,绘制状态迁移树
- 4,提取测试路径
- 5,利用等价类与边界值为每条路径设计测试用例
例1,某航空订票系统中订单状态如下
- 选定机票后,此时为待付状态
- 付款后,为已支付状态
- 出行,到机场换取登机牌,此时为已出票状态
- 过安检登机,此时为已出行状态
- 在未出行前都可以取消
- 1,分析状态节点:待付款,已支付,已出票,已出行,取消
- 2,状态迁移图
- 3,状态迁移树
- 4,提取测试路径
- 待付款-取消
- 待付款-已付款-取消
- 待付款-已付款-已出票-取消
- 待付款-已付款-已出票-已出行
- 5,设计测试用例(没有等价类,边界值不用设计测试用例)