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