当前位置:文档之家› 软件工程简答题复习题(带答案)

软件工程简答题复习题(带答案)

软件工程简答题复习题(带答案)
软件工程简答题复习题(带答案)

软件工程简答题复习题(带

答案)

-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一章

1,与计算机硬件相比,计算机软件有哪些特点

软件的特点如下。

1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了

解它的功能、特性和质量等。

2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程

中,渗透了大量的脑力劳动。

3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问

题。

4)软件的开发和运行必须依赖于特定的计算机系统环境。

5)具有可复用性。

3,什么是软件危机什么原因导致了软件危机

软件危机的现象如下。

1)经费超出预算,项目一再拖延。

2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。

3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。

4)开发工具落后,手工方式,开发效率低。

所有导致软件危机的原因,都与软件本身的产品特点相关。

1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件

产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升

高。

2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。

3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做

到准确估算,生产过程不易控制。

4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成

本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得

多。

5,请简述软件工程研究的内容。

软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。

软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。

常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。

软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。

7,请简述软件工程的目标、过程和原则。

目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开发。

1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效

率、高效益)。

2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组

织过程。

3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的

开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程

的管理。

9,请简述现代软件工程与传统软件工程显著的区别和改进。

1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向对

象技术为标志。

2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中,

采用面向对象的思维方式,更加完整、自然地反映客观世界。

3)采用架构技术,开发效率、产品质量得到了极大提高。

4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP模

型、XP模型、过程改进、能力成熟度模型、配置管理等。

第二章

1,如何理解软件生命周期的内在特征

软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用以及产品版本的不断更新,再到最终该产品被市场淘汰的全过程。

软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务。由于每个阶段的任务相对于总任务难度会大幅度降低,因此在资源外配、时间把握和项目管理上都会比较容易控制。应该合理地划分软件生命周期的各个阶段,使各个阶段之间既相互区别又相互联系,为每个阶段赋予特定的任务。

3,当需求不能一次搞清楚,且系统需求比较复杂时应选用哪种开发模型比较合

开发模型不是孤立或排斥的,它们之间需要相互借鉴和参考。螺旋模型是一种综合性的模型,适和于较复杂的系统。

5, XP是一种什么样的模型

XP是现代版的增量模型,特点是客户参与、适应变化、测试驱动、以代码为核心。实行XP的条件如下。

1)企业具有较高的能力成熟度,具有团队开发环境和配套的测试工具。

2)软件结构是开放的,增量可随意整合。

3)开发团队拥有“系统隐喻"。

7,请简述软件过程。

软件过程就是软件产品的加工过程,其本质就是将“客观世界”映射(虚拟)到“计算机世界”,即从抽象到具体的逐步细化过程。系统分析就是对客观世界的抽象,中间要经过分析模型、设计模型的逐步细化(具体化),最终的具体结果就是计算机世界里的代码。

9,请简述CMM的作用。

1)CMM是评价软件组织开发能力(水平)的参考模型,是一种认证标准,认

可软件工程达到的程度(如同评定职称的条件)

2)CMM是软件组织提升自身能力、走向成熟的参照系。它提供了走向成熟的

阶梯目标,但并不提供走向目标的方法。

3)CMM等级的提高依靠软件过程改进。

4)CMM既是评估软件能力成熟度的模型,也起到了促进软件企业按照该模型

设置的级别和关键过程域不断改进自己的软件过程的作用。

11,假设你要开发一个软件,它的功能是把这个数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型请说明你做出这样选择的理由。

对这个软件的需求很明确,实现开平方功能的算法也很成熟。因此,既无须通过原型模型来分析需求也无须用原型模型来验证设计方案。此外,一旦实现并测试完之后,该产品将被地弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。

综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。

第五章

1,在选择编程语言时,通常要考虑哪些因素

1)待开发系统的应用领域,即项目的应用范围。

2)用户的要求。

3)软件开发人员的喜好和能力。

4)系统的可移植性要求。

5)算法和数据结构的复杂性。

3,什么是调试什么是测试二者有何区别

调试(debug)指的是对模块的调试,是程序员交付可运行的代码模块所必须经历的工作。

软件测试(test)有如下特点。

1)软件测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程

序无错。

2)不仅仅是测试程序,还应该对开发过程中所有的产品进行测试,包括文档,

其目的是为了尽早地、尽可能多地发现并排除软件中潜在的错误。

二者的区别如图所示。

5,请简述静态测试和动态测试的区别。

按照执行测试时是否需要运行程序,软件测试可以划分为静态测试和动态测试。

静态测试以人工测试为主,通过测试人员认真阅读文档和代码,仔细分析其正确性、一致性及逻辑结构的正确性,从而找出软件产品中的错误或缺陷。静态测试对自动化工具的依赖性较小,通过人脑的思考和逻辑判断来查找错误,因而可以更好地发挥人的主观能动性。

与静态测试不同的是,动态测试需要通过实际运行被测程序来发现问题。测试人员可以输入一系列的测试用例,通过观察测试用例的输出结果是否与预期相符来检验系统内潜在的问题或缺陷。

7,软件测试的目的是什么

测试的目的如下

1)测试是一个为了发现程序中的错误为目的的程序执行过程。

2)个好的测试用例是能最大限度地找到迄今为止尚未发现的错误。

3)成功的测试是能发现了那些尚未发现的错误。

9,什么是白盒测试有哪些常用的白盒测试方法

白盒测试主要针对于程序内部逻辑和数据流程的测试,因此白盒测试的测试用例设计需要了解程序的内部逻辑。常用的白盒测试方法主要有逻辑覆盖法、基本路径测试法。

11,软件测试应该划分几个阶段各个阶段应重点测试的内容是什么

软件测试总的来说可分为单元测试、集成测试、系统测试、验收测试。每个阶段又分为确定测试计划,测试设计,设计测试用例,实施测试,进行测试报告5个步骤。

1)单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等。

它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软

件基本组成单位的正确性。

2)集成测试是软件系统集成过程中所进行的测试,其主要目的是检查软件单位之

间的接口是否正确。

3)系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确

性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非是一项简单的任务,它被称为测试的“先知者问题".

4)验收测试是向软件的购买者展示该软件系统满足其用户的需求。它的测试数据

通常是系统测试的测试数据的子集。

5)回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验

对软件进行。

第十一章

1,请简述项目、项目管理和软件项目管理。

项目、项目管理和软件项目管理的概念如下。

1)项目是一次性的多任务工作,它具有确定的开始日期、结束日期、工作范围、

经费预算、

2)质量标准,以及特定的功能、性能和接口要求。

3)项目管理是为了实现项目目标,运用相关的知识、技能、方法与工具,对项目

的计划、进度、质量、成本、资源进行管理和控制的活动。

4)软件项目管理以通用的项目管理知识体系为基础,管理的对象是软件工程项

目。它结合软件工程自身的科学规律,采用适合软件产品自身特点的管理方法,使得整个软件开发过程(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期、按质的完成软件交付用户使用。

3,请简述项目计划应该包括的内容。

项目计划应该包括的内容如下。

1)确定详细的项目实施范围。

2)定义递交的工作成果。

3)评估实施过程中主要的风险。

4)制定项目实施的时间计划。

5)成本和预算计划。

6)人力资源计划等。

5,如何进行项目的时间管理

项目的时间管理首先要对项目活动进行定义,依据包括:工作分解结构、项目范围说明、历史信息、约束条件、假定和专家评论。

在整个项目中,我们需要一份能清晰描述活动发生的时间和所需要的资源的计划,项目进度安排的内容为如下

1)定义一组项目活动,并建立活动之间的相互关系。

2)估算各个活动的工作量和完成任务所需要的资源。

最新软件测试期末考试试题及答案

一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义?(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷?(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法?并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对

性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容?答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题?(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

最新软件工程试题和答案

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。

软件测试基础期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

软件工程试题与答案

安徽三联学院2011-2012学年度第一学期 《软件工程》期终考试试卷(A卷) 一、选择题(每小题2分,计20分) 1.请按顺序写出软件生命期的几个阶段__F__,__D__ ,__C__,___E_,__B__,___A_。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析 2.一个模块直接控制(调用)的下层模块的数目称为模块的_____B__。 A.扇入数 B、扇出数 C、宽度 D、作用域 3.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试 (A) A.单元测试 B.系统测试 C.集成测试D.确认测试 4.一个软件项目是否进行开发的结论是在___B___文档中作出的。 A.软件开发计划B、可行性报告C、需求分析说明书D、测试报告 5.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在 (B)阶段进行的。 A.需求分析B.总体设计C.详细设计D.编码阶段 6.CMMI标准的5个级别分别是完成级、管理级、定义级、量化管理级和( C ) A.初始级B.可重复级C.优化级D.过程级 7.PAD(Problem Analysi s Diagram)图是一种____工具。( B) A.系统描述B.详细设计C.测试D.编程辅助 二、填空题(每空格1分,计20分) 1、软件的通俗解释是软件= 程序+ 数据+ 文档资料。 4、系统测试包括的4种类型:恢复测试、安全测试、强度测试和性能测试。 6、统一建模语言(UML)提供的9种图分别是:用例图、类图、对象图、 状态图、顺序图、协作图、活动图、组件图和部署图。 7、软件工程标准的5个级别:国际标准、国家标准、行业标准、企业 规范 和项目规范。 三、名词解释题(每题4分,计20分) 1、软件工程: 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2、再工程: 软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程3.模块化: 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性 四、简答题(每题5分,计20分) 1、简述软件工程的基本原理? 1.严格按照软件生命周期计划进行管理.2.坚持进行阶段评审.3.实行严格的产品控制. 4.采用先进的程序设计技术. 5.结果应能清楚的审查.6.开发小组成员应少而精.7.承认不断改进软件工程实践的必要性

软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ )验收测试是由最终用户来实施的。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ )黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件测试试题及答案分析

单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析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.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件测试试题及答案

一、判断题 1.测试是调试的一个部分(╳) 2.软件测试的目的是尽可能多的找出软件的缺陷。(√) 3.程序中隐藏错误的概率与其已发现的错误数成正比(√) 4.Beta测试是验收测试的一种。(√) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6.项目立项前测试人员不需要提交任何工件。(╳) 7.单元测试能发现约80%的软件缺陷。(√) 8.测试的目的是发现软件中的错误。(√) 9.代码评审是检查源代码是否达到模块设计的要求。(√) 10.自底向上集成需要测试员编写驱动程序。(√) 11.测试是证明软件正确的方法。(╳) 12.负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13.测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√) 14.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√)黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15.软件测试的目的是尽可能多的找出软件的缺陷。(√) 16.自底向上集成需要测试员编写驱动程序。(√) 17.负载测试是验证要检验的系统的能力最高能达到什么程度。(╳)

18.测试程序仅仅按预期方式运行就行了。(╳) 19.不存在质量很高但可靠性很差的产品。(╳) 20.软件测试员可以对产品说明书进行白盒测试。(╳) 21.静态白盒测试可以找出遗漏之处和问题。(√) 22.总是首先设计白盒测试用例。(╳) 23.可以发布具有配置缺陷的软件产品。(√) 24.所有软件必须进行某种程度的兼容性测试。(√) 25.所有软件都有一个用户界面,因此必须测试易用性。(╳) 26.测试组负责软件质量。(╳) 27.按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28.好的测试员不懈追求完美。(×) 29.测试程序仅仅按预期方式运行就行了。(×) 30.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(√) 31.静态白盒测试可以找出遗漏之处和问题。(√) 32.测试错误提示信息不属于文档测试范围。(×) 33.代码评审是检查源代码是否达到模块设计的要求。(√) 34.总是首先设计黑盒测试用例。(√) 35.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36.软件质量保证和软件测试是同一层次的概念。(x)

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

软件测试练习题及答案

练习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 (03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)程序员兼任测试员可以提高工作效率。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)当软件代码开发结束时,软件测试过程才开始。错 (07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错(10)在压力测试中通常采用的是黑盒测试方法。对 (11)软件测试员无法对产品说明书进行白盒测试。对 (12)功能测试工具主要适合于回归测试。对 (13)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (14)自底向上集成需要测试员编写驱动程序。对 (15)测试是可以穷尽的。错 (16)自动化测试相比手工测试而言,能发现更多的错误。错 (17)软件测试自动化可以提高测试效率,可以代替手工测试。错 (18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。对 (19)Beta测试是验收测试的一种。对 (20)软件开发全过程的测试工作都可以实现自动化。错 (21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 (22)结构性测试是根据软件的规格说明来设计测试用例。错 (23)软件测试工具可以代替软件测试员。错 (24)通过软件测试,可以证明程序的正确性。错 (25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 (27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错(28)单元测试通常由开发人员进行。对 (29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 (31)Junit只是单元测试工具,并不能进行现回归测试。错 (32)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对

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

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

软件工程试题与答案

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。

三 四 五 六 5、以下不属于白盒测试技术的是(D) 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档—一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器) 3.软件有效性,指软件系统的时间和(空间)效率。 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终 可运行的代码的过程叫(编码)过程。 9.软件维护是软件生命周期的(最后)一个阶段。 三、判断题(每小题2分,共24分,错误打X、正确打√) 1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之 一。(√) 2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X) 3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第 一手资料,并从中提取出有价值的需求。(√) 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计 一些复杂的算法等场合。(√) 5.流程图也称为程序框图是最常用的一种表示法。(√) 6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三 种基本形式表示数据等步骤。(√) 7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√) 8.数据输入的一般准则中包括尽量增加用户输入的动作。(X) 9.用穷举测试是较现实的测试方法。(X) 四、简答题(每小题4分,共20分)

软件测试笔试题及答案修订

1、TCP是互联网中的(1)协议,使用(2)次握手协议建立连接。当主动发出SYN连接请求后,等待对方回答(3)。这种连接的方法可以防止(4),TCP使用的流量控制协议是(5)。 (1)A.传输层B.网络层C会话层D.应用层 (2)(3),,,,ACK (4)A.出现半连接B.无法连接C.假冒的连接D.产生错误的连接 (5)A.固定大小的滑动窗口协议B.可变大小的滑动窗口协议C.后退N帧ARQ协议D.选择重发ARQ 协议 2、下列叙述中,与提高软件可移植性相关的是。 A.选择时间效率高的算法 B.尽可能减少注释 C.选择空间效率高的算法 D.尽量用高级语言编写系统中对效率要求不高的部分 D软件可移植性是指与软件可从某一环境移植到另一环境的能力有关的一组属性。高级语言具有较好的可移植性,所以可以尽量用高级语言编写系统中对效率要求不高的部分。减少注释、选择时间/空间效率高的算法都不能提高软件的可移植性。 3、用边界值分析法,假定1

软件工程试题及答案

1. 软件生命期各阶段的任务是什么? 答:软件生命期分为7个阶段: 1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。 2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答: ①自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 ②自底而上渐增测试 优点与缺点和自顶而下渐增测试相反。 4 、提高可维护性的方法有哪些? 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前

的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 【解答】 测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。 单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。 平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。 36.简述容错技术的四种主要手段,并解释。

相关主题
文本预览
相关文档 最新文档