首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
论述题3:针对以下C语言程序,请按要求回答问题 下面是一个简单的C语言程序: (1)画出该函数的程序流程图。 (2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 (3)设计特殊
论述题3:针对以下C语言程序,请按要求回答问题 下面是一个简单的C语言程序: (1)画出该函数的程序流程图。 (2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 (3)设计特殊
admin
2009-11-14
44
问题
论述题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://jikaoti.com/ti/rhE7FFFM
本试题收录于:
四级软件测试工程师题库NCRE全国计算机四级分类
0
四级软件测试工程师
NCRE全国计算机四级
相关试题推荐
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。【说明】假设一个剧场有N*N个座位,顾客买票时可以提出任意有效的座号请求。下面用二维数组a[N][N]模拟剧场中的座位,a[i][j]圆等于0表示第i排第j列(0≤i,j≤
阅读以下说明和C++代码。[说明]类Stock的定义中有三处错误,分别在代码的第04、06、10行。请补齐下述代码中的空缺(1),修改错误并给出修改后该行的完整代码,最后完善程序运行后的输出结果。[C++代码]01#include
阅读以下说明和C++代码。[说明]已知类SubClass的getSum方法返回其父类成员与类SubClass成员j的和,类SuperClass中的getSum为纯虚拟函数。程序中的第23行有错误,请修改该错误并给出修改后的完整结果,然后完
阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某班级有N名学生,他们可根据自己的情况选修名称和数量不尽相同的课程。设N等于6,学生信息、所选课程及成绩用链表结构存储,如图2-5所示。程序中相应的类型定义如下:
阅读以下应用说明以及用VisualBasic开发过程中所编写的程序代码,将应填入(n)处的字句写在对应栏内。【应用说明】某应用的登录界面如下:登录界面中的文本框txtUserID和txtPassword分别用于接受用户输入的用户
关于上述Java代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)。①sh和tr分别引用同一个对象;②sh和tr分别引用同一类型的不同的对象:③sh和tr分别引用不同类型的不同对象:④sh和tr分别引用同一个对象的不同
阅读以下说明和VisualBasic代码,将应填入(n)处的字句写在对应栏内。【说明】在一些应用场合中,需要对用户的输入数据进行检查监控。以下VisualBasic程序实现了对新添加到List列表的内容进行监控,拒绝向List列表添加重复信息
阅读以下技术说明及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。【说明】用创建Thread类的子类的方法实现多线程,判断一个数是否是素数。如果是,打印“是素数”,如果不是,则打印“不是素数”;如果没有参数输入,显示“请
阅读以下技术说明和Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。[说明]类Queue表示队列,类中的方法如表4-12所示。类Node表示队列中的元素;类EmptyQueueException给出了队列中的异常处理
随机试题
在账务核算系统中,“应收账款”科目通常设置()辅助核算。
A、SmokingistheculpritincausinglungcancerB、Womenaremorevulnerableinlungcancerthanmen.C、Womenarefoundtobemor
下列各项不符合蛛网膜下腔出血的是
下列选项中,需要暂缓拔牙的情况是
要在Excel中删除选定工作表可使用“编辑”菜单的命令。()
下列各项中,不会导致工业企业当期营业利润减少的是()。
根据下列资料。回答下列问题。2015年一季度全国租赁贸易进出口总额较上一季度约()。
Teachersrecommendparents______theirchildrenunder12toridebicyclestoschoolforsafety.
简述“和魂洋才”的时代背景。(北京大学2016年世界史真题)
WhoboughtBuckinghamHouse?
最新回复
(
0
)