【发布时间】:2017-04-23 12:19:35
【问题描述】:
我正在为 ISTQB 考试做准备,我遇到了这个问题。
对于下面给出的代码片段,哪个答案正确代表 语句覆盖率和分支覆盖率分别需要的最低测试?
Discount rate=1; Fare = 1000; If ((person == “senior citizen”) and (“travel month = January”)) Bonuspoints = 100+Bonuspoints If (class==”first”) discountRate = .5; Fare = fare * discountRate;
- 一个。语句覆盖率 = 1,分支覆盖率 = 2
- 乙。语句覆盖率 = 2,分支覆盖率 = 2
- c。语句覆盖率 = 1,分支覆盖率 = 3
- d.语句覆盖率 = 2,分支覆盖率 = 4
答案是A
但我的答案是C,原因是我为它绘制的流程图如下。
从头到尾直接前进
第一个“如果”为假
第二个'if'的第二个假
我的问题是:
- 如果问题本身没有给出,我们是否应该为“错误”条件“显式”绘制一条边。
- 这里的分支覆盖率是 2 吗?
【问题讨论】:
-
据我所知,代码中的条件范围与浮动图表上的不对应。你可以让它更明确,例如通过缩进吗?