0

这个问题与编程无关,但与测试用例设计技术之一有关。状态转换图技术通过 N-1 个开关转换识别测试条件来提供测试覆盖率。我对如何计算 0-switch 和 1-switch 覆盖范围感到困惑。

添加示例的屏幕截图。谁能解释一下如何解决这个问题?先感谢您。

截图中的问题 这个问题的图表

4

3 回答 3

0

从一个状态开始的 0-switch 的数量等于从那个状态开始的长度为 1 的转换的数量。在这种情况下,您有:

  • ACT-ACT;
  • ACT-ACC;
  • ACT-DIS;
  • ACT-CLO。

因此,从 Activated 开始,有 4 个长度为 1 的转换。

一个状态的 1-switch 覆盖等于从该状态开始的所有长度为 2 的转换。您可以根据您在 0-switch 案例中找到的内容进行构建,了解您可以从 Activated in 1 转换中达到哪些状态。只需计算来自这 4 个状态的所有 0 开关转换:

  • ACT:(如前所述)ACT-ACT;ACT-ACC;ACT-DIS;ACT-CLO -> 4;
  • ACC:ACC-ACT;ACC-CLO -> 2;
  • DIS:DIS-ACT;DIS-CLO -> 2;
  • 克洛:克洛迪斯;CLO-ACT;克洛雷姆; CLO-ACC -> 4。

总共有 12 个 1-ST。

但这没有考虑练习描述第二部分中的约束。

“如果处于已接受状态的索赔已关闭,则只能将其恢复到已接受的相同状态。” -> 练习没关系,因为我们从激活状态开始。

“如果处于已激活状态的索赔已关闭,则只能将其恢复为已激活状态。” -> 这个约束排除了 ACT-CLO-ACC。

所以,最后,你有 11 个有效的 1-ST。

于 2017-03-13T10:27:42.960 回答
0

有 4 个 0-Switch 转换(从激活状态跳出 1 次即可达到的状态):

  • 活性
  • 公认
  • 争议
  • 关闭

有 12 个 1-Switch 转换(您可以从激活状态跳到 2 个状态),但其中只有 10 个有效:

  • 激活 - 激活
  • 已激活 - 已接受
  • 已激活 - 有争议
  • 已激活 - 已关闭
  • 接受 - 激活
  • 接受 - 关闭
  • 有争议 - 已激活
  • 有争议 - 已关闭
  • 关闭 - 激活
  • 关闭 - 移除

最后的限制表示只有 Closed - Activated 可以做,所以 Closed - Disputed 和 Closed - Accepted 不计算在内。

于 2018-11-26T21:59:15.280 回答
0

马可回答的附录<<

1-switch 的总解是 9。

您排除 ACT-CLO-ACC (正如 Marco 所说,由于第二个限制)

但你也排除了 ACT-CLO-REM (这个没有人排除) ACT-CLO-DIS (正如 Afner 指出的)

于 2020-03-05T16:35:36.623 回答