首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
论述题3:针对以下C语言程序,请按要求回答问题 下面是一个简单的C语言程序: (1)画出该函数的程序流程图。 (2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 (3)设计特殊
论述题3:针对以下C语言程序,请按要求回答问题 下面是一个简单的C语言程序: (1)画出该函数的程序流程图。 (2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 (3)设计特殊
admin
2009-11-14
65
问题
论述题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全国计算机四级
相关试题推荐
阅读以下说明和Java代码。[说明]已知类Stock和类JavaMain都定义在JavaMain.java文件中,类Stock的定义中有四处错误,分别在代码的第01、02、06、07行。请修改错误并给出修改后该行的完整代码,并写出改正错误后程序运
阅读以下应用说明以及用VisualBasic开发过程中进行的属性设置和所编写的程序代码。[应用说明]启动某应用程序后,其运行窗口左边会出现两只蝴蝶,下边有“启动”和“停止”两个按钮。单击“启动”按钮后,伴随“两只蝴蝶”音乐,两只蝴蝶会分
阅读以下说明和C语言函数,将解答填入对应栏内。【说明】下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“1
阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。【说明】以下【C程序】的功能是,逐一从指定课程成绩文件中读入学生的考号和成绩,对同一学生汇总他(她)的总成绩,并按如图6-14所示格式输出名次(按总成绩由高到底
请根据C++程序运行时的输出结果,将代码中(1)、(2)空缺处的内容补充完整。类Stock的定义中有两处错误,请指出错误所在行号并给出该行修改后的完整结果。
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。【说明】C++标准模板库中提供了vector模板类,可作为动态数组使用,并可容纳任意数据类型,其所属的命名空间为std。vector模板类的部分方法说明如下表所示:【C++代码
网络安全的基本目标是实现信息的(62)。
软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。渐增模型是在快速开发一个(1)的基础上,逐步演化成最终的软件。螺旋模型综合了(2)的优点,并增加了(3)。喷泉模型描述的是面向(4)的开发过程,
在微型计算机中,采用DMA方式的优点之一是(242)。
随机试题
A.鳞状细胞癌B.腺鳞癌C.腺癌D.黏液癌胃癌多为
对蛔虫、蛲虫、鞭虫、钩虫、绦虫感染均有效的药物是
管理评审的目的是()。
按工程进度编制施工成本计划时的主要做法有()。
某一小规模企业销售产品一批,所开具的普通发票中注明货款(含税)为8480元,增值税率为6%,款项已存入银行。该企业应缴纳的增值税为()元。
申请设立期货交易所,应当向中国证监会提交的文件和材料有( )。
把多个企业联合在一起形成战略联盟的最重要纽带是()。
地理学发展成为一门专业的研究领域和系统的知识是近代一百多年以来的事,早期以观察为基础,资料的收集、整理和分类重于现象的解释。研究的方法主要采用:
简述国际服务贸易的特点。
A.fightingB.subjectsC.certainlyD.questionE.resultinF.furtherG.appearance
最新回复
(
0
)