这个问题与编程无关,但与测试用例设计技术之一有关。状态转换图技术通过 N-1 个开关转换识别测试条件来提供测试覆盖率。我对如何计算 0-switch 和 1-switch 覆盖范围感到困惑。
添加示例的屏幕截图。谁能解释一下如何解决这个问题?先感谢您。
这个问题与编程无关,但与测试用例设计技术之一有关。状态转换图技术通过 N-1 个开关转换识别测试条件来提供测试覆盖率。我对如何计算 0-switch 和 1-switch 覆盖范围感到困惑。
添加示例的屏幕截图。谁能解释一下如何解决这个问题?先感谢您。
从一个状态开始的 0-switch 的数量等于从那个状态开始的长度为 1 的转换的数量。在这种情况下,您有:
因此,从 Activated 开始,有 4 个长度为 1 的转换。
一个状态的 1-switch 覆盖等于从该状态开始的所有长度为 2 的转换。您可以根据您在 0-switch 案例中找到的内容进行构建,了解您可以从 Activated in 1 转换中达到哪些状态。只需计算来自这 4 个状态的所有 0 开关转换:
总共有 12 个 1-ST。
但这没有考虑练习描述第二部分中的约束。
“如果处于已接受状态的索赔已关闭,则只能将其恢复到已接受的相同状态。” -> 练习没关系,因为我们从激活状态开始。
“如果处于已激活状态的索赔已关闭,则只能将其恢复为已激活状态。” -> 这个约束排除了 ACT-CLO-ACC。
所以,最后,你有 11 个有效的 1-ST。
有 4 个 0-Switch 转换(从激活状态跳出 1 次即可达到的状态):
有 12 个 1-Switch 转换(您可以从激活状态跳到 2 个状态),但其中只有 10 个有效:
最后的限制表示只有 Closed - Activated 可以做,所以 Closed - Disputed 和 Closed - Accepted 不计算在内。
马可回答的附录<<
1-switch 的总解是 9。
您排除 ACT-CLO-ACC (正如 Marco 所说,由于第二个限制)
但你也排除了 ACT-CLO-REM (这个没有人排除) ACT-CLO-DIS (正如 Afner 指出的)