北方工业大学软件工程期末复习题(含答案)

合集下载

《软件工程》期末考试及答案

《软件工程》期末考试及答案

《软件工程》教学大纲页脚内容《软件工程》 期末考试试卷考生注意: .本试卷共有五道大题,满分 分。

.考试时间 分钟。

.卷面整洁,字迹工整。

.填写内容不得超出密封线。

一、名词解释题(每小题 分,共 分) 软件生存周期模型数据字典内聚性方法多态性二、填空题(每空分,共 分) .在软件开发过程中要产生大量的信息,要进行大量的修改, 能协调软件开发,并使混乱减到最低程度。

.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有 的软件。

. 提出的软件质量模型包括 个软件质量特性。

.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、 、可使用性和效率。

为了便于对照检查,测试用例应由输入数据和预期的 两部分组成。

程序设计语言的心理特性主要表现在 、简洁性、传统性、局部性和顺序性。

软件结构是以 为基础而组成的一种控制层次结构。

使用类创建对象的过程实际上是类的 过程。

结构化语言是介于自然语言和 之间的一种半形式语言。

若年利率为 ,不计复利, 年后可得钱数为 ,则现在的价值 。

三、简答题(每小题 分,共 分) .简述容错技术的四种主要手段,并解释。

以 的观点,简述对软件测试的目的。

《软件工程》教学大纲页脚内容就程序设计语言的工程特性而言,对程序编码有哪些要求?模块的内聚性包括哪些类型?四、理论应用题(每小题 分,共 分) 请使用 图和 语言描述在数组 ( )~ ( )中找最大数的算法。

.根据下列条件使用等价类划分法设计测试用例。

某一 位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是 ~ ,如 , , 。

五、实践应用题(每小题 分,共 分) .某电器集团公司下属的厂包括技术科、生产科等基层单位。

现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:( )根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

( )根据车间实际生产日报表、周报表调整月生产计划( )以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。

软件工程 期末考试题(含答案)

软件工程 期末考试题(含答案)

一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。

( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段,3.软件工程的出现主要是由于(C ) ,A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用 D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法 D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于面向对象方法学的软件生存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是(B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。

A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。

A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。

A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。

A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。

A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。

动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A )。

A .状态图 B. 数据流图 C. 系统结构图 D. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。

软件工程期末试题(含答案)

软件工程期末试题(含答案)

软件工程期末试题(含答案)预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。

2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。

3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。

4.系统流程图是描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。

6.结构化分析方法是面向_数据流_进行需求分析的方法。

结构化分析方法使用_数据流图DFD_与_数据字典_来描述。

7.继承性是自动地共享类、子类和对象中的方法和数据的机制。

8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。

10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。

二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是( C )。

A、低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。

A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。

5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。

6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。

7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。

9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。

A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。

A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。

A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。

答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。

答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。

答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。

答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。

软件工程期末考试总复习题及答案

软件工程期末考试总复习题及答案

软件工程期末考试总复习题及答案填空题1.在信息处理和运算机领域内,一样认为软件是_程序____、_文档____ 和_数据____ 。

2.数据流图的差不多组成部分有_数据的源点与终点____、数据流_____、加工_____、数据文件_____。

3.数据流图和数据字典共同构成了系统的_逻辑____模型,是需求规格说明书的要紧组成部分。

4.划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使用公共模块。

5.类的实例化是_对象_______。

6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7.靠性的两个指标是_成功地运行的概率_______和_平均故障时刻_______。

8.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,9.将得到软件的总开发量。

这种成本估算方法称为_自底向上_______。

10.假如一个模块被n 个模块调用,其中直截了当的上级模块的个数是m 个(m<=n )那么该模块的扇入数是____N_______ 个。

11.结构化设计以__数据流图_________ 为基础,按一定的步骤映射成软件结构。

12.软件的风险分析可包括风险识别、风险推测和风险驾驭(或风险治理)等3项活动。

13.软件著作权登记的3种要紧类型:(1)著作权登记;(2)著作权连续登记;(3)权益转移备案登记。

14.软件工程治理的要紧内容有:项目经费治理,软件质量治理,项目进度治理和人员治理。

15.面向对象分析的目的是对客观世界的系统进行___建模_______________ 。

16.软件爱护工作的生产性活动包括分析评判、修改设计和____编写程序代码_______ 等。

17.为了使应用软件适应运算机环境的变化而___修改软件_______________ 的过程称为适应性爱护。

18.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是__________顺序内聚________ 。

2022年北京工业大学软件工程专业《操作系统》科目期末试卷A(有答案)

2022年北京工业大学软件工程专业《操作系统》科目期末试卷A(有答案)

2022年北京工业大学软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、下列选项中,操作系统提供给应用程序的接口是()。

A.系统调用B.中断C.库函数D.原语2、下面叙述中,错误的是()A.操作系统既能进行多任务处理,又能进行多重处理B.多重处理是多任务处理的子集,C.多任务是指同一时间内在同一系统中同时运行多个进程D.一个CPU的计算机上也可以进行多重处理3、下列选项中,降低进程优先权级的合理时机是()。

A.进程的时间片用完B.进程刚完成I/O,进入就绪队列C.进程长期处于就绪队列D.进程从就绪状态转为执行状态4、在操作系统中,一方面每个进程具有独立性,另一方面进程之间具有相互制约性。

对于任何两个并发进程,它们()。

A.必定无关B.必定相关C.可能相关D.可能相同5、进程从运行态到阻塞态可能是()A.运行进程执行P操作B.进程调度程序的调度C.运行进程的时间片用完D.运行进程执行了V操作6、某进程的段表内容见表,当访问段号为2、段内地址为400的逻辑地址时,进行地址转换的结果是()。

A.段缺失异常B.得到内存地址4400C.越权异常D.越界异常7、下列关于SPOOLing技术的叙述中,错误的是()A.需要外存的文持B.需要多道程序设计技术的支持C.可以让多个作业共享一台独占设备D.由用户作业控制设备与输入/输出之间的数据传送8、文件系统采用多级目求结构的目的是()。

A.减少系统开销B.节约存储空间C.解决命名冲突D.缩短传送时间9、在文件系统中,若文件的物理结构采用连续结构,则文件控制块FCB中有关文件的物理位置的信息包括(),I.首块地址 II.文件长度 III.索引表地址A.只有IIIB. I和IIC. II和IIID. I和III10、在分页虚拟存储管理中,“二次机会”调度策略和“时钟”调度策略在决定淘汰哪一页时,都用到了()。

A.虚实地址变换机构B.快表C.引用位D.修改位11、要保证一个程序在主存中被改变了存放位置后仍能正确地执行,则对主存空间应采用()技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北方工业大学《软件工程》课程期末复习题(答案)A 卷2014年春季学期开课学院:信息工程学院考试方式:闭卷考试时间:120 分钟班级 姓名 学号 一.简要回答下列各问题(共40分,每个小题5分) (1) 阐述软件工程的定义。

答:● 是指导计算机软件开发和维护的一门工程学科; ● 采用工程的概念、原理、技术和方法来开发和维护软件; ● 把证明正确的管理技术和最好技术综合运用到软件开发中; ● 研究经济地开发出高质量的软件方法和技术;● 研究有效维护软件的方法和技术。

(2) 简述软件危机的原因。

答:● 缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。

● 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误 。

● 软件开发过程不规范。

如,没有真正了解用户的需求就开始编程序。

● 随着软件规模的增大,其复杂性往往会呈指数级升高。

需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。

● 缺少有效的软件评测手段,提交用户的软件质量不能完全保证。

订线装(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。

(4) 画出软件生存周期的增量模型的示意图,并简述其优点。

优点:●可强迫开发人员采用规范化的方法。

●严格地规定了每个阶段必须提交的文档。

●要求每个阶段交出的所有产品都必须是经过验证的。

缺点●由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

如果需求规格说明与用户需求之间有差异,就会发生这种情况。

●瀑布模型只适用于项目开始时需求已确定的情况。

1-2 瀑布模型示意图●能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。

●逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。

●项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。

●优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。

因此,最重要的系统服务将接受最多的测试。

(5) 画出D.Ross 提出的软件工程结构化分析方法的框架示意图,并解释数据字典和数据流的含义。

答:(6) 举例说明变换型和事务型流图的特点。

答:变换型流图由输入、中心变换和输出3部分组成,而且逐层展开。

如:事务型流图通常接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。

(7) 给出下面变换型数据流图对应的模块结构图。

答:(8) 给出下面交易型数据流图对应的模块结构图。

答:(9) 举例说明模块结构图优化方法中的不同模块相似部分调整的原则。

答:● 完全相似的模块可以归并;● 两个模块部分相似的代码可以通过建立公共新模块,并设立对公共模块调用进行调整。

例如:(10) 举例说明模块结构图优化方法中作用域与控制域调整的原则。

答:作用域是指判断语句所在模块和他判断调用的下属模块,而控制域是指他本身以及他的下属模块;一般要求作用域在控制域内。

例如: D 通过B 判断调用C ,故D 的作用范围不在它的控制范围内,调整为右图。

(11) 试将下面的代码段进行局部调整,使其更容易理解。

1)要进行适当的缩排;2)增加必要的注释;3)增加必要的语句,以免产生错误;For(i=1;i<=n-1,i++){t=i;for(j=i+1,j<=n,j++)if(a[j]<a[t])t=j;if(t!=i){tm=a[t];a[t]=a[i];a[i]=tm}} 答:int i=0;/*实现***功能int t=0;int tm=0;For(i=1;i<=n-1,i++) /*实现***功能{t=i;for(j=i+1,j<=n,j++) /*实现***功能if(a[j]<a[t])t=j;if(t!=i){tm=a[t]; /*实现***功能a[t]=a[i];a[i]=tm}}(12)试按照规范编写一个求3个数中最小值的程序。

程序规范如下:1)禁止使用GOTO语句;2)使用缩排编写程序;3)变量命名明晰答:main() // a c code about finding out the small one in tree input number{int num1,num2,num3,min;printf("Please input three numbers:");scanf("%d,%d,%d",&num1,&num2,&num3);if (num1<num2)MIN=num1;elseMIN=num2;if (num3<MIN)MIN=num3;printf("The small one is:%d",small);(13)举例说明软件测试的不完备性。

答:就目前的软件测试方法而言,还无法做到对代码的完全覆盖测试,所以说软件测试是不完备的。

例如,下面的代码是无法完全测试的。

(14)试解释单元测试中“驱动模块”、“桩模块”与“被测模块”含义以及它们之间的关系。

答:● 驱动模块相当于被测模块的主程序,它接收测试数据,并把这些数据传送给被测模块,最后再输出实测结果。

● 桩模块也叫做存根模块,用以代替被测模块调用的子模块。

● 被测模块是单元测试要测试的模块,他与驱动模块和桩模块有被调用和调用的关系。

(15)简述软件改正性、适应性维护的含义。

答:改正性是为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程。

适应性维护是指,随着信息技术的飞速发展,软件运行的外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而修改软件的过程叫做适应性维护包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 × 24小时,要想把所有路径测试完,需3170年。

(16)举例说明影响维护工作量的因素。

答:(1)系统规模:系统规模大,维护困难;(2)程序设计语言:开发语言复杂,维护也困难;(3)系统年龄大小:时间久远的系统,维护困难;(4)数据库技术的应用水平:数据应用水平低,维护工作量大。

(5)所采用的软件开发技术及软件开发工程化的程度:工程化程度高,维护相对容易。

例如:商业企业进销存管理软件。

由于商品品种多,经营手段灵活,所以对数据库技术应用的水平要求比较高;一般大型商业企业,如沃尔玛是全球连锁,所以系统规模巨大,维护困难;商业企业管理软件一般要处理的内容多样,目前还没有一种语言可以完成整个系统的开发任务,所以选择功能相对强大的语言会减少开发困难。

二、已知程序框图如图2-1所示,试分别给出(a)语句覆盖,(b)条件覆盖,(c)判断覆盖,(d)条件组合覆盖,(e)判断/条件的最小测试用例和路径。

(每小题5分,共25分)答:(a)语句覆盖测试用例【(2, 0, 4),(2, 0, 3)】(b)条件覆盖路径:ace测试用例:【(2, 0, 4),(2, 0, 3)】路径:abd测试用例:【(1, 1, 1),(1, 1, 1)】(c)判断覆盖路径:ace测试用例:【(2, 0, 4),(2, 0, 3)】路径:abd测试用例:【(1, 1, 1),(1, 1, 1)】(d)条件组合覆盖路径:ace测试用例:【(2, 0, 4),(2, 0, 3)】路径:abd测试用例:【(1, 1, 1),(1, 1, 1)】路径:abe测试用例:【(2, 1, 1),(2, 1, 2)】路径:abe测试用例:【(1, 0, 3),(1, 0, 4)】(e)判断/条件覆盖路径:ace测试用例:【(2, 0, 4),(2, 0, 3)】路径:abd测试用例:【(1, 1, 1),(1, 1, 1)】三、现有一个PASCAL语言的编译器。

试采用黑盒测试法测试该编译器对语法规定:“标识符是由字母开头、后跟字母或数字的任意组合构成;有效字符数为8个,最大字符数为80个;标识符必须先说明,再使用;在同一说明语句中,标识符至少必须有一个。

”的一致性。

(每一个分类5分,共25分)答:等价类划分如下:测试用例:下面选取了8个测试用例,它们覆盖了所有的等价类。

① V AR x,T1234567:REAL;}(1)(2)(4)(7)(8)(11)(13)BEGIN x:=3.414;T1234567:=2.732;……② V AR :REAL;}(3)③ V AR x,:REAL;}(5)④ V AR T12345……:REAL;}(6)多于80个字符⑤ V AR T $:CHAR;}(9)⑥ V AR GOTO:INTEGER;}(10)⑦ V AR 2T:REAL;}(12)⑧ V AR PAR:REAL;}(14)BEGIN……PAP:=SIN(3.14*0.8)/6;四、已知程序伪代码如图4-1所示,试完成下列工作:1) 试用算法4.1给出对应的流图; 2) 计算流图的复杂性V(G);3) 求基本路径构成的基本集合(num 1,num 2,num 3各取一次最小值); 4) 给出每条路径执行的期望结果; 5) 给出每一条路径的测试用例。

(每小题3分,共15分)答:环形复杂性:3 基本路径集:12357 12457 12367 期望结果:12357的结果:num1是最小值 12457的结果:num2是最小值 12367的结果:num3是最小值测试用例:Num1=3;num2=4;num3=5 Num1=4;num2=3;num3=5 Num1=4;num2=5;num3=3main() // a c code about finding out the small one in tree input number {int num1,num2,num3,Min;printf("Please input three numbers:");(1)scanf("%d,%d,%d",&num1,&num2,&num3); (2)if (num1<num2) (3)MIN=num1; else(4)MIN=num2; (5)if (num3<MIN) (6)MIN=num3;(7)printf("The small one is:%d,Min); 图4-1 一个计算三个数中最小值的程序五、已知程序伪代码如图5-1所示,试完成下列工作:1)试用算法5.1给出对应的流图;2)计算流图的复杂性V(G);3)求基本路径构成的基本集合(num1,num2,num3各取一次最小值);4)给出每条路径执行的期望结果;5)给出每一条路径的测试用例。

相关文档
最新文档