测试概念之基于状态转移测试
2022-09-07 本文已影响0人
羋学僧
状态转移测试
状态转移测试是把被测软件的若干状以及状态之间的转换条件和转换路径抽象出来,从覆盖所有状态转移路径的角度去设计测试用例,关注状态的转移是否正确。
有限状态机是一种用来进行对象行为建模的工具,主要用于描述对象在其生生存周期内所经历的状态序列,以及如何响应来自外界的各种事件进行状态转移。对于一个有限状态机,通过测试验其在给定的条件内是否能够产生需要的状态转移,有没有不可达的状态和非法的状态,是否可能产生非法的状态转移等。通过构造能导致状态转移的事件来测试状态之间的转换。使用这种方法还可以设计逆向的测试用例,如状态和事件的非法组合。在测试用例自动生成的相关研究中,基于有限状态机的状态转移测试技术也是被广泛使用的。
状态迁移图测试用例设计方法
- 许多需求用状态机的方式来描述,状态机的测试主要关注状态转移是否正确。
- 对于一个有限状态机,通过测试验证其在给定的条件见内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,是否可能产生非法的状态转移等。
- 通过构造能导致状态转移的事件来测试状态之间的转换,多用于协议测试,使用这种方法还可以设计逆向的测试用例,如状态和事件的非法组合。
状态转移测试的步骤
- 1、画出状态迁移图;
- 2、列出状态-事件表;
- 3、画出状态转换树,并从状态转换树推导出测试路径;
- 4、根据测试路径编写测试用例。
缺陷的状态转移图
状态事件表
缺陷的状态转换树
推导出如下的测试路径
路径1:初始化→打开→修改→回归→打开。
路径2:初始化→打开→修改→回归→关闭。
路径3:初始化→打开→CCB 评审→非问题。
路径4:初始化→打开→CCB 评审→修改→打开。
路径5:初始化→打开→CCB 评审→挂起→打开。
路径6:初始化→重复问题关闭。
路径7:初始化→非问题关闭。
根据测试路径编写测试用例,以路径6 为例,设计的测试用例见表
缺陷的状态转移图
状态事件表
缺陷的状态转换树
推导出如下的测试路径