软件工程复习题
一、单选题
1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )
A模块高内聚 B模块低耦合 C模块独立性 D程序模块化
2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )
A产生危机 B质量保证 C开发效率 D生产工程化
3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究
的结论主要相关于( A )
A软件系统目标 B软件的性能
C软件的功能 D软件的质量
4、软件需求分析一般应确定的是用户对软件的( D )
A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求
5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试
计划的制订应始于软件开发的哪个阶段? ( D )
A.需求分析 B.软件设计 C.程序编码 D.软件计划
6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )
A.原型化方法 B.结构化方法 C.面向对象方法. D.功能分解法
7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )
A.软件模型 B.软件功能 C.软件结构 D.软件加工
8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不
属于开发技术的范畴?( D )
A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济
9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依
据,而且也影响软件的( B )
A.可理解性 B.可维护性 C.可扩展性 D.可靠性
10、从( C )语言开始,软件摆脱了对硬件的依赖。
A.第一代 B.第二代 C.第三代 D.第四代
11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( B )
A.实体 B.数据存储 C.关系 D属性
13、结构化程序设计主要强调程序的( C )
A.效率 B.速度 C.可读性 D.大小
14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )
A.黑盒法 B.白盒法 C.灰盒法 D.综合法
15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )
A业务流程图,数据字典 B.软件流程图,模块说明
C.数据流图,数据字典 D.系统流程图,程序编码
16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。
A.分支 B.单人口 C.单出口 D.有规则GOTO
18、确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明称为结构化方法中的( D )
A.需求分析 B.可行性研究 C.总体设计 D.问题定义
19、.在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?( A )
A.总体设计 B.需求分析 C.详细设计 D.编程调试
21、在软件结构化设计中,好的软件结构设计应该力求做到(B )
A.顶层扇出较少,中间扇出较高,底层模块低扇入
B.顶层扇出较高,中间扇出较少,底层模块高扇入
C顶层扇入较少,中间扇出较高,底层模块高扇入
D.顶层扇入较少,中间扇入较高,底层模块低扇入
25、软件开发的结构化分析(SA)方法,常用的描述软件功能需求的工具是( C )
A.业务流程图、处理说明 B.软件流程图、模块说明
C.数据流程图、数据字典 D.系统流程图、程序编码
26、在软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主
要是用于测试( B )
A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑
27、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(C )
A.数据库设计 B.数据通讯 C.数据定义 D.数据维护
28、软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,
而在测试过程的多种环节中最基础的是(B )
A.集成测试 B.单元测试 C.系统测试 D.验收测试
29、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究
的结论主要相关于(A )
A.软件系统目标 B.软件的可测试性 C.软件的功能 D.软件的质量
30、结构化程序设计理论认为,实现良好的程序结构要应用( A )的分析方法。
A.自顶向下 B.自底向上 C.面向对象 D.基于组件
31、在下面列出的基本成分中,哪个不是数据流程图的基本成分?.( D )
A.信息处理 B.信息存储 C.外部实体 D.系统状态
32、PAD(Problem analysis Diagram)图是一种( B )工具。
A.系统描述 B.详细设计 C.测试 D.编程辅助
35、耦合是软件中各模块间相互联系的一种度量,耦合的强弱取决于模块间的复杂程度。耦合的若干种类中,耦合度最高的是.( A )
A.内容耦合 B.非直接耦合 C.数据耦合 D.控制耦合'
36、在软件工程中,软件测试的目的是( B )
A.试验性运行软件 B.发现软件错误
C.证明软件是正确的 D.找出软件中全部错误
37、下面哪一项不是软件设计规格说明中模块的内容?( C )
A.接口描述 B.数据的组织
C.外部文件结构 D.处理过程描述
38、需求分析的主要任务是( B )
A.确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明
B.分析用户要求,将软件功能和性能描述为具体的规格说明书
C.对问题定义阶段所确定的问题实现的可能性和必要性做出研究
D.建立软件系统的总体结构,子系统划分,并提出软件结构图
39、软件结构中,由一模块直接控制的其他模块数称为( C )
A.深度 B.宽度 C.扇入数 D.扇出数
40、在数据字典中,( B )给出了某个文件的定义,文件的定义通常也是列出其记录的组成。
A加工 B.数据存储 C.数据流 D.数据项
41、面向数据流的软件设计方法,一般是把数据流图中的数据流划分为什么样的两种流,再将数据流图映射为软件结构?( B )
A.数据流与事务流 B.变换流与事务流 C.信息流与控制流 D.变换流与数据流
43、软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( B )
A.设计人员和用户 B.分析人员和用户
C.分析人员和设计人员 D.编码人员和用户
44、数据字典是对数据定义信息的集合,它所定义的对象都包含于( A )
A数据流图 B.程序框图 C.软件结构 D.方框图
48、判定树和判定表是用于描述结构化分析方法中( B )环节的工具。
A.功能说明 B.数据加工 C.流程描述 D.性能说明
49、在结构图这种概念模式中,矩形框代表( B )
A.处理过程 B.模块 C.外部实体 D.内部实体
51、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( A )
A.总貌 B.细节 C.抽象 D.软件的作用
52、为了提高测试的效率,应该(D )
A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据
C.在完成编码后制订软件的测试计划 D.选择发现错误可能性大的数据作为测试数据
53、软件维护是指( C )
A维护软件的正常进行 B.软件的配置更新
C.对软件的改进、适应和完善 D.软件开发期的一个阶段
57、下列哪一项不是软件危机的表现形式?( D )
A.软件需求定义不明确,易偏离用户需求
B.软件生产高成本,价格昂贵
C.软件的可维护性差
D.系统软件与应用软件的联系越来越困难
58、数据流图是描绘信息在软件系统中流动和处理情况的图形工具,下列哪一个图形符号代表数据存储?( D )
A.箭头 B.圆框 C.直线 D.开口方框
61、软件设计中,可应用于详细设计的工具有 ( A )
A.程序流程图、PAD图、N-S图和伪码 B.数据流程图、PAD图、结构图和伪码
C.业务流程图、N-S图和伪码 D.数据流程图、PAD图、N-S图和伪码
63、程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意( C )
A支持逐步求精 B考虑控制流程 C.遵守结构化设计原则 D.数据结构表示
66、在软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是建立( A )
A.软件结构 B.软件流程 C.软件模型 D.软件
67、瀑布模型把软件生存周期划分为软件定义、软件开发与(C )三个阶段,而每个阶段又可分为若干更小的阶段。
A.详细设计阶段 B.可行性研究阶段 C.运行及维护 D.问题定义
68、软件工程的结构化生命周期方法中将软件生命周期分为若干阶段,软件详细设计是属于( B )阶段。
A.计划阶段 B.开发阶段 C.运行阶段 D.维护阶段
70、在软件的分析阶段,常用( C )来描述业务处理系统的信息来源、存储、处理和去向。
A.E-R图 B.框图 C.DFD D.时序网络
71、与设计测试数据无关的文档是( D )
A.需求说明书 B.设计说明书 C.源程序 D.项目开发设计
72、模块的内聚是从功能的角度来度量模块内的联系,内聚度最强的是( B )
A.通信内聚 B.功能内聚 C.顺序内聚 D.逻辑内容
73、结构化分析方法以数据流图、( D )和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图 B.PAD图 C.IPO图 D.数据字典
74、在软件工程中,高质量的文档标准是完整性、一致性和( C )
A.统一性 B.安全性 C无二义性 D.组合性
75、结构图中,带有注释的小箭头表示( B )
A.模块 B.调用 C.数据 D.模块间判断
76、下列叙述中不是关于有利于软件可维护性的描述是( C )
A.在进行需求分析时应考虑维护问题
B.使用维护工具和支撑环境
C.在进行总体设计时,应加强模块之间的联系
D.重视程序结构的设计,使程序具有较好的层次结构
78、软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?( B )
A软件结构 B模块算法 C制定测试计划 D数据库设计
79、由事务型数据流图映射为软件结构的设计首先应设计一个( A ),它有两个功能,接收事务数据,另一个是根据事务类型调度相应的处理模块。
总控模块 B事务中心 C变换中心 D接收分支
82、软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是( B )
A.减少测试工作量 B.避免后期付出高代价
C.保证软件质量 D.缩短软件开发周期
84、软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于( C )
A.开发阶段 B.计划阶段
C.分析阶段 D.设计阶段
86、面向数据流的软件设计方法,一般是把数据流图中的数据流划分为(B )两种
A.数据流与事务流 B.变换流与事务流
C.信息流与控制流 D.变换流与数据流
95、( B )是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理后再沿输出通路变换成外部形式离开软件系统。
A.数据流 B.变换流 C.事务流 D.数据结构
96、数据流图中,下列哪一种数据流的流向是不可能发生的?( B )
A.从加工流向加工 B.从数据存储流向外部实体
C.从加工流向外部实体 D.从外部实体流向加工
97、确定每一个模块使用的数据结构属于软件设计的哪 一个阶段?( D )
A总体设计 B需求分析 C编程调试 D详细设计
98.概要设计的结果是提供一份__ A __。
A.模块说明书 B。框图 C 程序 D 数据结构
99.需求分析是由分析员了解用户的要求,认真细致地调研。分析,最终应建立目标系统的逻辑模型并写出(B)。
A.模块说明书 B。 软件规格说明书 C。项目开发计划 D。合同文档
7.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。
A.变换型 B 事务型
8.PAD(Problem Analysis Diagram)图是一种____工具。
A.系统描述 B。详细设计 C。测试 D。编程辅助
12.分析员是____。
A. 用户中系统的直接使用者B.用户和软件人员的中间人
C.软件的编程人员 D。用户和软件人员的领导
13.在软件开发中,有利于发挥集体智慧的一种做法是____。
A. 设计评审B.模块化C.主程序员制D。进度控制
14.在开发软件时,____可用来提高程序员的工作效率。
A.程序开发环境 B.操作系统的作业管理功能
C.编译程序的优化功能 D。并行运算的大型计算机
15.软件测试中设计测试实例(test case)主要由输入数据和____两部分组成。
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.继续 E.体现 F.基础
21.单独测试一个模块时,有时需要一个_____程序_____被测试的模块.有时还要有一个或几个_____模块模拟由被测试模块调用的模块 。
1.A.理解 B.驱动 C.管理 D.传递
2.A.子(Sub) B.仿真(Imitation) C.栈(Stack) D.桩(Stub)
22.在结构化程序设计思想提出以前,在程序设计中曾强调程序的____。现在,与程序的____相比,人们更重视程序的____。
12A。安全性B。专用性C。一致性D。合理性 E。可理解性F。效率
23.软件测试中,白箱方法是通过分析程序的____来设计测试实例的方法,除了测试程序外,还适用于对____阶段的软件文档进行测试。黑箱方法是根据程序的____来设计测试实例的方法,除了测试程序外,它适用于____阶段的软件文档进行测试。
1、3A.应用范围B.内部逻辑C.功能D.输入数据
2、4A.编码B.软件详细设计C.软件概要设计D.需求分析
24.(1)在软件生命期周期中,_____阶段所需工作量最大,约占70%;
(2)结构化分析方法产生的系统说明书由一套____,一本数据字典和一组小说明及补充材料组成;
(3)软件的____一般由两次故障平均间隔时间和故障平均恢复时间来度量;
(4)采用____且编写程序,可提高程序的可移植性;
(5)仅依据规格说明书描述的程序功能来设计测试实例的方法称为____。
1.A.分析B.设计C 编码D 测试 E 维护
2.A.因果B。分层数据流图C PAD图 D 程序流程图
3.A.可维护性 B可靠性 C效率 D互理解性
4.A.机器语言 B宏指令 C汇编语言 D高级语言
5.A.白箱法 B表态分析法 C黑箱法 D人工分析法
25.____是以发现错误为目的的,而____是以定位,分析和改正错误为目的的。
A.测试 B.排错(调试) C.维护 D.开发
26.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。
A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析
30.软件的____设计又称为总体设计,其主要任务是建立软件系统的总体结构。
A.概要 B.抽象 C.逻辑 D.规划
31.结构化分析SA是软件开发需求分析阶段所使用的方法,____不是SA所使用的工具。
A.DFD图 B.PAD图 C.结构化英语 D.判定表
32.结构化分析方法以数据流图、____和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图 B.PAD图 C.IPO图 D.数据字典
40.在软件研究过程中,CASE是____。
A.指计算机辅助系统工程 B.CAD和CAM技术的发展动力
C.正在实验室用的工具 D.指计算机辅助软件工程
41.软件(结构)设计阶段(概要设计)的文档是____。
A.系统模型说明书 B.程序流程图
C.系统功能说明书 D.模块结构图和说明书
43.逆向工程在软件工程中主要用于____阶段。
A.分析 B.设计 C.编码 D.维护
44.软件工程中,只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为____测试。
A.白盒法 B.灰盒法 C.黑盒法 D.综合法
48.软件的可维护性是指____。
A.软件的可理解程度,程序修改的难易程度
B.软件文档修改的难易程度
C.程序修改的难易程度
D.使用维护工具进行维护的难易程度
51.数据流图的小说明中描述的最基本部分是____。
A.激发条件 B.加工逻辑 C.优先级 D.执行频率
52.系统的健壮性是指____。
A.系统能够正确地完成预期的功能 B.系统能有效地使用计算机资源
C.在有干扰或输入数据不合理等意外情况下,系统仍能进行适当地工作
D.在任何情况下,系统均具有错误自修复功能
53.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。
A.引入新技术提高空间利用率 B.用较少的投资获得高质量的软件
C.缩短研制周期扩大软件功能 D.硬软件结合使系统面向应用
54.不适于作为数据流图处理(加工)框名称的是____。
A.人工校核工资数据 B.工资支票数据
C.打印工资支票 D.计算职工工资
56.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为____。
A.数据耦合 B.混合耦合 C.公共耦合 D.控制耦合
57.适应性维护的含义是____所进行的维护。
A.为使软件在改变了的环境下仍能使用
B.为改正在开发时期产生、测试阶段没有发现、运行时出现的错误
C.为改善系统性能、扩充功能
D.为软件的正常执行
58.采用白盒法测试模块(程序),应根据____。
A.内部逻辑结构 B.算法复杂度 C.外部功能特性 D.支撑环境
59.下列关于软件工程方面的叙述中,正确的说法是____。
A.软件的质量标准中,某些因素是不可兼得的
B.数据字典包括数据流、文件、模块调用关系等三种条目
C.测试过程即调试
D.白盒法测试用例中,满足条件覆盖的一定满足判定覆盖
60.程序编写(实现)阶段完成的文档有____。
A.详细设计说明书 B.详细设计说明书、用户手册
C.模块开发宗卷、操作手册 D.用户手册、操作手册
61.软件总体结构的内容应在____文档中阐明。
A.软件需求规格说明书 B.概要设计规格说明书
C.详细设计规格说明书 D.数据要求规格说明书
62.使用结构化分析方法时,采用的基本手段是____。
A.分解和抽象 B.分解和综合 C.归纳与推导 D.试探与回溯
63.决定软件可维护性的主要因素可概括为____。
A.可测试性、可理解性、可修改性 B.一致性、结构性、自我描述性
C.可计测性、可访问性、可通讯性 D.可扩充性、简洁性、结构性
64.要减少两个模块之间的耦合,则必须____。
A.两个模块间的调用次数要少
B.模块间传递的参数要少
C.模块间传递的参数要少且布传递开关型参数
D.模块间传递的参数要少且不传递开关型参数以及两模块不引用同样的全局变量
65.软件开发中系统分析阶段产生的文档是____。
A.数据流图 B.系统说明书 C.模块结构图和模块说明书 D.数据字典
66.初始化模块和结束模块从块内联系看,被称为____模块。
A.过程内聚 B.功能内聚 C.时间内聚 D.逻辑内聚
67.结构化设计方法采用变换分析和事务分析技术实现____。
A.从数据结构导出程序结构 B.从模块结构导出程序结构
C.从模块结构导出数据结构 D.从数据流图导出初始化结构图
68.在软件测试中,确认(验收)测试主要用于发现____阶段的错误。
A.软件计划 B.需求分析 C.软件设计 D.编码
69.结构化系统分析主要是通过____进行分析的。
A.算法分解 B.控制结构分解 C.数据结构分解 D.处理功能分解
70.结构化设计方法是面向____的设计方法。
A.过程 B.对象 C.数据流 D.数据结构
72.划分软件生存周期的阶段时所应遵循的基本原则是_____。
A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立
C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立
73.OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组_____连接来表示的。
A、消息 B、记录 C、数据 D、属性
74.用黑盒法设计测试用例时采用的方法包括______。
A、判定覆盖法 B、条件覆盖法 C 、因果图法 D、路径分析法
75.软件维护过程中,______将会引起维护副作用。
A、修改代码或数据后未作测试 B、进行改正性维护时错误未全部改正
C、进行完善性、适应性或预防性维护时考虑因素不全面
D、维护过程中发生系统运行错误
77.下面所列的性质中,_____不属于面向对象程序设计的特性。
A、继承性 B、重用性 C、封装性 D、可视化
78.一般来说,在管理软件中,软件生存周期各个阶段的工作量以______所占的比例最大。
A、需求分析与设计阶段 B、编码实现阶段 C、测试阶段 D、维护阶段
79.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在______阶段进行的。
A、需求分析 B、总体设计 C、详细设计 D、编码阶段
80.结构化设计方法采用变换分析和事务分析技术实现______。
A、从数据结构导出程序结构 B、从数据流图导出初始结构图
C、从模块结构导出数据结构 D、从模块结构导程序结构
81.设一模块内部的处理动作为:成分A的输出是成分B的输入,则该模块的聚合性称为______。
A、顺序内聚 B、功能内聚 C、过程内聚 D、通信内聚
82.某个模块的作用域是指______。
A、被该模块调用的所用模块 B、调用该模块的所有模块
C、与该模块相关联的所有模块 D、受该模块内的判定所影响的所有模块
83.在软件测试中,确认(验收)测试主要用于发现______阶段的错误。
A、软件计划 C、需求分析 B、软件设计 D、编码
84.如果按用户要求增加新功能或修改已有的功能而进行的维护工作,称为_____。
A、完善性维护 B、适应性维护 C、预防性维护 D、改正性维护
85.软件维护阶段是软件生存周期中持续时间最长的阶段,它从______时算起。
A、产生可执行程序 B组装测试通过
C、软件交付使用 D、用户提出第一份维护报告
91.下面_____不属于结构化设计需解决的问题范围。
A、确定系统应由哪些系统和模块组成 B、模块什么方式联结,接口如何
C、如何编写结构程序 D、如何以恰当方式表达系统的软件结构
93.下列耦合度表示中,最弱的耦合形式是______。
A、特征耦合 B、公共耦合 C、数据耦合 D、数据结构
94.在结构化系统分析中,判定表和判定树常用于表达数据流图中的_____。
A、加工 B、数据流 C、数据存储 D、外部项
95.用由底向上渐增式方式对软件进行测试时,需要为每个模块准备一个_____ ,它的作用是调用被测的模块。
A、主模块 B、桩模块 C、驱动模块 D、输入模块
96.全局数据结构的错误通常在______中检查。
A、单元测试 B、有效性测试 C、集成(系统)测试 D、确认测试
97.现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现从输入的角度考虑设计了一组测试用例:—100,100,0。设计这组测试用例的方法是_____。
A、条件覆盖法 B、等价类划分法 C、边界值分析法 D 、错误推测法
98.为软件系统今后改进和发展打好基础而进行的维护工作称为______。
A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护
99.下列系统设计工具中,______不属于详细设计工具。
A、N—S图 B、数据流图 C、程序流程图 D、PAD
100.软件生存周期中,运行期的主要任务_____。
A、软件开发 B、软件维护 C、版本更换 D、功能扩充
101.系统开发的需求分析阶段的重要工作之一是______。
A、数据定义 B、数据库设计 C、数据维护 D、数据结构实现
102.经调查,系统分析员给出有问题的初略陈述,其中部分描述如下:某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要还应输入系统,经库存业务(进贷或出贷)处理后输出。从这段描述可知该部分数据流图中的外部项为:
A、采购员、仓库管理员 B、定购清单、库存业务
C、库存业务 D、定购清单、采购员
103.下列叙述中,_______不属于数据字典的作用。
A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识
C、作为概要设计的依据 D、为需求分析阶段定义各类条目
104.一个模块直接控制(调用)的下层模块的数目称为模块的_______。
A、扇入数 B、扇出数 C、宽度 D、作用域
105.模块内部的算法设计在结构化方法的______阶段进行。
A、系统分析 B、概要设计 C、详细设计 D 编码(实现)
106.在面向对象软件方法中,“类”是_______。
A、具有同类数据的对象的集合 B、具有相同操作的对象的集合
C、具有同类数据的对象的定义 D、具有同类数据和相同操作的对象的定义
108.下列所述的测试原则中,错误的是_______。
A、应设计非法输入的测试用例 B、测试用例要给出测试的预期结果
C、因维护修改程序后需回归测试 D、开发小组与测试小组合并
110、某应用系统为今后的发展将单用户系统改为多用户系统,并形成新的应用软件,由此进行的维护工作称为______。
A、改正性维护和预防性维护 B、适应性维护和完善性维护
C、完善性维护和改正性维护 D、预防性维护和适应性维护
111.可维护性是软件的重要质量标准。下列______措施与提高可维护性无关。
A、提高程序效率 B、强调程序设计风格化
C、采用模块化程序设计方法 D、采用结构化程序设计方法或面向对象方法
113.需求分析说明书不能作为______。
A、 可行性研究的依据 B、用户和开发人员之间的合同
C、 系统概要设计的依据 D、软件验收测试的依据
114.在自顶向下设计分层数据流图时,设计顶层数据流图主要分析_____。
A、源、汇、(终)点和输入、输出数据流
B、源、汇(终)点和处理功能
C、数据存储和输入、输出数据流
D、处理功能和输入、输出数据流
115.模块结构图是要软件工程的_______ 阶段中有采用的描述工具。
A、需求分析 B、概要设计 C、详细设计 D、编码(实现)
116.如果_____,则称该模块具有功能内聚。
A、模块包括单一功能
B、模块包括若干功能,但所有功能相互紧密相关
C、每个模块有单入口、单出口
D、模块中每个处理成分对应一个功能,它们紧密结合
117.变换型数据流图通常是_____形态。
A、 线性 B、层次 C、网状 D、无规则
118.结构化设计采用模块化方法的主要出发点是______。
A、 增加内聚性 B、减少耦合度 C、提高有效性 D、降低复杂度
119.面向对象程序设计中,基于父类创建的子类具有父类的所有特性(属性和方法),这地特点称为类的______。
A、 多态性 B、封装性 C、继承性 D、重用性
120.如果一个排序程序所设定的测试用例为
(1) 表空 (2)表中只有一个元素
(3) 表中均有相同的关键字值(4)元素已排序
则此测试方法称为____________。
A、 等价分类法 B、边缘值分析法 C、因果图法 D、错误推测法
134.银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是______。
A、 变换型 B、事务型 C、既不是A也不是B D、不一定
135.某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于____。
A、 逻辑内聚 B、通信内聚 C、顺序内聚 D、功能内聚
137.面向对象设计时,对象信息的隐藏主要是通过______实现的。
A、 对象的封装性 B、子类的继承性
C、系统模块化 D、模块的可重用
138.在有集成(组装)测试的叙述中,______ 是正确的。
A、 测试底层模块时不需要桩模块
B、 驱动模块的作用是模拟被调模块
C、 自顶向下测试方法易于设计测试结果
D、 自底向上测试方法有有利于提前预计测试结果
143.在软件生命期中,占工作量比例最大的是______。
A、 可行性研究 B、建立系统的结构 C、编写程序 D、维护
156.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边缘值分析法设计测试用例,应选_____。
A、 a=3,b=4,c=5 B、a=1,b=2,c=4
C、上述A、B 项目都应选上 D、a=1,b=2,c=3
二、填空题
1、 在结构化分析中,_____________用于详细地定义数据流图中的成分。(数据字典)
2、 耦合性和内聚性是衡量_________________的两个定性的标准。(模块独立性)
3、 提高程序的可理解、可修改、可测试的程度,就意味着增强软件件的___________。(可维护性)
4、 从数据流图导出初始模块结构图,主要是通过_____________两项技术。(变换和事务)
5、 结构化程序设计是一种程序设计技术,它采用________________的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。(自顶向下、逐步求精)
6、 结构化分析方法中,数据流图的四种基本成分为:加工、源点或终点__________。(数据流和文件)
7、 从模块内外的联系来看,结构化设计的要求是____________________。(模块内联系大、模块间联系小)
8、 在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的动词短语将成为数据流图中的_______________成分。(加工)或处理
9、 如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为_____________耦合。(数据)
10、 如果按用户要求增加新功能或个性已有的功能而进行的维护工作,称为________________。(完善性维护)
11、 在系统设计时,当数据流图中数据的流动路径几乎是线性时,应采用______________策略设计系统结构图。(变换中心)
12、 由底向上渐增式是在测试层次结构的大型软件时常用的一种方法。用由底向上渐增式方法对软件进行测试时,需要为每个模块准备一个__________________,它的作用是调用被测的模块。(驱动模块)
13、 现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现采用黑盒法进行测试,设计了一组测试用例:—100,100,0。设计这组测试用例的方法是___________________。(等价类划分法)
14、 现有一种软件开发方法,它将软件开发过程分成以下阶段:需求分析、原型开发和评价、系统设计和系统实现。这种软件开发方法称为____________________ 。(原型法)
15、 如果某个程序的输入数据的可能值划分为n个合理等价类、m个不合理等价类,这些等价类均为数轴上的一个有限敬意范围,则采用边缘值测试方法至少需要_________个测试用例。(2(m+n))
16、 模块内部的算法设计在结构化方法的___________________阶段进行。(详细设计)
17、 在数据流图中,用以表示软件系统之外的人员、设备等外部实体的基本成分(元素)称为___________________。(外部项)
18、 一个模块直接用另一个模块内部的代码和数据的模块间接的耦合方式称为______________耦合。(内容)
19、 _____________测试解决的主要问题是模块间接口和连接的测试。(集成)
20、 一般来说,在管理软件中,软件生存周期各个阶段的工作量以________________阶段所占的比例最大。(维护)
21、 定性度量模块独立性的两个标准是内聚性和__________________。(耦合性)
22、 改正性维护中,根据文档是提供的测试用例,重新对修改部分进行的测试称为_______测试。(回归)
23、 在模块结构图中,直接调用某一模块的其他模块数称为该模块的________________。(扇入数)
24、 在__________________测试中,主要测试详细设计和编码实现阶段中的错误。(单元)
25、 软件能被理解、被修改、被测试的易难程度称为_____________性。(可维护)
26、 选择足够的测算数据,使得判定中的每个条件获得各种可能的值的测试用例产生的方法称为___________________覆盖。(条件)
27、 如果一个软件系统完成从卡片机上读入一叠卡片,检查卡片的信息是否合理,然后对旧文件进行修改,产生一个修改过的新文件,并被修改的记录打印成一份报告。对此系统的数据流图,应采用_________________设计策略,导出模块结构。(变换流)
28、 若模块内的各处理元素都在同一时间间隔内执行完成,这种模块内元素间的联系称为__________________内聚。(时间)
29、 软件危机的事实使人们意识到:计算机要推广使用,其关键在于_____________技术的革新。(软件开发)
30、 所谓“用户要求”是指软件系统必须满足的______________和限制。(所有性质)
31、 软件工程技术中,控制复杂性的两个基本手段“分解”和____________。(抽象)
32、 Jzckcon法的设计原则是:使程序结构同_________________相对应。(数据结构)
33、 编程的目标是编写出逻辑上正确又易于_______________的程序。(阅读或理解)
34、 检验是软件开发过程中不可缺少的部分,检验的目的在于_______。(发现错误并及时改正)
35、 在联合测试时,采用先独立测试每一模块,然后再连到一起运行,这种方式称为_______联调。(非渐增式)
36、 面向对象的开发,最大的优点是帮助分析者、设计者及用户清楚地表述 ________,便于互相进行交流通讯。(抽象概念)
37、 程序评价和测试系统PET的主要功能是支持对FORTRAN程序采用白盒法测试,可以监视测试的______________ 。(实际覆盖程度)
三、名词解释
1、软件 2、软件工程 3、数据字典 4、模块化 5、类:
6、软件危机 7、软件维护 8、继承 9、投资回收期 10、结构化分析方法
11、软件的生命周期12、投资回收期13、结构化分析方法14、模块15、宽度
16、事务流 17、耦合 18、 事件 19、 函数重载 20、存根模块
21、变换流 22、内聚 23、扇出 24、多态性 25、驱动模块
四、简答题
1、软件生命周期分为哪三个时期?每一时期所完成的基本任务是什么?
2、简述需求分析阶段的具体任务有哪些?
3、什么是结构化程序设计?结构化程序设计采用几种控制结构?
4、程序设计语言的特点?
5、软件测试的基本任务是什么?测试与调试的区别是什么?
6、管理复审与技术审查的任务是什么?
7、可行性研究的步骤?
8、从哪些方面验证软件需求的正确性?
9、对象的特点?
10、用面向对象方法开发软件时,通常需要建立哪三种形式的模型?
11、什么是模块的作用域?什么是模块的控制域?
12、简述两种不同集成测试策略的比较?
13、什么是类?类与对象间是什么关系?
14、面向对象方法特征有哪些?
15、可行性研究的目的?应该从哪些方面研究目标系统的可行性?
16、什么是软件工程?构成软件工程的要素是什么?
17、简述软件测试的步骤?
18、对象有哪几种定义?
19、类—&—对象间的关系可以概括为哪三种?
20、简述渐增模型的特点?
21、总体设计的过程如何?
22、有几种效益的分析方法?
23、面向对象方法的主要优点有哪些?
五、论述题
1、假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数据,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。画出上述定货系统的数据流图?
2、根据统计,软件维护工作量占软件整个生存周期工作量的10%~70%,这个比例随着时间的退役还在增加,为什么软件维护需要这么大的工作量?
3、某仓库的业务工作流程如下:职工填写领料单,主任审查签名,职工拿单领料,管理员审查单是否有签名,填写是否正确,不正确的退回,正确则给料并修改库存清单,产生定货报表,当某零件的数量低于临界值时,登记信息,下班和前为采购部门采购订单。请画出数据流图表示。
4、 计算机技术已不再是单一学科的发展,它是许多相关学科的融合和渗透。举例说明你所熟悉的这方面的技术、方法和应用。
5、某商店派出采购员分赴全国十大城市采购100类畅销产品,共有10张“采购单”,每张“采购单”中列出这100类产品的采购量,要求汇总成一张总的“进货表”,并计算每类产品的平均价格?(用结构图表示)
6、为什么说软件测试是软件开发中不可缺少的重要的环节,但不是软件质量保证的“安全网”?
7、画出下列伪码N—S图。
START
IF p1 THEN
WHILE q DO f
END DO
ELSE IF p2 g
END IF
WHILE p3 DO h
END DO
END IF
STOP
8、测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务?151
9、 将下列PAD图转换成N—S图。
10、 影响软件维护工作的因素有哪些?并举例说明?
复习题参考答案
三、名词解释
1、软件:在计算机系统中,与硬件相互依存的逻辑部件,它由程序、数据及相关文档组成。
2、软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
3、数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
4、模块化:是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集总起来组成一个整体,可能完成指定的功能满足问题的需求。
5、类:对具有相同数据和相同操作的一组相似对象的定义。
6、软件危机: 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
7、软件维护:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程.
8、继承:子类自动地共享基类中定义的数据和方法的机制.
9、投资回收期: 就是使累计的经济效果等于最初投资的需要的时间。
10、结构化分析方法: 就是面向数据流自顶向下逐步求精进行需求分析的方法。
11、软件的生命周期:一个软件从定义、开发、使用和维护,直到最终被废弃所经历的一系列时期。
12、投资回收期:就是使累计的经济效果等于最初投资的需要的时间。
13、结构化分析方法:就是面向数据流自顶向下逐步求精进行需求分析的方法。
14、模块:数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问。
15、宽度:是软件结构内同一个层次上的模块总数的最大值。
16、事务流:数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类数据流应该划分为一类特殊的数据流,称为事务流。
17、耦合:衡量不同模块彼此间互相依赖的紧密程度。
18、事件:是某个特定时刻所发生的事情,它是对引起对象从一种状态转换到另一种状态的现实世界中的事件的抽象。
19、函数重载:指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字。
20、存根模块:用以模拟被测模块运行过程中所调用模块或是被测模块下层模块的替代程序。
21、变换流:信息沿输入通呼进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统,当数据流图具有这些特征时,这种信息流就叫变换流。
22、内聚:衡量一个模块内部各个元素彼此结合的紧密程度
23、扇出:是一个模块直接控制的模块数目。
24、多态性:子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。
25、驱动模块:用以模拟被测模块的上级调用模埠,或向被测模块输以数据输出一些必要信息,调用被测模块。
四、简答题
1、答:软件定义时期,开发时期,维护时期。
定义时期的任务:问题定义;可行性研究;需求分析。
开发时期的任务:总体设计;详细设计;编码与单元测试;综合测试。
维护时期的任务:使软件持久地满足用户的需要。
2、答:软件定义时期,开发时期,维护时期。
定义时期的任务:问题定义;可行性研究;需求分析。
开发时期的任务:总体设计;详细设计;编码与单元测试;综合测试。
维护时期的任务:使软件持久地满足用户的需要。
3、答:结构程序设计:是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。顺序,选择,循环。
4、答:1、名字说明 2、类型说明 3、初始化 4、程序对象的局部性 5、程序模块
6、循环控制结构 7、分支控制结构 8、异常处理 9、独立编译
5、答:任务是在软件投入生产性运行之前,尽可能多地发现软件中的错误。
与测试的区别:测试是为了发现软件中的错误,而调试是诊断并改正错误。
6、管理复审:复查各个阶段的经费、开销、成本以及进度,投资回收期前景的展望。
技术审查:对每个阶段进行严格的审查,从而保证了各个阶段技术的正确性,防上错误的积累和复审。
7、答:(1)复查系统规模和目标。
(2)研究目前正在使用的系统。
(3)导出新系统的高层逻辑模型。
(4)重新定义问题。
(5)导出和评价供选择的解法。
(6)推荐行动方针。
(7)草拟开发计划。
(8)书写文档提交审查
8、答:(1)一致性,即所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。
(2)完整性,需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。
(3)现实性,指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。
(4)有效性,必须证明需求是正确有效的,确实能解决用户面对的问题。
9、对象的特点?
答:(1)以数据为中心。(2)对象是主动的。(3)实现了数据封装。(4)本质上具有并行性。
(5)模块独立性好。
10、答:(1)描述系统数据结构的对象模型。(2)描述系统控制结构的动态模型。(3)描述系统功能的功能模型。
11、答:模块的作用域定义为受该模块内一个判定影响的所有模块的集合。模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合。
12、答:自顶向下测试方法主要优点是不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。自顶向下测试方法的主要缺点是需要存根程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。自底向上测试言法的优缺点与自顶向下测试方法的优缺点刚好相反。
13、答:类是对具有相同数据和相同操作的一组相似对象的定义。类是对具有相同属性和行为的一个或多个对象的描述,而对象是某个特定类所描述的一个具体对象。
14、答:(1)客观世界是由各种对象组成的。
(2)所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。
(3)按照子类与父类的关系,把若干个对象类组成一个层次结构的系统。
(4)对象彼此之间仅能通过传递消息互相联系。
15、答:用最小的代价在尽可能短的时间内确定问题是否能够解决。
(1)技术可行性 (2)经济可行性 (3)操作可行性 (4)法律可行性
16、答:软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。要素是:方法、工具、过程。
17、答:(1)模块测试(2)子系统测试(3)系统测试(4)验收测试(5)平行运行
18、答:(1)对象是具有相同状态的一组操作的集合。(2)对象是对属性值和操作的封装。(3)对象::=
DS:是对象的数据结构 MI :是对象受理的消息名集合
19、答:1、归纳关系:它反映了一个类与若干个互不相容的子类之间的分类关系。
2、组合关系:它反映了对象之间的构成关系。
3、关联关系:反映对象之间相互依赖、相互作用的关系。
20、答:(1)在整个开发过程中需求都可能有变化。(2)对应用领域不熟悉。
(3)高风险项目(4)用户完全参与到整个开发过程中。
(5)使用面向对象语言或第四代语言。
21、答:(1)设想供选择的方案。(2)选取合理的方案。
(3)推荐最佳方案。(4)功能分解。(5)设计软件结构。(6)数据库设计。
(7)制定测试计划(8)书写文档(9)审查和复审
22、答:(1)货币的时间价值(2)投资回收期(3)纯收入(4)投资回收率
23、答:(1)与人类习惯的思维方法一致。
(2)稳定性好。(3)可重用性好。(4)可维护性好。
五、论述题
2、答 :(1)在任何大型程序的使用期间,用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。我们把诊断和改正错误的过程称为改正性维护。
(2)计算机科学技术领域的各个方面都在迅速进步,经常推出新的操作系统或旧的系统的修改版本,时常增加或修改外部设备和其他系统部件;另一方面,应用软件的使用寿命却很容易超过十年,远远长于最初开发这个软件时的运行环境的寿命。因此为了和变化了的环境适当的配合就需要进行修改软件的活动。
(3)在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。为了满足这类要求需要进行完善性维护。
(4)当为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件。
3
4、答:本题能举三个以上例子就得满分。(1)系统软件,操作系统、网络软件,和种语言的编译程序等。(2)实时软件,实时监控功能领域。(3)嵌入式软件,航空航天系统,指挥控制系统等(4)科学和工程计算软件,弹道计算,地震数据处理,数据值天气预报等(5)人工智能软件等。
6、答:(1)软件的可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。它上随着运行时间的增加,运行时遇到的程序故障的概率也是增加的,所以可靠性是减少的。
(2)测试可以暴露程序中的错误,因此是保证软件可靠性的重要手段;但是,测试只能证明程序中有错误,并不能证明程序中没有错误。因此,对于保证软件可靠性来说,测试是一种不完善的技术。
(3)一旦研究出实用的正确性证明程序,软件可靠性将更有保证,测试工作量将大大减少,但是,即使有了正确性证明程序,软件测试也仍然是需要的,因为程序正确性只能证明程序功能是正确的,并不能证明程序的动态特征是符合要求的。所以测试不是软件质量的安全网。
7、
8、答:(1)测试的任务是尽可能多地暴露程序中的错误。但是,发现错误的最终目的还是为了改正错误。软件工程的根本目标是以较低成本开发出高质量的完全符合用户要求的软件,因此,在成功的测试之后,还必须进一步诊断和改正程序中的错误,这就是调试的任务。
(2)调试过程由两个步骤组在,首先,确定错误的准确位置,也就是找出是哪个模块或哪些接口引起的错误;然后,仔细研究这段代码以确定问题原因,并设计改正错误。其中第一步所需的工作量大约占调试总工作量的95%。
(3)调试是软件开发过程中最艰巨的脑力劳动。调试开始时,软件工程师仅仅面对着错误的征兆,然而在问题的外部现象和内在原因之间往往并没有明显的联系,在组成程序的数据以万计的元素中,每一个都有可能是错误的根源。所以调试的工作量是十分艰巨的。
9、答:N—S图
10、答:影响维护的因素有(1)可理解性,软件可理解性表现为外来读者理解软件的结构、接口、功能和内部过程的难易程度。模块化、详细的设计文档、结构化设计、源代码内部的文档和良好的高级程序设计语言等,都对改进软悠扬的可理解性有重要贡献。
(2)可测试性,诊断和测试的难易程度主要取决于软件容易理解的程度。良好的文档对诊断和测试是至关重要的。此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。
(3)可修改性,软件的设计原理、规则、模块的耦合、内聚、局部化、控制域与作用域等都影响软件的可修改性。
1.为什么要进行软件测试? 软件测试的主要手段有哪几种?
解:· 对一个软件系统,尤其是规模大、复杂性高的大型软件系统,虽经过了分析、设计和编程阶段但仍会存在错误。为了保证软件系统的质量,就要对软件系统进行检验和测试。
· 软件测试的手段有三类:动态检查、静态检查和正确性证明。
2.为什么要进行软件评审? 怎样有效地进行软件评审?
解:· 进行软件评审主要是人工阅读文档或程序,从而发现其中的错误 ,这对软件的成功是绝对必要的。
· 评审组长在评审会举行前1至2周将评审材料(文档或程序)发给评审员,要求各人仔细阅读,评审员阅毕应给评审组长一个书面通知证实已读过所有材料。
3. 软件测试的基本原则是什么?
解:测试阶段应注意的一些基本原则:
1) 测试用例应该由以下两部分组成:
·输入数据。
·预期的输出结果。
2) 不仅要选用合理的输入数据作为测试用例,还应选用不合理的输入数据作为测试用例。
3) 除了检查程序是否做了它应做的工作之外,还应检查程序是否还做了它不应做的事情。
4) 应该长期保留所有的测试用例,直至这个程序系统被废弃不用为止。
4.采用白盒法进行测试时,测试用例覆盖路径的种类有哪几种?它们相互之间是什么关系?
解:· 采用白盒法进行测试时,测试用例覆盖路径的种类有:
Ø 语句覆盖。
Ø 判定覆盖。
Ø 条件覆盖。
Ø 判定/条件覆盖。
Ø 条件组合覆盖。
· 它们相互之间的关系:
Ø“语句覆盖”是很不充分的一种标准。
Ø“判定覆盖”比“语句覆盖”严格,因为如果每个分支都执行过了,则每个语句也就执行过了。
Ø“条件覆盖”比“判定覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则不保证这一点。
Ø 满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。
5.采用黑盒法进行测试时,怎样设计测试用例?
解:采用黑盒法进行测试时,它不关心程序内部的逻辑,而只是根据程序的功能说明来设计测试用例。
6.某城市电话号码组成规则是:地区码 + 前缀 + 后缀。
地区码:空白 | 3位数字;
前缀:非0或者1开头的3 位数字;
后缀:4位数字。
被测试程序模块接受符合以上条件的电话号码,拒绝所有不符合规定的号码。用等价分类法设计测试方案。
解:第1步:划分等价类:
输入条件
合理等价类
不合理等价类
地区码
j 空白,k 3位数字
n 有非数字字符,o 少于3位数字, p 多于3位数字
前缀
l 200到999之间
q 有非数字字符,r 起始位为0, s 起始位为1,
11 少于3位数字, 12 多于3位数字
后缀
m 4位数字
13 有非数字字符, 14 少于4位数字, 15 多于4位数字
第2步:设计测试用例:
测试数据
测试范围
期望结果
j()123 - 4567
等价类j,l,m
有效
k(123)805 - 9876
等价类k,l,m
有效
l(20A)123-4567
等价类n
无效
m (33)234-5678
等价类o
无效
n (1234)234-4567
等价类p
无效
o(123)2B3-1234
等价类q
无效
p(123)013-1234
等价类r
无效
q(123)123-1234
等价类s
无效
r(123)23-1234
等价类 11
无效
s(123)2345-1234
等价类 12
无效
11 (123)234-1B34
等价类 13
无效
12 (123)234-34
等价类 14
无效
13 (123)234-23345
等价类 15
无效
7.联合测试的模块集成方式有哪几种?系统测试包括哪些方面?
解:· 联合测试的模块集成方式有两种:渐增式和非渐增式。
· 系统测试包括功能测试、容量测试、紧张度测试、使用性测试、安全性测试、性能测试、可靠性测试、恢复测试、文档测试、工序测试。
8.测试计划的内容包括哪些?
解:测试计划一般包括以下内容:
· 每个测试阶段的目的;
· 每个测试阶段完成的标准;
· 时间进度表;
· 每个测试阶段的负责人员;
· 测试用例库;
· 测试所需的工具;
· 测试所需的工具;
· 每个测试阶段所需机时数;
……等。