READ A
READ B
READ C
IF C>A THEN
IF C>B THEN
PRINT "C must be smaller bla bla.."
ELSE
PRINT "Proceed to next stage"
ENDIF
ELSE
PRINT "B CAN BE SMALLER THEN C"
ENDIF有人能向我解释一下计算这个任务的语句数和分支覆盖(两者都是最小的)的逻辑吗?我以为我能理解这些任务,但这件事却让我陷入困境。
发布于 2018-08-04 12:39:50
通过缩进,这变得更加可读性:
READ A
READ B
READ C
IF C>A THEN
IF C>B THEN
PRINT "C must be smaller bla bla.."
ELSE
PRINT "Proceed to next stage"
ENDIF
ELSE
PRINT "B CAN BE SMALLER THEN C"
ENDIF语句覆盖要求执行每条语句,而分支覆盖要求执行每个分支(或决策)。
通常,100%的分支覆盖率意味着100%的语句覆盖率,但不一定相反。但是,在本例中,IFs都有ELSE分支,因此必须执行所有分支才能到达每个语句。
例如,语句覆盖率与分支覆盖率不一样:
READ X
READ Y
IF X > Y
X = X + 1
ENDIF
PRINT X在这里,语句覆盖率不必涵盖X较小或等于Y-such而行X = X + 1未执行的情况--这是分支覆盖所必需的。
如果您正在努力解决这些问题,请考虑按如下所示绘制流程图,例如:如何为ISTQB考试目的计算语句、分支/决策和路径覆盖
https://sqa.stackexchange.com/questions/35069
复制相似问题