软件工程第3阶段测试题
- 格式:doc
- 大小:71.00 KB
- 文档页数:9
A卷1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,( 需求分析阶段)出错,对软件的影响最大。
3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。
4、软件工程的出现主要是由于(软件危机的出现)。
5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。
7、UML是软件开发中的一个重要工具,它主要应用于基于对象的(面向对象)的方法。
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流).10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段)。
11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。
螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。
喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙")的特征。
12、以下不属于白盒测试技术的是(等价类划分).13、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护).14、保证软件质量的手段有复审、复查、管理复审和测试等.其中复审发生在软件生命周期的(每个阶段结束之前).15、完整的系统设计应包括(计算机系统设计、应用软件设计、数据库设计和网络设计)。
软件工程考试试题(含答案)软件工程考试试题(含答案)1. 简答题1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。
传统瀑布模型:软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。
优点:- 易于理解和使用;- 需求固定,有利于计划和控制;缺点:- 需求变更困难;- 风险高,需求出错难以弥补;- 开发周期长,无法满足紧迫的需求。
敏捷开发模型:一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。
优点:- 高度适应变化;- 可以提供早期可用软件;- 强调团队合作和沟通;缺点:- 需要高度的客户参与度;- 需要经验丰富的开发团队;- 不适用于大型项目。
1.2 什么是需求工程?请简述需求工程的过程和方法。
需求工程:需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。
它的目标是建立对用户需求的准确和完整的理解。
需求工程的过程:1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。
2. 需求分析:对需求进行分析、整理,形成需求的详细描述。
3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。
4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。
需求工程的方法:- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。
- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。
- 文献研究法:通过研究现有的相关文档来获取需求信息。
- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。
2. 算法设计题有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。
算法设计:1. 将整数数组按照从小到大的顺序进行排序。
2. 使用冒泡排序算法:- 比较相邻的两个数,如果前一个数大于后一个数,则交换它们的位置。
- 重复上述操作,直到没有任何交换发生,即数组已经按照从小到大的顺序排列好。
《软件工程实用教程》第2、3、4、5章习题与参考答案第2章软件生存周期及开发模型1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软件生存周期主要包括哪几个阶段?答案要点:软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个阶段:可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包括单元测试)、集成测试、确认测试、系统运行和维护。
这几个阶段又可以归纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。
2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?答案要点:瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利。
例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段性的评审等。
这为提高软件产品质量提供了有效保证。
瀑布模型的特点:•阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档。
•阶段评审:在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返工,如果评审不合格,则不开始下一阶段的工作。
•文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段的任务。
3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?答案要点:原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。
将模拟的手段引入需求分析的初期阶段,通过建立原型缩短用户与分析人员之间的距离。
快速原型方法具有以下一些特点。
•快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。
一旦需求或设计确定下来,原型就将被抛弃。
因此快速原型要求快速构建、容易修改,以节约原型创建成本,加速开发速度。
快速原型往往采用软件生成工具来创建,例如,4GL语言。
2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
第三章测验及答案第三章测验一、判断1. 文档不属于软件,所以不重要。
()2. 软件学是专门研究软件开发的学科。
()3. 通常把计算机软件分为系统软件和应用软件。
()4. 所谓系统软件就是购置计算机时,计算机供应厂商所提供的软件。
()5. 当前流行的操作系统是Windows系列及Office系列。
()6. Word属于系统软件,因为它在多个行业、部门中得到广泛的使用。
()7. Oracle是一数据库软件,属于系统软件。
()8. “软件工程”的概念出现在计算机软件发展的第三阶段。
()9. 一般只有硬件、没有软件的计算机被称为“裸机”。
()10. 计算机操作系统自举完成后,操作系统的所有程序常驻内存。
()11. Windows操作系统可以在任意的计算机上安装。
()12. Linux操作系统是Unix简化后的新版本。
()13. 机器语言程序是直接运行在裸机上的最基本的系统软件。
()14. 汇编语言是面向机器指令系统的机器语言。
()15. 计算机硬件就是组成计算机的各种物理设备的总称。
()16. 同一个程序在解释方式下的运行效率比在编译方式下的运行效率低。
()17. 编译程序仅是指从高级语言到机器语言的翻译程序。
()18. 在设计程序时一定要选择一个时间代价和空间代价都是最小的算法,而不用考虑其它问题。
()19. 离散数学的主要研究对象是连续的数据结构。
()20. 数据结构的内容包括数据的逻辑结构、存储结构以及在这些数据上定义的运算的集合。
()21.链接表是以指针方式表示的“线性表结构”。
()22. 程序与算法不同,程序是问题求解规则的一种过程描述。
()23. 软件产品的设计报告、维护手册和用户使用指南等不属于计算机软件。
()24. 支持多用户、多任务处理和图形用户界面是Windows的特点。
()25. 程序设计语言按其级别可以分为硬件描述语言、汇编语言和高级语言三大类。
()26.源程序通过编译处理可以一次性地产生高效运行的目标程序,并把它保存在外存储器上,可供多次执行。
试题1.第1题单选题在数据流图中,○(椭圆)代表_____。
A、源点B、终点C、加工D、模块标准答案:C您的答案:题目分数:5此题得分:0.0批注:2.第2题单选题需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是_____需求。
A、功能B、性能C、数据D、环境标准答案:A您的答案:题目分数:5此题得分:0.0批注:3.第3题单选题在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于_____。
A、维护时期B、计划时期C、运行时期D、开发时期标准答案:B您的答案:题目分数:5此题得分:0.0批注:4.第4题单选题在数据流图中终点_____。
A、只能出现一次B、可以出现多次C、既可出现多次,又可与源点同名D、可以出现多次,但不能与源点同名标准答案:C您的答案:题目分数:5此题得分:0.0批注:5.第5题单选题产生软件危机的原因主要与两个方面的问题有关:A、软件在计算机中很难识别,存在磁盘中也看不到。
B、软件设计对人的智商要求很高,也要求很高的资金投入。
C、软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。
D、软件很难理解,硬件也很复杂。
标准答案:C您的答案:题目分数:5此题得分:0.0批注:6.第6题单选题进行可行性研究的依据是_____。
A、决策者的经验B、对系统的高级分析和设计C、现场调查D、编码标准答案:B您的答案:题目分数:5此题得分:0.0批注:7.第7题单选题瀑布模型本质上是一种_____。
A、线性迭代模型B、顺序迭代模型C、线性顺序模型?D、及早见产品模型标准答案:C您的答案:题目分数:5此题得分:0.0批注:8.第8题单选题在数据流图中,源点和终点的数量_____。
A、必须是一对一的B、源点个数大于终点个数C、终点个数大于源点个数D、依需要而定标准答案:D您的答案:题目分数:5此题得分:0.0批注:9.第9题单选题需求分析阶段产生的最重要的文档之一是_____。
国家开放大学《软件工程》章节自测参考答案模块一软件工程概述一、选择题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. IEEEB. GBC. ISOD. DIN10.结构化方法是一种基于()的方法。
A. 程序结构B. 数据结构C. 算法D. 数据流二、简答题1.什么是软件危机?软件危机表现在哪几个方面?参考答案:由于软件具有上述这些特点,长期以来一直没有发明一种高效的开发方法,从而导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。
这种现象早在20世纪60年代被定义为“软件危机”。
它的具体表现如下:(1)“已完成”的软件不满足用户的需求。
(2)开发进度不能保障,交付时间一再拖延。
《软件工程》形成性考核答案-3————————————————————————————————作者:————————————————————————————————日期:2《软件工程》形成性考核答案第一、二章一、填空题1. 软件工程学的内容可包括(理论)、结构、(方法)、(工具)、环境、管理、规范等。
2. 软件生存周期一般可分为问题定义、(可行性研究)、(需求分析)、设计、(编码)、测试、运行与维护阶段。
3. 可行性研究的目的是(用最小的代价在尽可能短的时间内确定问题是否能够解决)。
4. 系统流程图是(描绘物理系统)的传统工具。
5. 在可行性研究中,(技术可行性)是系统开发过程中难度最大,最重要的一个环节。
二、判断题1. 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(√)2. 螺旋模型是利用笛卡尔坐标的四个象限上分别代表四个方面的活动来表示。
(√)3. 原型模型适用于嵌入式软件。
(╳)4. 面向对象技术是构件组装模型的基础。
(√)5. 在可行性研究中最难决断和最关键的问题是经济可行性。
(╳)6. 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。
(╳)7. 自底向上成本估计不是从整体开始,而是从任务单元开始。
(√)三、单项选择题1. 下列哪个阶段不是软件生存期三个阶段中的内容( C )。
A.计划阶段B.开发阶段C.编码阶段D.维护阶段2. 下列关于瀑布模型的描述正确的是( C )。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题修改的代价很低。
四、简答题参考答案:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。
它包括三个方面的内容:⑴程序:在运行时,能提供所希望的功能和性能的指令集。
练习题:一、填空题1.分析模型在系统级描述和软件设计之间建立了桥梁。
2.最常见的实体关系图的表示法是Peter Chen表示法和James Martin表示法。
3.结构化分析方法是面向数据流进行需求分析的方法。
结构化分析方法使用数据流图、数据字典、系统流程图等来描述。
4.在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。
通常问题简述中的动词短语将成为数据流图中的处理成分。
5.面向对象的需求分析中常用的UML图示有用例图、顺序图、状态图、活动图和协作图等。
二、判断题1.系统流程图表达了系统中各个元素之间信息的流动情况。
(√)2.用例需求分析方法采用的是一种结构化的情景分析方法,即一种基于场景建模的方法。
(×)3.面向对象分析方法认为系统是对象的集合,是以功能和数据为基础的。
(×)4.结构化分析方法适合于数据处理类型软件的需求分析。
(√)5.需求变更管理是需求管理过程中很重要的过程。
(√)6.软件需求规格说明的内容包括算法的详细描述。
(×)三、选择题1.软件开发过程中,需求活动的主要任务是(B)。
A.给出软件解决方案B.定义要求并建立系统模型C.定义模块算法D.给出系统模块结构2.软件需求规格说明文档中包括很多方面的内容,下述(D)不是软件需求规格说明文档中应包括的内容。
A.安全描述B.功能描述C.性能描述D.软件代码3.软件需求分析一般应确定的是用户对软件的(D)。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求4.结构化分析方法中,描述软件功能需求的常用工具有(A)。
A.数据流图,数据字典B.软件流程图,模块说明C.用例图,数据字典D.系统流程图,程序编码5.软件需求分析阶段建立原型的主要目的是(C)。
A.确认定系统的功能和性能要求B.确定系统的性能要求C.确定系统是否满足用户要求D.确定系统是否满足开发人员需求6.在需求分析阶段,需求分析人员需要了解用户的需求,认真仔细地调研、分析,最终应建立目标系统的逻辑模型并写出(B)。
软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。
在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。
1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。
需求获取的方法可以包括面谈、问卷调查、观察等。
通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。
1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。
在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。
通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。
1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。
在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。
需求规格书通常包括用例图、类图、时序图等各种工具和技术。
1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。
在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。
需求验证也可通过模拟测试、原型验证等方式进行。
2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。
下面介绍几个常用的软件设计原则。
2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。
这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。
2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。
2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。
软件工程考试题三一、选择题,请从四个可选项中选择正确答案。
(60分,每题3分)1.软件工程四个层次由下至上是(),它们的顺序不能互换。
A.质量层、过程层、方法层、工具层B.过程层、方法层、质量层、工具层C.方法层、过程层、质量层、工具层D.方法层、质量层、过程层、工具层2.根据软件工程的7条基本原理判断下面正确的选项是()。
A.软件错误发现的时机不重要,重要的是错误的严重程度B.软件错误只能通过运行代码才能发现C.软件错误发现的越早改正的成本越低D.。
需求阶段一般不会引入错误3.下列有关标准的符号,属于国内标准的是( )A. ZGB. GBC.GND.CB4.经济可行性研究的主要内容包括()。
A.开发过程B.开发工具C.风险分析D. 效益分析5.()定义了用户使用该软件要完成的任务。
A.用户需求B.业务需求C.性能需求D.功能需求6.数据流程图上的数据流必须封闭在()之间。
A.外部过程B.内部数据C.内部过程D.外部实体7.按照模块独立性,耦合程度由强至弱正确的顺序是()。
A.外部耦合、控制耦合、数据耦合B.控制耦合、数据耦合、外部耦合C.外部耦合、数据耦合、控制耦合D.数据耦合、外部耦合、控制耦合8.PDL是描述处理过程( )。
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.以下不是软件测试的目的的是()A.发现软件缺陷B.评估软件质量C.加速软件开发进程D.提高软件可靠性2.软件测试的主要阶段包括()。
A.计划测试B.执行测试C.分析测试结果D.全部选项均正确3.测试用例是()的组合。
A.测试条件和预期结果B.开发人员和测试人员C.软件模块和功能D.设备和环境要求4.下面哪一项不是黑盒测试的特点()。
A.只测试软件的功能和界面B.测试人员不需要了解软件内部结构C.基于开发人员提供的源代码D.测试的重点是软件的输入和输出5.下面哪种软件测试方法通常被用于检测边界值错误()。
A.等价类划分法B.边界值分析法C.状态迁移法D.路径覆盖法二、多选题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.自动化测试三、判断题1.白盒测试是基于软件内部结构的测试方法。
()2.黑盒测试是不需要了解软件内部结构的测试方法。
()3.回归测试是用于检测新功能是否引入了新的缺陷。
()4.压力测试通常是通过对软件进行长时间的运行来进行的。
()5.自动化测试可以帮助提高测试的效率和准确性。
()四、简答题1.请简述白盒测试和黑盒测试的区别。
2.简述软件测试的常见缺陷类型。
3.简述软件测试的主要技术。
4.什么是回归测试?为什么要进行回归测试?5.请简述自动化测试的主要优点和应用场景。
参考答案一、单选题1.C2.D3.A4.C5.B二、多选题1.ABC2.ABCD3.ABC4.AB5.ABCD三、判断题1.是2.是3.是4.是5.是四、简答题1.白盒测试是基于对软件内部结构的了解进行的测试方法,测试人员需要了解软件的源代码和内部逻辑,以验证软件内部的正确性和覆盖率;而黑盒测试是基于对软件功能和界面的测试方法,测试人员关注的是软件的输入和输出是否符合预期。
一、单选题(第1-20题每题5分)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. 以下哪一项不是软件危机的表现形式()。
江南大学现代远程教育第三阶段测试卷
考试科目:《软件工程》第6章至第8章(总分100分)
时间:90分钟
______________学习中心(教学点)批次:层次:
专业:学号:身份证号:
姓名:得分:
一、单选题(每小题1分,共计20分)
1. 在黑盒测试中,着重检查输入条件组合的方法是()
A.等价类划分法 B.边界值分析法 C.错误推测法 D.因果图法2. McCabe复杂性度量又称()
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. 测试的关键问题是()
A.如何组织软件评审 B.如何选择测试用例
C.如何验证程序的正确性 D.如何采用综合策略
14. 集成测试主要是为了发现哪个阶段的错误?()
A.需求分析B.概要设计 C.详细设计 D.编码
15. 程序设计语言的技术特性不应包括()
A.数据结构的描述性 B.抽象类型的描述性
C.数据库的易操作性 D.软件的可移植性
16. 软件测试的目的是()
A.试验性运行软件B.发现软件错误
C.证明软件正确 D.找出软件中全部错误
17. 与设计测试用例无关的文档是()
A.项目开发计划 B.需求规格说明书
C.设计说明书 D.源程序
18. 下列几种逻辑覆盖标准中,查错能力最强的是()
A.语句覆盖 B.判定覆盖 C.条件覆盖 D.条件组合覆盖19.软件测试中,白盒法是通过分析程序的什么来设计测试用例的?()
A.应用范围B.内部逻辑 C.功能 D.输入数据
20.软件维护的困难主要原因是()
A.费用低 B人员少
C.开发方法的缺陷 D.维护难
二、名词解释(每小题2分,共计12分)
1. 编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。
2. 驱动(驱动程序)指调用被测试的单元(模块)的虚拟主程序)
3. 存根(存根程序)指被测试的单元(模块)调用的其他模块的虚拟子程序
4. 调试或称纠错,它是排除(诊断和改正)程序中存在的错误过程
5. 测试是查找和发现程序中存在的错误的过程
6. 穷举(穷举测试)就是把程序所有可能的执行路径都检查一遍的测试
三、简答题(每小题4分,共计32分)
1.软件测试的目标?
测试的目标(G.Myers规则):
(1) 测试是为了发现程序中的错误而执行程序的过程;
(2) 好的测试方案是极可能发现迄今尚未发现错误的测试方案;
(3) 成功的测试是发现至今为止尚未发现错误的测试.
2.软件测试的步骤?
软件测试的步骤:
(1) 模块测试—单元测试
(2) 子系统测试—局部“集成测试”
(3) 系统测试—全局“集成测试”
(4) 验收测试—由用户参加,利用实际数据进行的系统测试
(5) 平行测试—试运行
3.什么是软件可靠性?
软件可靠性是指程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。
4.什么是软件的可用性?
软件可用性是指程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。
5.什么是改正性维护?
改正性维护是指发现错误(问题)且诊断和改正错误的过程。
(占维护活动的50%∼60%)。
6.什么是适应性维护?
适应性维护是指为了适应软硬件环境的变化而进行的修改软件的活动 (占维护活动的17%∼20%)。
7.什么是完善性维护?
完善性维护是指为了满足在使用软件的过程中用户提出的新要求(增加新功能/修改已有功能/提出一般性的改进意见)而进行的修改软件的活动。
(占维护活动的18%∼25%)。
8.什么是预防性维护?
预防性维护是指为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件的活动。
(占4%)
四、综合应用题(1~4小题7分,5小题8分,共计36分)
1.设有如下流程图,试构造其程序图且计算它的McCabe复杂度。
1. 解:
①程序图:
② McCabe复杂度:V(G)=判断个数+1=3+1=4
2.设有如下流程图,试构造其程序图且计算它的McCabe复杂度。
解:
①程序图:
② McCabe复杂度:V(G)=判断个数+1=3+1=4
3. 设有如下流程图,试构造其程序图且计算它的McCabe复杂度。
2.
3. 解:
①程序图:
② McCabe复杂度:V(G)=判断个数+1=4+1=5 (2分)。