我正准备参加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
- ℃。报表覆盖率= 1,分支覆盖率= 3
- d。报表覆盖率= 2,分行覆盖率= 4
答案是 A
但我的回答是 C ,原因是我在下面给出的流程图。
答案 0 :(得分:2)
我相信您的图表/流程图不正确。
对我来说更有意义的是, IF 语句将始终运行。 A'错误'导致第一个 IF 语句将导致代码执行第二个If语句。
测试1 将涵盖积极情景。您的 IF 语句都将为TRUE,表示完整传递条件语句的所有正面结果
测试2 将为第一个 IF 语句提供False,然后再次为第二个 IF 语句提供False,其中包含所有否定这个分支的成果。
答案 1 :(得分:0)
找出所有节点将被覆盖的最短路径数 在此流程图中,我已经定义了节点和边缘,如下所示: