首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
论述题3:针对以下C语言程序,请按要求回答问题 下面是一个简单的C语言程序: (1)画出该函数的程序流程图。 (2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 (3)设计特殊
论述题3:针对以下C语言程序,请按要求回答问题 下面是一个简单的C语言程序: (1)画出该函数的程序流程图。 (2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 (3)设计特殊
admin
2009-11-14
75
问题
论述题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://www.kaotiyun.com/show/bfNZ777K
本试题收录于:
四级软件测试工程师题库NCRE全国计算机四级分类
0
四级软件测试工程师
NCRE全国计算机四级
相关试题推荐
阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在答题纸的对应栏内。【说明】当用户启动html浏览器并首次打开下面的HTML文档时,JavaApplet小程序在显示面板上显示字符串“Welcome!”;当html页面被其他窗口
阅读以下说明及VisualBasic程序代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某个文本文件中存放了若干个非零数值有效数据,每个数据占一行,最后一行以数字“0”作为结束标志。下面的程序用于计算该文件中这些数据之和,其运行窗口
阅读以下应用说明以及用VisualBasic编写的程序代码,将应填入(n)处。[应用说明]本应用程序的运行窗口中将显示一个简单的模拟时钟如下图所示:该圆形钟面上有时针、分针和秒针在运动,不断显示系统的当前时间。在开发该应
阅读以下应用说明以及用VisualBasic开发过程中进行的属性设置和所编写的程序代码,将应填入(n)处。[应用说明]启动某应用程序运行的登录窗口如下:其中的标签(Label1)“用户名(U)”对应文本框Username,标签(
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec-orator与FootDecorator分别能够完成打印票据的台头和脚
阅读以下说明和流程图,填补流程图中的空缺(1)~(5)。【说明】某单位动态收集的数据中常包含重复的数据,所以需要进行处理,使得重复的数据仅出现一次。下面流程图的功能是:在n(n≥1)个数据D1、D2、…、Dn中,选出其中所有不重复的k个数
阅读以下技术说明及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。【说明】用创建Thread类的子类的方法实现多线程,判断一个数是否是素数。如果是,打印“是素数”,如果不是,则打印“不是素数”;如果没有参数输入,显示“请
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。【说明】C++标准模板库中提供了vector模板类,可作为动态数组使用,并可容纳任意数据类型,其所属的命名空间为std。vector模板类的部分方法说明如下表所示:【C++代码
函数fib1和fib2存在错误,只需分别修改其中的一行代码即可改正错误。(1)函数fib1不能通过编译,请写出fib1中错误所在行修改正确后的完整代码。(2)函数fib2在n≤2时不能获得正确结果,请写出fib2中错误所在行修改正确后的完整
在微型计算机中,采用DMA方式的优点之一是(242)。
随机试题
A.支气管扩张B.肺脓肿C.肺癌D.肺水肿E.肺结核女,66岁。因夜间喘憋、咳血性泡沫痰1天就诊。既往高血压病史40年。最可能的诊断是【】
某商业综合体地上26层、地下3层,建设用地面积8.95万m2,总建筑面积37.73万m2,其中地上建筑面积27.08万m2、地下建筑面积10.65万m2。该建筑地上一层至三层设计为室内步行街,通过若干中庭互相连通。步行街建筑面积43411m2,其中首层建筑
( )是指通过编造虚假的会计凭证、会计账簿和其他资料,编制财务会计报告或直接自改财务会计报告数据,使财务会计报告不真实,借以误导、欺骗会计资料使用者行为。
A债券票面年利率为10%,若半年付息一次,平价发行,则下列说法正确的是()。
甲公司是ABC会计师事务所的常年审计客户。A注册会计师负责审计甲公司2013年度财务报表,确定财务报表整体的重要性为240万元。资料一:A注册会计师在审计工作底稿中记录了所了解的甲公司情况及其环境,部分内容摘录如下:(1)甲公司原租用的办公楼月租金为
甲与乙两人分别做一批零件,且相互独立,甲、乙都在规定时间内做完的概率为0.64,且甲在规定时间内做完而乙没有做完的概率与乙在规定时间内做完而甲没有做完的概率相等,则甲、乙都没有在规定时间内做完这批零件的概率为________.
试根据分离定理推导市场组合的基本结论。
设函数f(x)在(a,b)内存在二阶导数,且f’’(x)<0.试证:若x0∈(a,b),则对于(a,b)内的任何x,有f(x0)≥f(x)-f’(x0)(x-x0),当且仅当x=x0时等号成立;
判别级数的敛散性.
A—businessmagazinesB—classifiedadsC—closingdateD—consumermagazinesE—coverdateF—horizontalpublicationG—insertH—natio
最新回复
(
0
)