阅读以下程序,采用逻辑覆盖进行测试,下列测试用例(a,b,c)的输入值,可以达到条件覆盖的是______。
Int func(int a, b, c)
{
Int k=1:
If((a>O)|| (b<0)||(a+c>0))k=k+a;
Else k=k+b:
If(c>0)k=k+c:
Return k'
}
A) (1,1,1),(-1,1,1)
B) (1,1,1),(-1,-1,-1)
C) (1,1,-1),(1,1,1)
D) (1,1,-1),(-1,1,1)
A.
B.
C.
D.
第1题:
试题三(共 15分)
阅读以下关于嵌入式软件测试用例设计的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内。
【说明】
某程序段的流程如图 3-1所示,x、y是两个变量,K、J 表示一段程序执行体,表 3-1 所示为本题可供选择的四组测试用例组。
【问题1】(3分)
简答以下问题。
(1)条件覆盖的含义是什么?
(2)路径覆盖的含义是什么?
【问题 2】(2分)
在程序测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(分支覆盖)和路径覆盖等。其中,____是最强的覆盖准则。
请把以下 4个选项中正确的选项序号填入上述空白处。
①语句覆盖
②条件覆盖
③判定覆盖(分支覆盖)
④路径覆盖
【问题 3】(10 分)
为了对图 3-1 所示的程序段进行覆盖测试,必须适当地选取测试用例组。实现判定覆盖至少应采用的测试用例组是 (1)和 (2) ,实现条件覆盖至少应采用的测试用例组是 (3) ;实现路径覆盖至少应采用的测试用例组是 (4) 和 (5)。
请把以下 8个选项中正确的选项序号填入上述空白处。
① 试用例组Ⅰ和Ⅱ
②测试用例组Ⅱ和Ⅲ
③测试用例组Ⅲ和Ⅳ
④测试用例组Ⅰ和Ⅳ
⑤测试用例组Ⅰ、Ⅱ和Ⅲ
⑥测试用例组Ⅱ、Ⅲ和Ⅳ
⑦测试用例组Ⅰ、Ⅲ和Ⅳ
⑧测试用例组Ⅰ、Ⅱ和Ⅳ
试题三(共15分)
【问题1】(3分)
(1)条件覆盖是指设计足够的测试用例,使得被测程序每一个判定中的每个条件的所有可能结果至少出现一次。
(2)路径覆盖是指设计足够的测试用例,使得被测程序中每条路径至少执行一次。
【问题2】(2分)
(1)④(路径覆盖)
【问题3】 (10分)
(1)⑤
(2)⑧
(3)⑦
(4)⑤
(5)⑧
其中,第(1)、(2)题的答案顺序可互换,第(4)、(5)题的答案顺序可互换。
第2题:
阅读下列程序:
采用逻辑覆盖进行测试,下列测试用例(a,b,c)的输入值,可以达到条件覆盖的是______。
A.(a,b,c)=(1,1,1)、(-1,1,1)
B.(a,b,c)=(1,1,1)、(-1,-1,-1)
C.(a,b,c)=(1,1,-1)、(1,1,1)
D.(a,b,c)=(1,1,-1)、(-1,1,1)
第3题:
条件覆盖的准则是,设计测试用例,使得程序中的每个简单布尔条件的所有可能的值都至少满足一次。判定覆盖准则测试的含义是,设计测试用例,使得程序中的每个判断的分支都至少经历一次。从定义可以看出,条件覆盖比判定覆盖能发现更多的错误。
第4题:
在第15题的程序测试中,若测试采用测试用例:(a,b,c)=(1,1,-1)、(1,1,1),(-1,1,1)、(0,1,1),那么,可以实现的逻辑覆盖是______。
A.条件覆盖
B.判定覆盖
C.路径覆盖
D.条件组合覆盖
第5题: