这个问题与编程无关,而是与测试用例设计技术之一相关。状态转换图技术通过 N-1 开关转换识别测试条件来提供测试覆盖率。 我对如何计算 0 开关和 1 开关覆盖率感到困惑。
添加示例的屏幕截图。谁能解释一下如何解决这个问题? 提前谢谢您。
从某个状态开始的 0 转换次数等于从该状态开始的长度为 1 的转换次数。在这种情况下,您有:
因此,从激活状态开始,有 4 个长度为 1 的转换。
1-状态的切换覆盖范围等于从该状态开始的所有长度为 2 的转换。您可以根据在 0 开关情况中发现的情况进行构建,了解从 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 不算在内。
Marco 答案的附录<<
1 个开关的总解为 9。
你排除了 ACT-CLO-ACC(正如 Marco 所说,由于第二个限制)
但是你也排除了 ACT-CLO-REM(这一点没人排除) ACT-CLO-DIS(如 Afner 所说)