1 背景
前文讨论了“判定逻辑的测试用例生成实例”,本文讨论分支逻辑的测试用例生成。
这里所谓的分支逻辑,是指包含“if-elif-else”、“switch-case”之类结构的逻辑块。一个分支逻辑包含一个或多个判定。常见的需求描述模式“trigger-action”(当xx,则xx),也可以看作一种分支逻辑。因此,分支逻辑的用例生成,相比判定具有更广的适用性。
前文讨论的针对判定的用例生成中存在的问题,如时序条件、耦合条件等,在分支逻辑中都存在。同时,由于分支逻辑存在执行路径问题,需要考虑路径可达性、路径约束条件、路径前序动作副作用(side effect)等因素,使得针对分支逻辑的用例生成更加复杂。
2 实例
2.1 需求描述
以如下汽车前照灯开关逻辑为例:
Req1:当开关为开启时,前照灯状态应为点亮;
Req2:当开关为关闭时,前照灯状态应为熄灭;
Req3:当开关为Auto时: