软件工程_综合题1

合集下载

计算机二级考试软件工程题库及答案

计算机二级考试软件工程题库及答案

计算机二级考试软件工程题库及答案一、选择题1. 下列哪个不是软件工程的基本特征?A. 可靠性B. 可维护性C. 可重复性D. 可移植性答案:C2. 软件需求分析的目的是什么?A. 建立软件体系结构B. 确定软件需求C. 设计软件模块D. 编写软件代码答案:B3. 下列哪个不是软件开发生命周期的阶段?A. 需求分析B. 设计C. 测试D. 销售答案:D二、填空题1. 软件工程的目标是提高软件的_________。

答案:质量2. 软件需求分析阶段的主要任务是对用户的需求进行_________。

答案:分析3. 软件测试的目的是为了发现软件中的_________。

答案:缺陷三、简答题1. 什么是软件开发生命周期?请简要描述各个阶段的主要任务。

答案:软件开发生命周期指的是软件从开始开发到结束的整个过程。

主要阶段包括需求分析、设计、编码、测试和维护。

需求分析阶段的主要任务是确定用户的需求;设计阶段的主要任务是根据需求设计软件的结构和模块;编码阶段的主要任务是根据设计编写软件代码;测试阶段的主要任务是发现并修复软件中的缺陷;维护阶段的主要任务是对软件进行更新和修复。

2. 请简要说明软件工程的重要性。

答案:软件工程的重要性体现在以下几个方面。

首先,软件工程可以提高软件的质量,确保软件能够满足用户的需求。

其次,软件工程可以提高软件的可维护性,使得软件可以持续更新和修复。

最后,软件工程可以提高软件的开发效率,节省时间和资源。

以上是计算机二级考试软件工程题库及答案的内容。

希望对您有所帮助!。

软件工程习题及解答1

软件工程习题及解答1

软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。

其中,( A )是按事先设计的功能和性能要求执行的指令序列。

( B )是使程序能够正确操纵信息的数据结构。

( C )是与程序开发、维护和使用有关的图文材料。

供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。

软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。

供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。

有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。

第二阶段(1950年代末~1960年代末)称为“基本软件期”。

出现了( A ),并逐渐普及。

随着( B )的发展,编译技术也有较大的发展。

第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。

这一时期,与硬件费用下降相反,软件开发费急剧上升。

人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。

第四阶段(1970年代中期~现在)称为“软件工程时期”。

软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。

供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。

软件工程综合习题(1)及答案

软件工程综合习题(1)及答案

软件工程综合习题(1)及答案一、选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。

A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A )模型。

A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B )。

A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。

A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。

A.需求不确定性高的 B.需求确定的C.管理信息 D.实时6.下列有关软件工程的标准,属于国际标准的是(D )A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。

A.数据结构B.程序结构C.算法D.数据流8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。

A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。

A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。

A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。

研究生软件工程考试试卷1

研究生软件工程考试试卷1

一、填空题1、CMMI将软件开发过程能力分为( 5 )个等级如果某组织已处于定量管理级,则开发过程的特点是;附:五个等级分别为:初始级、已管理级、已定义级、量化管理级、优化级。

初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。

管理是反应式的。

已管理级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。

制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。

已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。

所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。

量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。

管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。

优化级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

2、三层体系结构包括:用户层、业务层和数据层。

3、统一过程模型的特点是:用例驱动、以架构为中心迭代增量式地开发软件。

4、Gamma将面向对象设计模式分为三类:分别是创建型、结构型和行为型模式。

5、在UML描述整体和部分关系时,有(组合)和(聚合)两种方式,前者的部分不能被整体共享,而后者的整体却能被若干整体共享。

6、Python语言定义类的成员是在(构造/内建)函数中定义。

7、在敏捷软件开发中,Scrum是一种(迭代增量)式软件开发过程,就像橄榄球赛的争球过程:快速、自组织和有适应性,其开发团队复责(开发团队负责在每个冲刺阶段结束,交付潜在可发布的"已完成"产品增量。

)。

8、SysML是对UML的一种扩展,用于系统工程建模,新增的图包括(需求图)和(参数图)两种。

二、简答题1.Petri网和Petri网系统有何区别?什么是有色Petri网?Petri 网是一种用于系统描述和分析的数学工具,Petri网是对离散并行系统的数学表示。

软件工程综合应用例题(题)

软件工程综合应用例题(题)

综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。

请用等价类划分法设计测试用例。

2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}画出该程序的程序流程图,并计算其McCabe复杂度。

3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。

4、根据伪码程序画出程序流程图,盒图(N-S图)。

STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP5、根据下列描述,画出教材征订系统的第一层数据流图。

学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。

各种资金往来通过学校的会计科办理。

6、画出下列伪码程序的程序流程图,盒图(N-S图)。

STARTIF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。

WHILE P DOIF A>O THEN A1 ELSE A2 ENDIF;IF B>0 THEN B1;IF C>0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。

软件工程(第四版)习题及解答1-7

软件工程(第四版)习题及解答1-7

软件工程(第四版)习题及解答1-7软件工程(第四版)习题及解答1-7软件工程一直是信息技术领域中一门重要的学科,它涉及到软件设计、开发、测试和维护等多个方面。

对于学习软件工程的学生来说,练习和解答一些相关习题是非常重要的。

本文将为大家提供《软件工程(第四版)》中的习题1-7的解答和详细讨论。

1. 习题1题目描述:什么是软件工程?为什么软件工程如此重要?解答:软件工程是一门学科,涵盖了软件开发的所有阶段,包括需求分析、软件设计、编码、测试和维护等。

软件工程关注如何以系统化的、规范的方法来开发高质量的软件。

软件工程之所以如此重要,原因有以下几点:首先,软件工程能够提供一个结构化的方法来开发软件,保证开发流程可控、可预测。

通过规范的过程和方法,可以减少软件开发过程中的风险和错误。

其次,软件工程将软件开发过程分解为不同的阶段,并引入了各种工具和技术来支持这些阶段的开发工作。

这些工具和技术能够提高开发效率,减少开发成本。

此外,软件工程还注重软件质量管理,包括软件测试、验证和验证等方面,以确保最终交付给用户的软件是高质量可靠的。

最后,软件工程也关注软件的维护和更新。

由于软件在使用过程中会面临各种问题和需求变化,软件工程可以帮助开发人员及时响应和解决这些问题,提供更好的用户体验。

2. 习题2题目描述:简要解释软件需求分析的目标和过程。

解答:软件需求分析的目标是识别和规范用户对软件系统的需求,确保开发人员和用户对软件系统的期望一致,并将这些需求转化为可行的系统规格说明。

软件需求分析的过程包括以下几个步骤:1) 需求收集:通过与用户沟通、调研等方式,收集用户对软件系统的需求。

可以采用面谈、问卷调查、观察等方法。

2) 需求分析和整理:对收集到的需求进行分析和整理,将其转化为可理解的形式。

可以使用需求建模工具和技术,如用例图、数据流图等。

3) 需求规格说明:在此阶段,将需求转化为详细的规格说明,包括功能需求、性能需求、质量需求等。

软件工程试题及答案

软件工程试题及答案

软件工程一、选择题1、软件需求规格说明的内容不包括(B)A、主要功能B、算法的详细描述C、用户界面及运行环境D、软件的性能2、面向对象的分析方法主要是建立三类模型,即(D)A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型3、在ER模型中,包括以下基本成分(C)A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作4、各种软件维护的类型中最重要的是(A)A、完善性维护B、纠错性维护C、适应性维护D、预防性维护5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[,],现从输入的角度考虑一组测试用列,-2,20,,设计这组测试用列的方法是(C)A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法6、下列白盒测试法,哪种是最强的覆盖准则(D)A、语句覆盖B、条件覆盖C、判定覆盖D、条件组合覆盖7、确定测试计划是在(A)阶段制定的。

A、总体设计B、详细设计C、编码D、测试8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C)A、数据库设计B、数据通信C、数据定义D、数据维护9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D)A、生成期B、软件意向C、结构化程序设计D、面向对象分析10、以下不属于IT企业当中过程管理和过程改进模型的是(D)A、ISO9001B、CMMIC、软件企业文化D、UML11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java)12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。

A、调用关系B、组成关系C、链接关系D、顺序执行关系13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作。

A、需求分析B、概要设计C、详细设计D、软件维护14、PDL属于(B)语言。

A、高级程序设计语言B、伪码C、中级程序设计语言D、低级程序设计语言15、成功的测试是(发现至今尚未发现的错误)16、软件开发的瀑布模型典型的刻画了软件生成周期的阶段划分,与其想适应的软件开发方法是(即瀑布模型采用什么样的软件开发方法)(B)。

软件工程题库1

软件工程题库1

软件工程单元一(概述)一单项选择1.软件是一种逻辑产品,它的开发主要是()。

A研制 B拷贝 C再生产 D复制2.软件生命周期一般包括:软件开发期和软件运行期,下述()不是软件开发期所应包含的内容。

A需求分析 B 结构设计 C程序编制 D软件维护3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是()。

A喷泉模型 B 增量模型 C瀑布模型 D螺旋模型4.在软件生存周期中,()阶段必须要回答的问题是“要解决的问题是做什么?”。

A详细设计 B 可行性分析和项目开发计划 C概要设计 D软件测试5.软件产品与物质产品有很大区别,软件产品是一种()产品A有形 B 消耗 C逻辑 D文档6.()把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。

A 原型模型B 螺旋模型C 基于知识的智能模型D 喷泉模型7. ( )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

A概要设计 B 详细设计 C 编码 D 测试8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是()。

A 原型模型B 瀑布模型C 基于知识的智能模型D 变换模型9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是()。

A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是()。

A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为()。

A可修改性 B可靠性 C可适应性 D 可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为()。

A可移植性 B可重用性 C 容错性 D 可适应性13.软件特性中,()是指系统具有清晰的结构,能直接反映问题的需求的程度。

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

平时作业和2010两张卷子里的综合题可能考到的一定不放过。

选择题(本题共15小题,每小题2分,共30分)28填空题(本题共10空,每空1分,共10分)9名词解释(本题共5小题,每小题2分,共10分)8简答题(本题共5小题,每小题4分,共20分)16综合题(本题共5小题,每小题6分,共30分)24100——85(每大项目错一题)作业2:类图、对象模型、用例图(1)类图(使用对象模型描述类对象所具有的属性,以及公司类对象提供的服务)(2)对象模型(3)用例图(参与者,用例,调用关系)画图步骤:(a)(b)(c)(d)作业3:Jackson系统方法(用jackson图可以表示数据结构、程序结构)参考:jackson作业试用Jackson方法编写一程序,要求能依次完成下列工作:——统计起始卡以前的卡片张数,存入A;——打印起始卡的内容;——统计起始卡以后出现的K1卡和K3卡总批数,存入B;——统计起始卡以后出现的K1卡的张数,存入C;——统计起始卡以后出现的K3卡的批数,存入D;——打印终了卡的内容;——打印A,B,C,D 4个统计值。

第一步:画出数据结构图第二步:画程序结构图(基于数据结构图画)第三步:写出程序的过程性表示(伪码)打开卡片文件;读卡片;A:=0;处理前置部分iteruntil出现K1卡;处理非K1卡seqA:=A+1读卡片;处理非K1卡end;处理前置部分end;打印起始卡;B:=0;C:=0;D:=0;读卡片;处理批部分iteruntil出现K2卡;处理批seq统计总批数; {B:=B+1}处理批类select是K1卡处理K1批iterwhile出现K1卡;处理K1卡seqC:=C+1;读卡片;处理K1卡end;处理K1批end;处理批类or是K3卡处理K3批seq;D:=D+1;处理批体iterwhile出现K3卡;读卡片;处理批体end;处理K3批end;处理批类end;处理批end;处理批部分end;打印终止卡;打印A,B,C,D;关闭卡片文件;卡片分析程序end;作业4:画出数据流图(DFD)。

数据流图(DFD图):顶层(0层),功能分解(1层),功能进一步分解(2层)作业5:数据流图(DFD)转换为软件结构图(SC)。

数据流程图(DFD)的基本图形元素(4种):外部实体、加工、数据流、数据存储。

结构图(SC)的主要成分(4个):模块、模块的调用关系和接口、模块间的信息传递(数据信息、控制信息)、重复(循环)调用和选择调用的符号。

交换流型结构图:逻辑输入C、C变换成D,逻辑输出D(还有物理输入A,物理输出E)事务流型结构图;数据接收通路、得到结果的调度(若干有选择关系的平行事务,)、输出结果举例:(1)变换流型结构图举例:(2)事务流型结构图作业7:程序流程图,N-S图,PAD图,结构化程序流程图,控制流图(计算McCabe复杂性度量)1. 下面是两个程序流程图,试分别用N-S 图和PAD 表示之,并计算它们的McCabe 复杂性度量。

(1.1)程序流程图STARTAB Q ENDTFSTARTA BQ FTENDFFT T P P(1.2)N-S图While-do P 当条件P为真时,执行循环体ADo-while P 先执行循环体,在判断条件P,当P为真时继续执行循环体注意:循环节结构经常嵌套使用N-S图表示命令执行顺序:从上到下执行举例1:举例2:书第227页扩展N-S图有do-until P 结构:表示当P值为真时,退出循环(1.3)问题分析图(PAD)选择型(1):当P为真时执行S1,当P为假时执行S2选择型(2):当P为真时执行S1,当P为假时什么都不执行While P 当条件P为真时,执行SUntil P 执行S,直到条件P为真时结束循环PAD图表示命令执行顺序:最左主干线起从上到下依次执行举例1:举例2举例3:书第228页(2)McCabe复杂性度量McCabe定义的程序复杂性度量值:又称环路复杂度,基于程序模块的控制流图中环路的个数。

在基本路径测试中,环路复杂度=独立路径数。

