软件工程试题和答案

软件工程试题和答案
软件工程试题和答案

一、选择

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)软件。

A、系统软件

B、人工智能

C、事务软件

D、应用软件

15、选择结构的复杂性比顺序结构的复杂性要(B)。

A、小

B、大

C、相等

D、无法比较

16、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。

A、松散

B、紧密

C、无法判断

D、相等

17、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以()维护所占的维护量最小(C)。

A、纠错性维护

B、代码维护

C、预防性维护

D、文档维护

18、在下述哪一种测试中,测试人员必须接触到源程序(C)。

Ⅰ功能测试Ⅱ结构测试

A、均不需

B、只有Ⅰ

C、只有Ⅱ

D、Ⅰ和Ⅱ

19、软件设计阶段的输出主要是(D)。

A、程序

B、模块

C、伪代码

D、设计规格说明书

20、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。

A、结构合理性

B、软件外部功能

C、程序正确性

D、程序内部逻辑

21、下面哪几个阶段是软件的设计阶段(D)。

A、编码

B、可行性研究

C、测试

D、维护

E、需求分析

22、数据字典是用来定义(D )中的各个成分的具体含义的。

A.流程图B.功能结构图C.系统结构图D.数据流图

23、在面向对象设计中,(A )意味着在同一作用域内的若干个参数不同的函数可以使用相同的函数名字。

A.重载B.类的复用C.封装D.继承

二,判断(正确则打√, 错误则打×)

1、文档是软件产品的一部分,没有文档的软件就不称其为软件。( R )

2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。( R )

3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。( R )

4、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。( W )

5、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。( R )

6、面向对象的分析是面向计算机系统建立软件系统的对象模型。( W )

7、不完善的系统定义往往是导致软件项目失败的主要原因。( R )

8、一个成功的项目唯一提交的就是运行程序。( W )

9、只有质量差的软件产品才需要维护。( W )

10、一个好的测试用例在于能发现至今未发现的错误。( R )

11、软件工作的考虑范围主要是程序设计和实现。( W )

12、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。( W )

13、软件错误可能出现在开发过程的早期,越早修改越好。( R )

14, 在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。( W )

15, 模型是对现实的简化,建模是为了更好地理解所开发的系统。( R )

16, 好的测试用例应能证明软件是正确的。( W )

17, 白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。( W )

三三三三三三,填空题

1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是多对多关系。

2、动物与老虎之间是继承关系,森林和树木之间是组合关系。

3、衡量模块独立的两个标准是内聚和耦合。

4、结构化分析实质是就是一种建模活动,通常建立数据模型、功能模型、行为模型。

5、在面向对象设计过程中,先后要建立3个模型,它们分别是对象模型_、_动态模型_、_功能模型_

6、组成数据流图的四种成分是(源点或终点)、(数据流)、(处理)、(数据存储)

7、程序的逻辑结构分为顺序结构、分支结构、和循环结构等三大类

8、面向对象的方法有四个要点:对象、类、继承、通信

9、将正确答案的编号填入题目空白处:

在白盒测试用例设计中,有语句覆盖、条件覆盖、判定覆盖、路径覆盖等,其中,__2__是最强的覆盖准则。为了对下图所示的程序进行覆盖测试,必须适当地选取测试数据。若X、Y是两个变量,可供选择的数据组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组(如表中给出),则实现语句覆盖至少应采用的测试数据组是____1__;实现条件覆盖至少应采用的测试数据组是___5___;实现路径覆盖至少应采用的测试数据组是____5__或____8__。

[供选择的答案]:

A:①语句覆盖②条件覆盖③判定覆盖④路径覆盖

B—E:①Ⅰ和Ⅱ组②Ⅱ和Ⅲ组③Ⅲ和Ⅳ组④Ⅰ和Ⅳ组

⑤Ⅰ、Ⅱ和Ⅲ组⑥Ⅱ、Ⅲ和Ⅳ组⑦Ⅰ、Ⅲ和Ⅳ⑧Ⅰ、Ⅱ和Ⅳ组

10、快速原型应该具备的基本特性是:___快速___、___容易修改____

四,问答题

1、什么是需求分析?需求分析阶段的基本任务是什么?

答:需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。

需求分析阶段的基本任务是:要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。

2、为什么说面向对象方法学比传统方法学在稳定性方面要好?

答:传统的软件开发以算法为核心,开发过程基于功能分析和功能分解.用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求

发生变化时将引起软件结构的整体修改.事实上,用户需求变化大部分是针对功能的,因此这样的软件系统是不稳定的。面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。它的基本作法是用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。当对系统的功能需求变化时并不会引起软件结构的整体变化,仅仅只需要作一些局部性的修改。总之,由于现实世界中的实体是相对稳定的,因此,对象为中心构造的软件系统也是比较稳定的。

为什么说面向对象方法学比传统方法学在可重用性方面要好?

答:传统的软件重用技术是利用标准函数库来构造新的软件系统,但是标准函数少必要的“柔性”,不能适应不同应用场合的不同需求,并不是理想的可重用的软件成分。在面向对象方法所使用的对象中,数据和操作正是作为平等伙伴出现的,因此,对象具有很强的自合性。此外,对象所固有的封装性和信息,隐藏机理,使得对象内部实现与外界隔离,具有较强的独立性。由此可见,对象是比较理想的模块和可重用的软件成分。

3、你认为一个好的软件开发人员应具备哪些基本素质?

答:1.最重要的,学习和总结的能力

2.设计能力

3.软件工程能力

4、为什么软件需要维护?简述软件维护的过程。

答:1.软件维护就是要针对用户使用软件产品过程提出的问题而对软件产品进行相应的修改或演化,从而修正错误,改善性能或其它特征,以及使软件适应变化的环境。

2.软件维护的过程:提出维护要求,分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收。

5、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。

答:“瀑布模型是文档驱动的”。在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。

6、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:

请问图中是否应该增加"教务人员"?试说明理由。

答:不应该增加"教务人员",因为教务人员只是该系统的一个使用者,系统不处理其属性信息。

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

int GetMax(int n, int datalist[ ])

{

int k=0;

for ( int j=1; j

if ( datalist[j] > datalist[k] ) k=j;

return k;

}

(1)画出该程序的控制流图,并计算其复杂度。

(2)列出独立路径

(3)为各测试路径设计测试用例。

答:1.控制流图如下,McCabe环路复杂性为3。

2. 测试路径:

Path1:①→③

Path2:①→②→④→⑥→…

Path3:①→②→⑤→⑥→…

3. 测试用例:

Path1:取n=1,datalist[0] = 1,

预期结果:k=0

Path2:取n=2,datalist[0] = 1,datalist[1] = 0,

预期结果:k=0

Path3:取n=2,datalist[0] = 0,datalist[1] = 1,

预期结果:k=1

8, 以下是销售管理所需要的信息:

生产厂家编号、厂家名称、联系电话、联系人、联系地址、产品编号、产品名称、产品说明、销售商场名称、销售商场编号、商场联系电话、商场联系人、商场联系地址

分析这些信息,把它们设计成几个表,并将这些表之间建立起关系,要求反映出:一个工厂生产多种产品,一个商店经营多种产品

E-R图

数据流图:

9, 写出求最小公倍数的程序(或框图),画出其控制流图,计算其复杂度,列出独立路径,为各独立路径设计测试用例。#include "stdio.h"

void main()

{

int a,b,m,n,c,t;

printf("请输入两个整数:");

scanf("%d%d",&a,&b);

m=a;

n=b;

if(a

{t=a;

a=b;

b=t;

}

c=a%b;

while(c!=0)

{a=b;b=c;c=a%b;}

printf("最小公倍数为%d",m*n/b);

}

控制流程图

10,写出求最大公约数的程序(或框图),画出其控制流图,计算其复杂度,列出独立路径,为各独立路径设计测试用例。

#include "stdio.h"

void main()

{

int a,b;

scanf("%d %d",&a,&b);

while(a!=b)

{

if(a>b)

a-=b;

else

b-=a;

}

printf("%d",a);

}

控制流程图

复杂度 2

11、画数据流图要注意哪些事项?

答:1.设计数据流图时只需考虑系统必须完成的基本逻辑功能,不需要考虑怎样具体的实现这些功能。

2.从顶层数据流开始。

3.并不是所有数据存储和数据流都能直接从问题描述中提取出来;

4.当进一步分解将涉及如何具体地实现一个功能时,就不应该在分解了;

5.数据流图中个成分的命名要仔细推敲,看是否恰当;

12、在项目开发时,选择程序设计语言通常考虑哪些因素?

答:(1)软件项目的应用领域。(2)软件问题的算法复杂性

(3)软件的工作环境.(4)软件在性能上的需要.

(5)软件中数据结构中的复杂性.

(6)软件开发人员的知识水平和心理因素.

13、什么是单元测试和集成测试?他们各有什么特点?

答:单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其

他部分相隔离的情况下进行测试。

集成测试也叫组装测试、联合测试、子系统测试或部件测试。集成测试是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统。

特点:1.单元测试大量使用白盒测试技术,检查模块控制结构中的特定路径,以确保做到完全覆盖并发现最大数量的错误。

2. 集成测试是测试和组装软件的系统化技术,是把模块按照设计要求组装起来的同时进行测试,要目标是发现与接口有关的问题。

14、模块的内聚性分为哪几种类型?把它们按从低到高进行排序。

答:(偶然,逻辑,时间,过程,通信,顺序,功能)内聚。

15、模块的偶合性分为哪几种类型?把它们按从高到低进行排序。

答:(内容,公共,控制,数据,无直接)耦合。

16、软件的生存周期一般分成哪几个阶段?

答:三个时期:软件定义,软件开发,运行开维护。

八个阶段:问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,维护

18、下图是某系学籍管理的一部分,⑴、⑵分别是同一模块A的两个不同设计方案,你认为哪一个设计方案较好?请陈述理由。

20、数据流图由哪几种基本部件组成?画数据流图时最常犯的有哪些错误?

答:1.主要成分:数据的源点或终点,数据处理,数据存储,数据流。

2.没有分支,条件和循环;没有数据出错处理,没有文件的打开和关闭;数据处理必须“有进有出”;数据存储必须“有进有出”;数据流线上有数据流名,且数据流名是名词;数据处理的命名是动词。

21、E-R图由哪几种基本部件组成?画E-R图时最常犯的有哪些错误?

答:1.基本部件:实体,属性,关系.

2.用矩形框代表实体,连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体(或关系)的属性,用无向边把实体(或关系)与其属性连接起来。

22、什么叫模块化?设计一个系统时是否分的模块越多就越?好说明原因。

答:1.模块化就是把程序划分成可独立命名且独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一

个整体,可以完成指定的功能满足用户的需求。

2.不一定。当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本(工作量)确实减少了,但是,随着模块数量增加,设计模块间接上所需要的工作量也将增加,根据这两个因素,得出设计一个系统时并不一定模块越多越好。

23、分别叙述“瀑布模型”和“快速原型模型”的优缺点.

1.瀑布模型:优点:可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

缺点:瀑布模型是文档驱动的。

快速原型模型:优点:软件产品的开发基本上是按线性顺序进行的。

缺点:? 所选用的开发技术和工具不一定符合主流的发展;

? 快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;

25、把教科书第三章后的习题1、2、3

复杂度 2

11、画数据流图要注意哪些事项?

答:1.设计数据流图时只需考虑系统必须完成的基本逻辑功能,不需要考虑怎样具体的实现这些功能。

2.从顶层数据流开始。

3.并不是所有数据存储和数据流都能直接从问题描述中提取出来;

4.当进一步分解将涉及如何具体地实现一个功能时,就不应该在分解了;

5.数据流图中个成分的命名要仔细推敲,看是否恰当;

12、在项目开发时,选择程序设计语言通常考虑哪些因素?

答:(1)软件项目的应用领域。(2)软件问题的算法复杂性

(3)软件的工作环境.(4)软件在性能上的需要.

(5)软件中数据结构中的复杂性.

(6)软件开发人员的知识水平和心理因素.

13、什么是单元测试和集成测试?他们各有什么特点?

答:单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其

他部分相隔离的情况下进行测试。

集成测试也叫组装测试、联合测试、子系统测试或部件测试。集成测试是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统。

特点:1.单元测试大量使用白盒测试技术,检查模块控制结构中的特定路径,以确保做到完全覆盖并发现最大数量的错误。

2. 集成测试是测试和组装软件的系统化技术,是把模块按照设计要求组装起来的同时进行测试,要目标是发现与接口有关的问题。

14、模块的内聚性分为哪几种类型?把它们按从低到高进行排序。

答:(偶然,逻辑,时间,过程,通信,顺序,功能)内聚。

15、模块的偶合性分为哪几种类型?把它们按从高到低进行排序。

答:(内容,公共,控制,数据,无直接)耦合。

16、软件的生存周期一般分成哪几个阶段?

答:三个时期:软件定义,软件开发,运行开维护。

八个阶段:问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,维护

18、下图是某系学籍管理的一部分,⑴、⑵分别是同一模块A的两个不同设计方案,你认为哪一个设计方案较好?请陈述理由。

20、数据流图由哪几种基本部件组成?画数据流图时最常犯的有哪些错误?

答:1.主要成分:数据的源点或终点,数据处理,数据存储,数据流。

2.没有分支,条件和循环;没有数据出错处理,没有文件的打开和关闭;数据处理必须“有进有出”;数据存储必须“有进有出”;数据流线上有数据流名,且数据流名是名词;数据处理的命名是动词。

21、E-R图由哪几种基本部件组成?画E-R图时最常犯的有哪些错误?

答:1.基本部件:实体,属性,关系.

2.用矩形框代表实体,连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体(或关系)的属性,用无向边把实体(或关系)与其属性连接起来。

22、什么叫模块化?设计一个系统时是否分的模块越多就越?好说明原因。

答:1.模块化就是把程序划分成可独立命名且独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

2.不一定。当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本(工作量)确实减少了,但是,随着模块数量增加,设计模块间接上所需要的工作量也将增加,根据这两个因素,得出设计一个系统时并不一定模块越多越好。

23、分别叙述“瀑布模型”和“快速原型模型”的优缺点.

1.瀑布模型:优点:可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

缺点:瀑布模型是文档驱动的。

快速原型模型:优点:软件产品的开发基本上是按线性顺序进行的。

缺点:? 所选用的开发技术和工具不一定符合主流的发展;

? 快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;

25、把教科书第三章后的习题1、2、3

习题1

银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

请用数据流图描绘本系统的功能,并用实体-关系图描绘系统中的数据对象。

数据流图

基本模型

习题2

为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。

请用实体-关系图描绘本系统中的数据对象并用数据流图描绘本系统的功能

习题2

为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。

请用实体-关系图描绘本系统中的数据对象并用数据流图描绘本系统的功能

软件工程试题(附答案)

软件工程试题(附答案)

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

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

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

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

一,判断 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分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

软件工程试题及答案

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、软件重用的效益是什么?

软件工程试题及答案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、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

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

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)

软件工程考试题带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判 定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S 图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程 图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是(D)。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是(B)。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性 15软件生命周期中所花费用最多的阶段是(D)。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是(B)。

软件工程考试卷及答案

《软件工程导论》测试题(参考答案) (本试卷答卷时间为60分钟) 学号:_____________ 组别:姓名:___________________一、选择题:(每题2分,共20分) 1.瀑布模型的存在问题是(B) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 2.程序的三种基本控制结构是(B) A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 3.在详细设计阶段,经常采用的工具有(A) A.PAD B.SA C.SC D.DFD 4.详细设计的结果基本决定了最终程序的(C) A.代码的规模 B.运行速度 C.质量 D.可维护性5.结构化程序设计主要强调的是(D)

A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性 6.需求分析阶段的任务是确定( D) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 在E-R模型中,包含以下基本成分( C )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 8.设函数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.信息隐藏和局部化的根据 9.面向数据流的设计方法把(D)映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流

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

太原理工大学软件测试技术 适用专业:软件工程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.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

软件测试试题及答案分析

单选 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分,共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提出的,它是一种面向()的软件 设计方法。

软件测试试题及答案

一、判断题 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)

软件工程试题与答案 ()

《软件工程》试卷及答案A卷 专业年级姓名得分 一、名词解释(每个2分,共10分) 1.软件危机 2.纯收入 3.模块 4.原型 5.BROOKS定律 二、填空题(每题2分,共20分) 1.____是计算机程序及其说明程序的各种文档。_____是有关计算机程序功能、设计、编制、使用的文字或图形资料。 2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、____、____、总体设计、详细设计、____、____、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。 3.软件详细设计阶段采用的工具有______。 4.____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 5.模块的耦合性分为四种类型:____、____、____、____。 6.内聚性有七种类型,最强的是____,最弱的是____。 7.结构图的深度指结构图______,结构图宽度指________。 8.集成测试采用的具体方法有--____、______ 9.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的 ____、逻辑输入、逻辑输出。 10.软件编码阶段要善于积累编程的经验,使得编出的程序____,易于____,从而提高软件质量。 三、选择题(每题2分,共20分) 1.系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。 A.软件环境可行性、技术可行性、经济可行性、社会可行性 B.经济可行性、技术可行性、操作可行性 C.经济可行性、社会可行性、系统可行性 D.经济可行性、实用性、社会可行性 2.通过()可以完成数据流图的细化。 A.结构分解 B、功能分解 C、数据分解 D、系统分解 3.模块(),则说明模块的独立性越强。 A.耦合越强 B、扇入数越高 C、耦合越弱 D、扇入数越低 4.模块()定义为受该模块内一个判断影响的所有模块集合。 A.控制域 B、作用域 C、宽度 D、接口 5.面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B、详细设计 C、软件设计 D、编码

软件工程试题库集及答案

综合练习一答案 选择题: 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。用户和软件人员的领导

软件工程试题及答案

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

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

相关文档
最新文档