首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
论述题3:针对以下C语言程序,请按要求回答问题 下面是一个简单的C语言程序: (1)画出该函数的程序流程图。 (2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 (3)设计特殊
论述题3:针对以下C语言程序,请按要求回答问题 下面是一个简单的C语言程序: (1)画出该函数的程序流程图。 (2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 (3)设计特殊
admin
2009-11-14
41
问题
论述题3:针对以下C语言程序,请按要求回答问题
下面是一个简单的C语言程序:
(1)画出该函数的程序流程图。
(2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。
(3)设计特殊的测试用例,说明各种逻辑覆盖之间的关系。
选项
答案
问题1: 解答: 根据源程序易得流程图,如图17-7所示。 [*] 问题2: 解答: 经过分析不难知,上面这个程序包含: 1)五个语句:每行一个语句。 2)三个条件:a>0;b<0;c>0 3)四个分支:有两个if语句,每个if语句有两个分支。 4)六个条件组合:条件表达式(a>0)‖b<0)共有两个条件,a>0和b<0,故有四个条件组合;条件表达式(c>0)只有一个条件c>0,故有两个条件组合。所以该程序共有六个条件组合。 5)四条路径:从程序的入口到出口的路径共有四条,分别是: Path1: 1—2—3—5—6—8 Path2: 1—2—3—5—7—8 Path3: 1—2—4—5—6—8 Path4: 1—2—4—5—7—8 这个程序有三个输入:a、b、c,其输入数据组合是非常大的。下面对该程序分别应用不同的逻辑覆盖准则,设计测试用例。 1.语句覆盖 根据语句覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,1)、(-1,1,1),便可以把该程序的所有五个语句执行一遍。 2.分支覆盖(判定覆盖) 根据分支覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,-1)、(-1,1,1),便可以把该程序的所有四个分支走遍。但未考虑b<0的情况,故不满足条件覆盖。说明满足分支覆盖的测试用例未必满足条件覆盖。 3.条件覆盖 根据条件覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,-1)、(-1,-1,1),便可以把该程序的三个条件的真假情况都覆盖到。由于表达式(a>0)‖b<0)的计算值都为真,不会执行else语句,即不满足分支覆盖和语句覆盖。说明满足条件覆盖的未必满足分支覆盖和语句覆盖。 4.条件组合覆盖 根据条件组合的覆盖准则只需要采用四个输入数据组合:(a,b,c)=(1,-1,1)、(1,1,1)、(-1, 1,-1)、(-1,-1,-1),便可以把该程序的六个条件组合情况覆盖到。但执行的路径数只有2个,故不满足路径覆盖。说明满足条件组合的覆盖不一定满足路径覆盖。 5.路径覆盖 根据路径覆盖的准则,由图17-7可见,只需要采用四个输入数据组合:(a,b,c)=(1,1,1)、(1,1, -1)、(-1,1,1)、(-1,1,-1),便可以把该程序的所有四条路径都覆盖。路径覆盖是最强的覆盖准则。
解析
首先根据源程序画出程序流图比较容易,然后分析学过的所有的逻辑覆盖(如语句覆盖,分支覆盖,路径覆盖等),分析针对每种逻辑覆盖的标准来设计测试用例,最后通过设计测试用例来体现各种逻辑覆盖之间的关系。
转载请注明原文地址:https://kaotiyun.com/show/bfNZ777K
本试题收录于:
四级软件测试工程师题库NCRE全国计算机四级分类
0
四级软件测试工程师
NCRE全国计算机四级
相关试题推荐
阅读以下说明和流程图,回答问题1至问题3。[说明]信息处理过程中经常需要将图片或汉字点阵做旋转处理。一个矩阵以顺时针方向旋转90°后可以形成另一个矩阵,如下图所示:流程图2-1描述了对n*n矩阵的某种处理。流程图2-2是将
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec-orator与FootDecorator分别能够完成打印票据的台头和脚
请指出错误所在行号并给出该行修改后的完整结果。请补齐第21行代码中的空缺。
阅读以下说明和Java代码,请回答问题1和问题2。【说明】己知类Stock和类cxyjava都定义在cxyjava.java文件中,类Stock的定义中第14行前共有四行出现了错误,将下面代码修改正确并完善后的输出结果为:0:01
阅读以下说明和C语言函数,将解答填入对应栏内。【说明】下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“1
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】]开发一个五笔编码查询系统,界面如图所示。五笔编码存放在word.txt文
阅读以下应用说明及VisualBasic程序代码,将应填入(n)处的字句写在对应栏内。【说明】已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdCene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组int
阅读以下说明和Java代码,将解答写入对应栏内。【说明】请完成下列Java程序。程序的执行结果是生成一个具有一个TextField类型的对象in、Button类型的对象btn和Label类型的对象out图形用户界面,程序的功能是计算用户输入数的
使用白盒测试方法时,确定测试数据应根据(37)和指定的覆盖标准。
下列(16)不是数据流计算机的优点。
随机试题
自大隐静脉脱落的栓子沿血流最后栓塞于()
Lookingbackonmychildhood,Iamconvincedthatnaturalistsarebornandnotmade.Althoughwewereallbroughtupinthesame
心血管疾病中,引起咯血最常见的原因是
关于脑震荡下列哪项不正确( )。
以下属于要约必须具备的要件是()。
下列各句中,运用反问修辞方式的是()。
Beingsociablelookslikeagoodwaytoaddyearstoyourlife.Relationshipswithfamily,friends,neighbours,evenpets,will
材料毛泽东在《论持久战》中指出:“中国会亡吗?答复:不会亡,最后的胜利是中国的。中国能够速胜吗?答复:不能速胜,抗日战争,是持久战。”结合材料回答问题:为什么说中国抗日战争是持久的,而最后胜利是中国的?
shoplifting
CluessuggestingthatQuasimodo,thetragicheroofVictorHugo’snovelTheHunchbackofNotreDame,isbasedonahistoricalfi
最新回复
(
0
)