状态迁移法
在测试中,有时会遇到这样的情况;多个条件或状态之间不同的组合有不同的结果。
采用之前讲过的各种方法都不能有效地设计测试用例,可以采用状态迁移法。
(1)状态迁移法相关概念
状态迁移法是抽象出待测系统的若干状态及状态之间的转换条件和转换路径,然后从状态迁移路径覆盖的角度设计测试用例。
状态迁移法的目标是设计足够多的测试用例覆盖系统的状态、状态及条件的组合、状态迁移的路径。
状态迁移法主要关注在测试状态转移的正确性上面。
对于一个有限状态的转换通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法状态,可不可能产生非法的状态转移等。
通过构造能导致状态迁移的事件,来测试状态之间的转换。
状态迁移法主要用在一个界面多个操作((按钮)的情况,采用状态迁移法做测试至少可以保证每一个状态的所有可达状态都被测试到,但组合不全,且只考虑有效状态可达,不考虑无效状态。
(2)状态迁移法设计测试用例步骤
① 绘制状态迁移图。
状态迁移图用于表示输入数据序列以及相应的输出数据。
用状态和迁移来描述一个状态,指出数据输入的位置(或时间)而迁移则指明状态的后续改变。
在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。
绘制状态迁移图时分析软件规格说明书.找出状态及状态之间的转换条件和方向,用节点表示状态,用带箭头弧线表示迁移,弧线旁标注迁移条件。
②定义状态条件表。根据状态迁移图定义状态条件表,有时需求中直接就定义了状态条件表或状态矩阵,这时,就不用再倒回去画状态迁移图了。
③生成状态转换树。