控制流图:一种有向图,是退化的程序流程图(处理符号图画成结点,流线退化成有向弧)。

控制流图仅描述程序内部的控制流程,完全不表现数据的具体操作和分支和循环具体条件。

(因为程序流程图中分支和循环会有2条有判断条件的流线,而控制流图只看做两条有向弧。

)举例:Mecabe度量法(环路复杂度)的3种计算方法(书p337,338,420)1)将环路复杂性定义为控制流图中的区域数。

(区域:即由边和节点封闭起来的区域)2.1)从入口点到出口点加一条虚线表示的有向边,构成强连同图:有向连通图V(G)=m-n+p ,其中m为图G中弧数,n为图G中结点数,p为图G中强连通分量个数。

(p=1,即V(G)=m-n+1)2.2)从入口点到出口点不加虚线:给定控制流图G的圈复杂度V(G)=E-N+2,其中E是流图中边的数量,N是流图中结点的数量。

3)给定控制流图G的圈复杂度V(G)=P+1,其中P是流图中判定结点的数量4.画出消去全部goto语句的结构化程序流程图。

结构化程序流程图:利用结构化程序设计要求的几种基本控制结构,消除其中的goto语句,使得每一个部分都是单入口单出口。

举例:书上第225页作业8:黑盒测试(因果图)2. 设要对一个自动饮料售货机软件进行黑盒测试。

该软件的规格说明如下:“有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。

若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。

若投入的是2元硬币,在送出饮料的同时退还5角硬币。

”(1) 试利用因果图法,建立该软件的因果图;(2) 设计测试该软件的全部测试用例。

参考:原因:1投入1元5角硬币2投入的是2元硬币3按下“可乐”按钮4按下“雪碧”按钮5按下“红茶”按钮结果:6退还5角硬币7送出“可乐”饮料8送出“雪碧”饮料9送出“红茶”饮料中间结果:10按下按钮11该找5角12钱付清举例:软件的因果图(5角自动饮料售货机)因果图中出现的基本符号:表示约束条件的符号:测试用例表(登陆系统)因果图创建测试用例步骤:①分析需求中原因和结果。

②将需求中的原因和结果连接成因果图。

③把因果图转换成判定表。

④把判定表中每一列表示的情况写成测试用例。

作业9:基本路径测试(1) 试计算此程序段的McCabe复杂性;(2) 用基本路径覆盖法给出测试路径;(3) 为各测试路径设计测试用例。

解析:计算程序圈复杂性(环形复杂度/MaCabe复杂度)(2)基本路径测试法与路径覆盖(逻辑覆盖法)(白盒测试方法:逻辑覆盖,判定和循环结构测试,基本路径测试法)路径覆盖:覆盖程序中所有可能的路径。

基本路径测试法:让程序中的循环体只执行零次或一次。

(书p418)它是在程序控制流图的基础上,基本路径测试法的步骤:1)分析控制构造的环路复杂性2)导出基本可执行路径集合3)针对每条路经设计测试用例得到测试路径的步骤:(1.1)程序流程图转换为程序控制流图:控制流图的基本结构:(1.2)计算程序环路复杂性:第(1)小题已经求出程序环路复杂性给出了程序基本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。

(2)得到控制流图的一个基本路径集(测试路径):(3)为各测试路径设计测试用例:基本路径集path1: 1-3path2: 1-2-5-8 ……path3: 1-2-5-9 ……path4: 1-2-4-6……path5: 1-2-4-7 …………表示后面剩下的路径是可以选择的。

测试用例(取值、预期结果)Path1:1-3取n = 1Path2:1-2-5-8-3取n = 2预期结果:路径5-8-3不可到达Path3:1-2-5-9-3取n = 2预期结果:路径5-9-3不可到达path4:1-2-4-6-5-8-3取n = 2, v[0] = 2, v[1] = 1预期结果:k = 1, v[0] = 1, v[1] = 2path4:1-2-4-6-5-9-3取n = 2,v[0] = 2, v[1] = 1预期结果:k = 1, 路径9-3 不可到达path5:1-2-4-7-5-8-3取n = 2,v[0] = 2, v[1] = 1预期结果:k = 0, 路径8-3 不可到达path5:1-2-4-7-5-9-3取n = 2,v[0] = 2, v[1] = 1预期结果:k = 0, v[0] = 1, v[1] = 2作业10:白盒测试(语句覆盖和路径覆盖测试用例)题目:设计下列伪代码程序的语句覆盖和路径覆盖测试用例。

(1)语句覆盖:至少每个语句应该执行一次。

设计满足语句覆盖的测试用例形式如:(书p412)(2)路径覆盖:覆盖程序中所有可能的路径。

路径覆盖的测试用例形式如:(书p415)。

相关文档
最新文档