我很有兴趣了解Statement Coverage and Branch(Decision coverage)。我从互联网上学习过,但我不确定我是否能以最好的方式理解。
我解决了下面的练习,如果我以正确的方式解决,请你告诉我吗?
Consider the following pseudo code:
1. Begin
2. Read Gender
3. __Print “Dear”
4. If Gender = ‘female’
5. Print (“Ms”)
6. Else
7. _Print (“Mr”)
8. Endif
9. End
需要多少个测试用例才能达到100% 决定报道?
A) 1
B) 2
C) 3
D) 4
我认为对于上面的例子,答案是2 ,但我不确定。
我这样做: 分支覆盖范围:它涵盖了真假条件。
TC1: Read Gender==Female, so is True, it’s cover lines: 1,2,3,3,5 and 9
TC2: Read Gender !=Female, so is False, it’s cover lines: 1,2,3,4,6,7,8 and 9
因此,要覆盖分支覆盖范围,需要2个测试用例。
Consider the following pseudo code:
1.Begin
2.Input X, Y
3.If X > Y
4. __Print (X, 'is greater than', Y)
5. Else
6. __Print (Y, is greater than or equal to', X)
7. Endlf
8. End
保证所需的最小测试用例数是多少 100%的声明覆盖率和100%的决策覆盖率?
正确答案的数量:1
A) Statement coverage = 3, Decision coverage = 3
B) Statement coverage = 2, Decision coverage = 2
C) Statement coverage = 1, Decision coverage = 2
D) Statement coverage = 2, Decision coverage = 1
我认为答案是:声明范围= 2,决策/分支覆盖范围= 2
TC1: X=5 and Y=4, it is true and will print the text from line 4
TC2: X=4 and Y=5, is false and will print the text from line 6
因此,Statement Coverage为2.这样就涵盖了所有行。
我认为需要2个TC来覆盖分支测试,并且可以使用与Statement覆盖相同的TC。 所以,Branch也是2。
我正确行事?
谢谢
答案 0 :(得分:0)
1)下面是一个图表,可以更轻松地查看运行路径: Gender question
因为您需要同时选择条件/问题 - 正确的答案是2。
2)对于第二个问题,该图表是: Graph for x,y problem
与上一个问题一样,DC为2,语句覆盖率= 2(你需要通过右分支和左分支来覆盖所有语句)
你确实在核心地回答了他们。