软件工程理论知识 - 图文(5)

2019-05-17 17:08

2010年软件设计师考试复习资料 (42页完美打印版)

按照程序内部逻辑设计测试用例,检测程序中的主要执行通路是否能按预定要求正常工作。

白盒测试多用于单元测试阶段。逻辑覆盖是主要的白盒测试技术。白盒测试时,确定测试数据应根据程序的内部逻辑和指定的覆盖方式。采用以下几种逻辑覆盖标准: ? 语句覆盖 ? 判定覆盖 ? 条件覆盖

? 判定/条件覆盖 ? 条件组合覆盖 ? 路径覆盖

满足条件组合覆盖测试用例,也一定满足判定条件覆盖。因此,条件组合覆盖是上述五种覆盖标准中最强的一种。 2006年下半年: ? 给定C语句程序

int foo(int x,int y,int d) {

if(x != 0) {

if(y==0)d=d/x; else d=d/(x*y);

}else{

if(y==0)d=0; else d=d/y; }

return d; }

当用路径覆盖法测试时,至少需要设计(31)个测试用例。 (31) A. 3 B.4 C. 5 D.8 2007年下半年:

● 对于如下的程序流程,当采用语句覆盖法设计测试案例时,至少需要设计 (34) 个测试案例。

输入X和Y否Y = Y + XX > 0是Y = Y - X否Y > 0是X = -1X = 1

(34)A. 1 B. 2 C. 3 D. 4 15.4 黑盒测试

黑盒测试,又称为功能测试。把软件看做是一个不透明的黑盒子,完全不考虑(或不了解)软件内部结构和处理算法,它只检测软件功能是否能按照软件需求说明书的要求正常使用,软件是否能适当的接受输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息(例如文件和数据库)的完整性等。

常用的黑盒测试技术包括等价类划分,边值分析、错误推测和因果图等。其中等价类划分和边界值分析法方法最常用。如果两者结合使用,更有可能发现软件中的错误。

共42页 第21页

2010年软件设计师考试复习资料 (42页完美打印版)

15.4灰盒测试

灰盒测试介于白盒测试和黑盒测试之间,它把软件看做是一个半透明的灰盒子,结合考虑软件的内部结构和外部功能设计测试用例 15.5 回归测试

纠正了程序中的错误之后,选择部分或全部原先已测试过的测试用例,对修改后程序重新测试以验证对软件修改后有没有引出新的错误,称为回归测试。 15.6 单元测试

单元测试(Unit testing )也称为模块测试或结构测试,通常可放在编程阶段(实现阶段),主要采用逻辑覆盖技术,由程序员对自己编写的模块自行测试,检查模块是否能实现了详细设计说明书中规定的功能和算法。

单元测试主要发现编程和详细设计中产生的错误。

测试一个模块时需要为该模块编写一个驱动模块和若干个桩(stub)模块。顶层模块测试时不需要驱动模块,底层模块测试时不需要桩模块。

在进行单元测试时,常用的方法是白盒测试(采用逻辑覆盖的测试技术),辅之以黑盒测试。 15.7集成测试

集成测试(integration testing)也称为组装测试,在单元测试的基础之上,把所有的模块组装成一个系统进行测试。主要测试设计阶段产生的错误,集成测试计划应该在概要设计阶段制定。 ? 非渐增式集成测试

? 首先将每个模块分别进行单元测试,再把所有的模块组装成一个完整的系统进行测试。目前在进行集成测试时已普遍采用渐增式集成。 ? 渐增式集成测试

又可以分为自顶向下集成和自底向上集成。自顶向下集成先测试上层模块,再测试下层模块,由于测试下层模块时上层模块已经测试过,所以不必要另外编写驱动模块。自底向上集成,先测试下层模块,再测试上层模块同样。

顶层模块测试时不需要驱动模块,底层模块测试时不需要桩模块。

软件的集成测试最好由不属于该软件开发组的软件设计人员承担,以提高集成测试的效果。 ? 三明治测试

从系统的三个角往中间包围测试的方法。 15.8 确认测试

在系统验收测试中,验证测试是在模拟的环境中进行强度测试的基础上进行,主要依据软件需求说明书检测软件的功能,性能及其他特征是否与用户的要求一致,而确认测试是在一个实际环境中使用真实数据运行系统。

确认测试计划应该在需求分析阶段制定。 ? α测试

由用户在开发者的场所进行,并且在开发者的指导下进行测试。开发者负责纪录发现的错误和使用中遇到的问题,也就是说α测试是在受控的环境中进行的。

? β测试是在一个或多个用户的现场由该软件的最终用户实施的,开发者通常不在现场,用户负责记录发现的错误和使用中遇到的问题并把这些问题报告给开发者。也就是说,β测试是在受控的环境中进行的。经过确认测试之后的软件通常就可以交付使用了。 15.9 系统测试

系统测试是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。

包括以下的测试:

? 恢复测试:监测系统的容错能力

? 安全性测试:监测系统的安全机制、保密措施是否完善等防范能力。 ? 强度测试:测试软件的异常情况的处理能力。

? 性能测试:监测系统系统是否满足系统设计方案说明书对性能的要求。

? 可靠性测试:从平均失效间隔是否超过了规定的时限,因故障而停机的时间在一年中不应超过的时间来进行检测。 ? 安装测试:监测软件在安装过程中是否有错误、是否容易操作等。

共42页 第22页

2010年软件设计师考试复习资料 (42页完美打印版)

注意:系统测试计划在需求分析阶段制定。 2006年下半年:

●软件的测试通常分为单元测试、组装测试、确认测试、系统测试四个阶段进行。(32)属于确认测试阶段的活动。 (32)A.设计评审 B.代码审查 C.结构测试 D.可靠性测试 十六.软件工程标准和软件文档

GB/T8566-2001,GB/T12504-1990,GB/T12505-1990是我国现阶段最重要的三个软件开发规范标准。

国家标准局1988年1月批准并发布的《GB/T8567-1988计算机软件产品开发文件编制指南》规定在一项软件开发过程中应该产生14中文件

可行性研究报告 操作手册 项目开发计划 模块开发卷宗 软件需求说明书 测试计划 数据要求说明书 测试分析报告 概要设计说明书 开发进度月报 详细设计说明书 项目开发总结报告 数据库设计说明书 软件运行和维护基础知识用户手册

管理人员主要使用:项目开发计划、可行性研究报告、模块开发卷宗、开发进度月报、项目开发总结报告。 开发人员:项目开发计划、可行性研究报告、软件需求说明书、数据要求说明书、数据库设计说明书、概要设计说明书、详细设计说明书、测试计划、测试分析报告。

维护人员:概要设计说明书、详细设计说明书、数据库设计说明书、模块开发卷宗、测试分析报告、维护报告。 用户:用户手册、操作手册。

2006年下半年:

●(29)详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。

(29)A.概要设计说明书 B.详细设计说明书 C.用户手册 D.用户需求说明书 十七. 软件维护

用于软件维护的花费约为整个软件生命周期花费的75%(或60%~80%之间)而且还在逐年上升。 17.1 软件维护类型

根据引起软件维护的原因,软件维护可分为以下四种类型

(1) 改正性维护: 使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动 (2)适应性维护: 为了适应环境的变化而修改软件的活动

(3)完善性维护: 为了扩充或完善原有软件的功能或性能而修改软件的活动。

(4) 预防性维护: 预防性维护是指为了提高软件的可维护性和可靠性,为未来的进一步改进打下基础而修改软件的活动。

2006年下半年:

● 各类软件维护活动中,(30)维护占整个维护工作的比重最大。 (30) A.完善性 B.改正性 C.适应性 D.预防性 17.2 软件的可维护性

通常影响软件可维护性的因素有可理解性,可测试性和可修改性。 (1)可理解性

可理解性是指维护人员理解软件的结构,接口,功能和内部过程的难易程度。采用良好的编程风格有助于提高软件的易理解性。

(2)可测试性: 可测试性是指测试和诊断软件错误的难易程度。 (3)可修改性 : 可修改性是指修改软件的难易程度。 怎样提高软件的可维护性?

共42页 第23页

2010年软件设计师考试复习资料 (42页完美打印版)

? 在软件生命周期的各个阶段都必须充分考虑维护问题。

? 结构化设计的几条主要原则,如模块化,信息隐藏,高内聚,低耦合等,对于提高软件的可理解性,可测试性和可修改性也都有重要的作用。

? 书写详细正确的文档,书写源文件的内部注解,使用良好的编程语言,具有良好的程序设计风格,也有助于提高软件的可理解性。

? 使用先进的测试工具,保存以前的测试过程和测试用例,则有助于提高软件的可测试性。 十八.软件的可靠性

在给定的时间内,在给定的环境条件下系统完成所指定工作的概率。 衡量的标准是:平均失效等待时间MTTF和平均失效间隔时间MTBF。

软件工程练习题

1.软件测试在软件生命周期中横跨两个阶段,单元测试(模块测试)通常在__A__阶段完成。单元测试主要采用__B__技术,一般由__C__完成。测试一个模块时需要为该模块编写一个驱动模块和若干个__D__。渐进式集成测试是将单元测试和集成测试合并到一起,__E__集成测试中不必编写驱动模块。

A ①设计 ②编程 ③测试 ④维护

B ①逻辑覆盖 ②因果图 ③等价类划分 ④边值分析 C ①课题负责人 ②编程者本人 ③专业测试人员 ④用户 D ①被测模块 ②上层模块 ③桩模块 ④等价模块 E ①自顶向下 ②自底向上 ③双向的 ④反向的

共42页 第24页

2010年软件设计师考试复习资料 (42页完美打印版)

2.版本控制包括版本管理、系统发行、版本标志和发行管理。其中,__A__是指对系统不同版本进行标志和跟踪的过程,__B__是指系统发行策略的制定和执行。

A~B①版本管理 ②系统发行 ③版本标志 ④发行管理

3.软件质量保证的主要困难在以下几个方面:软件开发管理人员更关心项目开发的 1 ,而没有太高的热情去控制开发的 2 ;开发人员的习惯一旦形成,难以改变,他们的行为往往 3 ;不同开发人员对问题的不同认识 4 ;项目组中骨干开发人员的 5 等。 1.A.成本和进度 B.规范化 C.质量 2.A.费用 B.时间 C.效率

D.性能价格比

D.应该信任

D.可频繁交流 D.认证资格

D.质量

3.A.易于控制 B.难于控制 C.无需控制 5.A.密切合作 B.难于独立 C.频繁流失

4.A.易于沟通 B.难于及时消除 C.应该保留

4.用来辅助软件维护过程中的活动的软件称为软件维护工具。其中,用来存储、更新、恢复和管理软件版本的工具为 A 工具,用来对软件开发过程中形成的文档进行分析的工具称为 B 工具,用来维护软件项目开发信息的工具称为 C 工具,用来辅助软件人员进行逆向工程活动的工具称为 D 工具,用来支持重构一个功能和性能更为完善的软件系统的工具称为 E 工具。

A~E:1.再工程工具 2.软件配置工具 3.版本控制工具 4.集成工具 5.开发信息库工具 6.项目管理工具 7.软件评价工具 8.逆向工程工具 9.静态分析工具 10.文档分析工具

5.确定算法是解决问题的关键步骤之一。算法的计算工作量大小和实现算法所需的存储单元多少,分别称为计算的_A_和_B_。编写程序时,_C_和_D_是应采纳的原则之一。 _E_是调试程序的主要工作之一。 供选择的答案

A、 B:①可实现性 ②时间复杂度 ③空间复杂度 ④困难度 ⑤高效性 ⑥计算有效性 C: ①程序的结构化 ②程序越短越好 ③尽可能节省存储单元 ④尽可能减少注解行

D: ①使用有实际意义的名字 ②使用长度短而无实际含义的名字③表达式中尽量少用括号④尽量使用化简了的逻辑表达式 E: ①调度 ②证明程序正确 ③人员安排 ④排错

6.软件测试的目的是__(16)__,通常可分为白盒测试和黑盒测试。白盒测试是根据程序的__(17)__来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。常用的黑盒测试方法有边值分析、等价类划分、错误猜测、因果图等。其中,__(18)__经常与其它方法结合起来使用。软件测试的步骤主要有单元测试、集成测试和确认测试。如果一个软件作为产品被许多客户使用的话,在确认测试时通常要经过α测试和β测试的过程。其中,α测试是__(19)__进行的一种测试。在软件设计和编码时,采取 __(20)__等措施都有利于提高软件的可测试性。

(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.书写详细正确的文档,采用良好的程序结构 7.软件是一种 (2) 的产品。为了软件产业的健康发展,应对软件产品的 (3) 进行保护。 (2) A、易复制 B、易损坏 C、易开发 D、易使用 (3) A、 技术 B、版权 C、开发 D、使用说明 8.白盒测试方法一般适合用于 (21) 测试。

(21) A、单元 B、系统 C、集成 D、确认

9.瀑布模型(Waterfall Model)突出的缺点是不适应 (22) 的变动。 (22) A、算法 B、平台 C、程序语言 D、用户需求 10.在数据流图中,

表示 (23) ,

表示 (24) 。

(23) A、加工 B、外部实体 C、数据流 D、存储 (24) A、加工 B、外部实体 C、数据流 D、存储 11.结构化分析方法(SA)的一个重要指导思想是 (25) 。

共42页 第25页


软件工程理论知识 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国互联网发展状况第二十七次调查报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: