15.10 - 状态转移测试
目录
一、概述
二、状态转移测试的步骤
三、状态覆盖
1、状态覆盖的概念
2、单步转移
3、全转移
4、多步转移
四、举例说明
1、规格说明
2、状态转移图
3、状态转移状态-事件表
4、状态转移树
5、状态转移路径
一、概述
-
把软件若干种状态之间的转换条件和转换路径抽象出来,从覆盖所有状态转移路径的角度去设计测试用例,关注状态的转移是否正确。
二、状态转移测试的步骤
1、分析需求,整理所有状态
2、画出状态转移图
3、根据状态转移图,列出状态-事件表
4、根据状态转移图,画出状态转换树(测试路径)
5、根据状态转化树,按照单步转移覆盖的要求,推导测试路径
6、根据测试路径逐一编写测试用例
三、状态覆盖
1、状态覆盖的概念
-
使得状态模型中的所有状态都要被访问过
2、单步转移
-
用来覆盖状态模型中所有有效的单步
-
例如下面案例中从“预定”到“已取消”就是一个有效的单步
3、全转移
-
用来覆盖状态模型中所有有效的转移和无效的转移
-
无效转移:状态模型中未指定有效转移事件后的状态的转移
4、多步转移
-
应能覆盖状态模型中N+1步转移的有效序列
四、举例说明
1、规格说明
-
客户在线向公司预定产品,此时产品的信息处于“预定”状态
-
客户支付了产品费用后,产品信息变为“已支付”状态
-
当客户到公司提取产品后,产品信息变为“已出货”状态
-
当产品完成交付后,产品信息变为“已交付”状态
-
当客户在完成交付前,取消自己的订购,如果支付了产品费用,则可以退款,取消后,产品信息处于“已取消”状态
2、状态转移图

3、状态转移状态-事件表

4、状态转移树

5、状态转移路径
