阅读下列说明,回答问题1至问题3。
[说明]
基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C++语言书写,请按要求回答问题。
void ReadPara(CString temp)
{
if(temp==">=")
m_oper.SetCurSel(0);
else
{
if(temp==">")
m_oper.SetCurSel(1);
else
{
if(temp=="==")
m_oper.SetCurSel(2);
else
{
if(temp=="<=")
m_oper.SetCurSel(3);
else
{
if(temp=="<")
m_oper.SetCurSel(4);
else
m_oper.SetCurSel(5);
}
}
}
}
return;
}
请画出以上代码的控制流图。
请计算上述控制流图的环路复杂度V(G)。
请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。
请帮忙给出每个问题的正确答案和分析,谢谢!
第1题:
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现
程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
【问题1] (6分)
请给出满足100%DC(判定覆盖)所需的逻辑条件。
【问题2] (10分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
【问题3](4分)
请给出问题2中控制流图的线性无关路径。
第2题:
第3题:
第4题:
试题三(共 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)题的答案顺序可互换。
第5题: