您的当前位置:首页正文

软件质量保证与测试考试复习资料

2020-07-27 来源:易榕旅网
优质文本

第一章 软件质量

1.软件定义:软件是计算机系统中与硬件相互依存的另一局部,它是程序、数据及相关文档的集合。【简答】 2.软件特点

a.软件是开发产生的,而不是用传统方法制造的; b.软件不会像硬件一样有磨损;

c.很多软件不能通过已有构件组装,只能自己定义。

3.软件分类:按照使用范围不同,把软件划分为工程软件和产品软件。 4.IEEE软件缺陷的定义

a.从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题; b.从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。 5.软件缺陷产生的原因 a.工程期限的压力; b.产品的复杂度; c.沟通不良;

d.开发人员的疲劳、压力或受到干扰; e.缺乏足够的知识、技能和经验; f.不了解客户的需求; g.缺乏动力。

6.IEEE的软件质量定义【简答】

a.系统、部件或过程满足规定需求的程度;〔Crosby 1979〕

b.系统、部件或过程满足顾客或客户需求/期望的程度。(Juran 1988)

7.Pressman的软件质量定义:符合明确陈述的功能/性能需求、明确文档化了的开发标准和所有专业开发预期的隐含特性。【简答】

8.Crosby, Juran, Pressman软件质量定义的比拟 【根本原理和方法】 (必考)

a.Crosby的定义指的是写好的软件符合由顾客和它的专业组编制的规格说明书的程度。这也意味着包含在规格说明中的错误是不予考虑的,也不降低软件质量—显然这是缺乏的。[1分]

b.Juran的定义旨在到达顾客满意度,这就要求对检查改正顾客的需求规格书投入大量工作。但该定义的主要缺点是免除了顾客对软件规格书准确性、完备性的责任。[1分]

c.Pressman定义为SQA提出了要由开发者满足的三个要求:特定功能需求,它主要是指软件系统的输出;在合同中提出的软件质量标准;反映当今水平的专业方法的良好软件工程方法的开展水平。实际上,Pressman定义提供了测试满足需求程度的操作方向。[2分] 9.软件质量的内容;各维度下软件质量标准

a.产品质量,它的软件质量标准有McCall 模型,Boehm 模型, ISO 9126 模型; b.过程质量,它的软件质量标准有软件能力成熟度模型 CMM,国际标准过程模型 ISO 9000,软件过程改良和能力决断 SPICE。 10.MaCall软件质量模型

1 / 18

优质文本

11.应用 MaCall模型分析软件质量 参考试卷

MaCall软件质量模型中软件质量维度;各个维度软件质量因子的定义 【简答】{【根本原理和方法】McCall软件质量模型的软件质量维度;各质量维度下软件质量因素有哪些?} a.产品运行维度:

正确性:一个程序满足它的需求规约和实现用户任务目标的程度。 可靠性:一个程序满足其所需的精确度,完成它的预期功能的程度。 效率:一个程序完成其功能所需的计算资源和代码的度量。 完整性:对未授权人员访问软件或数据的可控制程度。

实用性:学习、操作、准备输入和解释程序输出所需的工作量。 b.产品修改维度:

可维护性:定位和修复程序中一个错误所需的工作量。

可测试性:测试一个程序以确保它完成所期望的功能所需的工作量。 灵活性:修改一个运行的程序所需的工作量。 c.产品转移维度:

可移植性:把一个程序从一个硬件或软件系统环境移植到另一个环境所需的工作量。 可重用性:一个程序可以在另外一个应用程序中重用的程度。 互操作性:连接一个系统和另一个系统所需的工作量。 12.软件质量管理的内容 【简答】 a.软件质量保证(Quality Assurance)

建立起机构质量规程和标准的整体框架,这是生产高质量软件的保证。 b.软件质量规划(Quality Planning)

从这个框架中选择适当的质量规程和标准,进行改写使之适应特定软件工程。 c.软件质量控制(Quality Control)

定义并设计软件过程,确保软件开发团队严格遵守工程质量规划和标准。 d.软件质量改良

14.软件质量本钱的定义、构成 【简答】 定义:质量本钱是为确保和保证满意的质量而发生的费用以及没有到达满意的质量所造成损失的总和,即包括保证费用和损失费用。

2 / 18

优质文本

构成:

质量本钱=质量保证本钱+损失本钱

质量保证本钱:为保证满意的质量而发生的费用 损失本钱:没有到达满意的质量所造成损失 质量本钱=质量预防本钱+评价本钱+失效本钱 保证本钱=预防本钱+评价本钱

预防本钱:预防产生质量问题〔软件缺陷〕的费用,是企业的方案性支出,专门用来确保在软件产品交付和效劳的各个环节不出现失误。

评价本钱:是指在交付和效劳环节上,为评定软件产品或效劳是否符合质量要求而进行的试验、软件测试和质量评估等所必需的支出。

失效本钱:分为内部的和外部的,如果在软件发布之前发现质量问题,而要求重做、修改和问题分析所带来的本钱属内部失效本钱,包括修正软件缺陷、回归测试等,以及因产品或效劳不合要求导致的延误。

15.软件质量标准的益处、分类〔包括认证标准和评估标准〕

{按照软件质量标准的内容和重点,把软件质量标准划分为认证标准和评估标准。【简答】} 益处:

a.有能力应用最高专业级别的软件开发与维护方法学和规程;

b.开发组之间、尤其是开发与维护组之间更好的互相理解与协作; c.软件开发者和外部参与方之间更大的合作;

d.基于采用著名开发与维护标准作为合同的一局部,使供货商和顾客之间能更好地互相理解与合作。 认证标准:

认证标准的范围是由认证的目确实定的,其目的在于:

a.使软件开发机构能够证实其有能力确保软件产品或维护效劳符合可接受的质量需求。这是通过一个外部的实体做出认证实现的;

b.用作顾客和供货商对供货商的质量管理系统评价一致性的根底。它可以通过由顾客实施的对供货商的质量管理系统的质量审计实现;

c.支持软件开发机构的工作,通过符合标准的需求来改良质量管理系统性能和增强顾客满意度。 评估标准:

a.用做软件开发与维护机构对其进行软件开发工程的能力的自我评估工具; b.用做改良开发与维护过程的工具,标准指出过程改良的方向; c.帮助采购机构确定潜在供货商的能力;

d.通过罗列资格认证与培训方案课程,指导评估人员的培训。 16.ISO 9000-3质量管理系统的根本原理 【根本原理和方法】

a.顾客关注。机构依靠它们的顾客,所以应当理解当前的与未来的顾客需要; b.领导--建立并维护一个积极的内部环境中行使领导权,以实现机构的目标;

c.人们的投入。人是机构之本,他们在各机构层次的全身心投入使得他们的能力能用于为机构谋益;

d.过程方法--当把活动与资源作为过程管理的时候,就更有效地到达理想的结果; e.管理理的系统方法--把过程作为一个系统管理;

f.持续改良--对全面性能正在进行的改良应当在机构的日程上优先; g.决策制定的实在方法。有效决策是建立在信息分析的根底上的;

h.相互支持的供货商关系。一个机构和它的供货商是互相依赖时,相互支持的供货由关系增

3 / 18

优质文本

强双方创造增加值的能力。

ISO 9000-3质量管理标准的认证过程 {【根本原理和方法】如何通过ISO 9000-3标准认证?} a.制订获得认证的活动方案 b.建立机构SQA系统

c.接受认证审计 d.维持ISO认证的规程

18.软件过程能力、软件过程成熟度、软件过程能力成熟度等级的定义【简答】

软件过程能力:描述开发组织或工程组遵循其软件过程能够实现预期结果的程度,它既可对整个软件开发组织而言,也可对一个软件工程而言。

软件过程成熟度:一个特定软件过程被明确且有效地定义、管理、测量和控制的程度。 软件过程能力成熟度等级:软件开发组织在走向成熟的途中几个具有明确定义的表示软件过程能力成熟度的平台。

19.CMM的根本思想、作用、内容〔即软件过程成熟度等级的划分,各等级下软件过程的特点〕 {【根本原理和方法】CMM的根本思想CMM软件质量等级} 思想:

a.由于软件危机等问题是由我们管理软件过程的方法不当引起的,所以新软件技术的应用并不会自动提高软件的生产率和质量。

b.能力成熟度模型有助于软件开发机构建立一个有规律的、成熟的软件过程。改良的软件过程将开发出更高质量的软件,使更多的软件工程免受时间和经费超支之苦。 作用:

a.指导软件机构通过确定当前的过程成熟度并识别出对过程改良起关键作用的问题,从而明确过程改良方向和策略。

b.通过集中开展过程改良的方向和策略相一致的过程改良活动,软件机构便能稳步而有效的改良其软件过程,使其软件过程能力得到循序渐进的提高。

c.对软件过程的改良,是在完成一个又一个小的改良根底上不断进行的渐进过程,而不是一蹴而就的彻底革命。 内容:

CMM把软件过程从无序到有序的进化过程分成5个阶段,并把这些阶段排列形成5个逐层提高的等级,如下列图所示:

初始级:软件过程是无序的,有时甚至是混乱的,对软件过程几乎没有定义,软件工程成功与否取决于个人努力。

可重复级:建立了根本的工程管理过程(过程模型),可跟踪本钱、进度和质量特性。已经建

4 / 18

优质文本

立了必要的过程标准,能重复早先类似工程的实践经验成功完成新工程。 到达2级的一个目标是使工程管理过程稳定,从而使得软件机构能重复以前在成功工程中所进行过的软件工程工程实践。

处于第2级成熟度的软件机构的过程能力可以概括为: 软件工程的筹划和跟踪是稳定的,已经为一个有纪律的管理过程提供了可重复以前成功实践的工程环境。软件工程工程活动处于工程管理体系有效控制之下,执行着基于以前工程准那么且符合现实的方案。

已定义级:已经定义了完整的软件过程,软件过程已文档化、标准化。所有工程均使用经批准的、文档化的标准软件过程来开发和维护软件。这一级别包含第2级的全部特征。

在第3级成熟度的软件机构中,有一个固定的过程小组从事软件过程工程活动。当需要时,过程小组可以利用过程模型进行过程例化活动,还可以推进软件机构的过程改良活动。 在该机构内实施了培训方案,能够保证全体工程负责人和开发人员具有完成承当的任务所要求的知识和技能。

处于第3级的软件机构的能力成熟度可以概括为: 无论是管理活动,还是工程活动都是稳定的。软件开发本钱和进度以及产品的功能都受到控制,而且软件产品质量具有可追溯性。

已管理级:软件机构对软件过程、软件产品都建立了定量的质量目标,所有工程的重要过程活动都是可度量的。该机构收集了过程度量和产品度量的方法并加以运用,对软件过程和产品都有定量的理解与控制。

这一级包含了第3级的全部特征。

处于第4级的软件机构的能力成熟度可以概括为:

处于4级成熟度的软件机构,软件过程是可度量的,软件过程在可度量的范围内运行。 这一级的过程能力允许软件机构在定量的范围内预测过程和产品质量趋势,在发生偏离时可以及时采取措施予以纠正,并且可以预期软件产品是高质量的。 优先级:处于5级的软件机构的能力成熟度可以概括为: 软件过程是可优化的。这一级别的软件机构能够持续不断的改良其过程能力,既对现行的过程实例不断改良和优化,又借助所采用的新技术、新方法来实现未来的过程改良。 第二章 软件缺陷

1.软件缺陷的定义、属性: 定义:

a.从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题; b.从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。 属性:

属性名称 缺陷标识(Identifier) 缺陷类型 (Type) 缺陷严重程度(Severity) 缺陷优先级(Priority) 缺陷状态(Status) 缺陷起源(Origin) 缺陷来源(Source) 缺陷根源(Root Cause) 缺陷摘要 (Summary) 描述 缺陷标识是标记某个缺陷的一组符号。每个缺陷必须有一个唯一的标识。 缺陷类型是根据缺陷的自然属性划分的缺陷种类。 缺陷严重程度是指因缺陷引起的失效对软件产品的影响程度。 缺陷的优先级指缺陷必须被修复的紧急程度。 缺陷状态指缺陷通过一个跟踪修复过程的进展情况。 缺陷起源指缺陷引起的失效或事件第一次被检测到的阶段。 缺陷来源指引起缺陷的起因。 缺陷根源指发生错误的根本因素。 用一句话概要地描述缺陷的现象 5 / 18

优质文本

缺陷描述 (Description) 指定的负责人 (owner/assignee) found in fixed in 详细的描述缺陷重现的环境、前置条件、步骤、期望结果、实际结果等。 通常是负责修复该缺陷的开发人员,在有的系统中也支持开发人员修复好缺陷修改其在缺陷跟踪系统中的状态后把它指定〔assign〕给相关的测试人员。 缺陷被发现的版本 缺陷被修复的时候由开发人员填写。 解决方法〔 resolution 〕 由开发人员修复缺陷的时候填写。 verified in 反映缺陷的修复在哪个版本被验证了 附件〔 attachment 〕 2.软件缺陷生存周期规律 【根本原理与方法】

附加的屏幕截图、效劳器或客户端日志等相关文件,便于开发人员定位缺陷的原因。

3.常见的软件缺陷度量指标 a.缺陷数量 b.缺陷消除率 c.缺陷潜伏期 d.缺陷损耗 e.缺陷密度

4.缺陷消除率、缺陷潜伏期、缺陷密度

6 / 18

优质文本

5.常用的软件缺陷管理系统 BugFree 开源软件 BugZilla 开源软件 IBM Rational ClearQuest TestDirector

第三章 软件度量

1.软件度量、软件测量的定义 【简答】

软件度量(Metrics)是指对软件产品、软件开发过程或者资源等对象的简单属性的定量描述。 软件测量(Measure)是对软件产品、软件开发过程和资源复杂属性的定量描述,它是简单属性度量值的函数,软件测量用于事后或实时状态, 如软件可靠性。 2.为什么需要软件度量?

a.任何工程化的工作都需要度量,软件工程也不例外 准确了解工程的实施情况 b.工程实施之前

辅助制定软件工程的方案

估算本钱和工作量,以便制定方案 c.工程实施过程中

提供软件开发的可视性 跟踪和控制软件工程的开发

评估软件开发质量,进行质量控制 加强风险管理 d.工程实施之后

对工程的实施情况进行评估 为后续工程的积累经验数据 3.软件度量的内容 a.三个方面

产品:各种文档和程序 过程:各种软件开发活动

资源:各种资源如人员、费用等 b.二个层次 内部属性

软件产品,过程和资源本身所具有属性,如软件产品的复杂度、程序长度等 易于度量 外部属性

软件产品,过程和资源与外部环境(用户、管理人员等)间的关系如本钱、效益、可靠性、可维护性等

难以度量,但由内部属性所决定 4.软件度量的方法 【简答题】

7 / 18

优质文本

a.面向规模的度量 b.面成功能的度量

c.工程本钱和工作量估算 d.软件质量度量

5.比拟面向规模的度量和面向功能的度量 {【根本原理和方法】评价代码行技术和功能点方法}

面向规模的度量:

优点:简单易行,自然直观

缺点:依赖于程序设计语言的表达能力和功能

软件开发初期很难估算出最终软件的代码行数 对精巧的软件工程不适宜 只适合于过程式程序设计语言 面向功能的度量:

优点:与程序设计语言无关, 在开发前就可以估算出软件工程的规模(事前) 缺乏:没有直接涉及算法的复杂度,不适合算法比拟复杂的软件系统 功能点计算主要靠经验公式,主观因素比拟多 数据不好采集

6.软件规模估算、工作量估算和本钱估算之间的关系 a.软件工程本钱和工作量估算极为重要

b.计算机系统中软件本钱占总本钱的比例很大

c.用户和工程管理人员对软件本钱和工作量估算都很重视 d.软件工程本钱估算比拟困难

e.软件是逻辑产品,软件开发是一个逻辑思维的过程 f.涉及多方面因素

g.软件工程本钱和工作量估算常用方法 h.参照和依据已完成工程的历史数据 i.将大工程分解为小工程

j.将工程按照软件生命周期分解 k.根据经验估算公式

l.上述方法可以同时、单独或者组合使用 7.McCall软件质量度量体系: 质量要素:

定义了与软件质量相关联的一些要素 质量要素的评价准那么:

定义了能够对质量要素进行度量的一些准那么 软件质量度量:

定义了如何基于对质量要素的定量描述对软件质量进行度量的方法 8.软件度量的定义及作用 定义:

软件度量是对软件开发工程、过程及其产品进行数据定义、收集以及分析的持续性定量化过程。 作用:

a.通过软件度量增加理解;

b.通过软件度量管理软件工程,主要是方案和估算、跟踪和确认;

8 / 18

优质文本

c.通过软件度量指导软件过程改善,主要是理解、评估和包装。软件度量对不同的实施对象,具有不同的效用。 9.软件度量的内容

按照度量主题划分,包括产品度量、过程度量、资源度量 。 10.软件度量的层次

内部度量,外部度量。

11.简要描述软件本钱估算的过程

规模度量-->工作量估算-->本钱估算 12.比拟功能点方法和代码行方法 功能点方法:

a.“功能〞不能直接度量,需要依靠其他度量结果导出 b.功能点度量涉及多种因素 c.工程开发初期就可估算出

d.功能点计算目前主要基于经验公式 代码行方法:

优点是简单易行、自然直观。 缺点:

依赖于程序设计语言的表达能力和功能;

软件开发初期很难估算出最终软件的代码行数 对精巧的软件工程不适宜 只适合于过程式程序设计语言

13.CoCoMo模型的三个层次 【简答】

a.根本CoCoMo模型,系统开发的初期,估算整个系统的工作量(包括维护)和软件开发和维护所需的时间;

b.中间 CoCoMo模型,估算各个子系统的工作量和开发时间;

c.详细 CoCoMo模型,估算独立的软构件,如各个子系统的各个模块的工作量和开发时间。 第四章 软件质量保证

1.软件质量保证的定义 【简答】 一个有系统的、有方案的行动集合,它提供软件产品开发、维护过程符合已建立的技术需求、跟上方案安排和在预算限制之内进行管理上的需求充分信任所必需的。〔Daniel〕 2.软件质量保证体系结构〔其中包含哪些 SQA部件;各SQA 部件之间的关系〕 包含的SQA部件:【根本原理和方法】 工程前SQA部件

工程生命周期SQA部件 SQA根底设施部件 软件质量管理部件

标准化、认证和评估部件 SQA组织部件

各SQA 部件之间的关系:

SQA总是由一系列范围很宽的SQA部件组成,这些部件都被用来挑战软件错误的各种来源,并到达可接受的水平的软件质量。

SQA的任务在质量保证任务领域中是独特的,这是由软件的特性决定的。 此外,进行软件开发与维护的环境直接影响SQA部件。

9 / 18

优质文本

3.工程前SQA 部件——建议草案评审、合同草案评审、工程开发方案、软件质量方案等。【根本原理和方法】

4.软件生存周期 SQA 部件——软件设计评审、专家观点、同行评审、软件测试、软件维护,以及针对外部参与方的质量保证措施等 【根本原理和方法】 5.软件质量根底设施部件 a.软件维护规程和工作条例; b.支持性软件质量手段; c.维护组的培训和认证; d.预防性和改正性措施; e.配置管理;

f.软件维护文档和质量纪录。 6.软件质量管理部件

a.性能控制—通过定期报告、定期员工会议和访问维护支持中心来实现; b.改正性维护的质量度量; c.改正性维护的质量费用;

d.完善性维护和适应性维护的管理性工具主要应用于软件控制开发工程使用。 7.软件标准——认证标准和评估标准;常见的软件标准 认证标准:ISO 9000-3标准 评估标准:SEI CMM评估标准 8.软件质量保证组织部件 a.Management 管理

b.SQA Unit软件质量保证单元

c.SQA Trustees软件质量保证委托人 d.SQA Committees 软件质量保证委员会 e.SQA Forums 软件质量保证座谈会

9.适用外部参与方使用的质量保证部件 【根本原理和方法】

应用于外部参与方大多数SQA控制是在有关各方之间签署的合同中规定的。 10.规程和工作条例之间的关系

11.为什么需要定义规程和工作条例

a.以最有效、高效的方式执行任务、过程或活动,而不偏离质量需求;

b.软件系统开发与维护所涉及人员之间的有效、高效的交流。执行的统一性、到达符合规程与工作条例,较少导致软件出错的错误理解。

c.简化机构中各种实体执行的任务与活动之间的协调。较好的协调意味着较少的错误。

10 / 18

优质文本

12.模板的定义、作用 {【简答】模版的定义} 定义:

在软件工程领域,模板指的是小组或机构创立的用于编辑报告和其他形式文档的格式。 作用:

对于开发组:

a.方便文档的编制过程,因为节省了详细构建报告结构所需的时间和精力。大多数机构许可从SQA公共文件拷贝或者从机构的企业内部网下载模板,这样甚至可以不用键入新文档的目录。

b.确保开发人员编制的文档更完善,因为文档中的所有主题都已经定义好了,并且被使用这此模板的大量专业人员反复评审过。不太可能发生诸如漏掉主题这样的常见错误。

c.新组员的参加更容易,这是因为对模板熟悉。由于新成员已经在其他机构单位或小组工作过,他们从前面的工作中可能已经了解模板,而文档的标准结构是根据模板编制的,从而寻找信息变得简单得多。它同样可以使正在进行的文档编制工作顺利,不管编制了文档某些局部的那位小组成员是否已经离开。

d.方便文档评审,如果文档是基于一个适宜的模板建立的,就不需要研究文档结构和确定其完备性。它同样简化已完成文档的评审工作,因为文档的结构是标准的,并且评审者熟悉评审的预期内容(章、节和附录)。出于这种一致性.评审将会更彻底而又不那么费时。 对于软件维护组:

更容易找到执行维护任务所需的信息。 13.对于员工进行培训和认证,其目标是什么?

a.使新员工均掌握以足够的效率与有效性水平执行软件开发和维护任务所需的知识与技能; b.这种培训有利于新小组成员的融入;

c.通过传授风格、结构规程和工作条例,确保软件产品(文档和代码)同机构标准相符; d.和同机构风格、结构规程及工作条例的符合性; e.传播SQA规程的知识;

f.确保关键软件开发和维护职位的候选者是有适宜资格的。 14.培训和认证的实施过程

a.确定每个职位的专业知识要求; b.确定专业培训和更新需要; c.方案专业培训工程; d.方案专业更新工程。 e.确定需要认证的职位; f.方案认证过程;

g.发布培训、更新、认证工程; h.跟踪已培训和已认证人员。

15.改正性措施和预防性措施的定义 【简答】

改正性措施:一个常规使用的反应过程,包括质量不符合性信息收集、非常规源的识别和分析以及改良的习惯做法与规程的建立和吸收,连同对它们约执行的控制和对它们的结果的测量。

预防性措施:一个常规使用的反应过程,包括潜在质量问题信息的收集、偏离质量标准的识别与分析以及改良的习惯做法与规程的建立与吸收,连同对它们执行的控制和对它们的结果的测量。

16.软件配置、软件配置管理的定义 【简答】 软件配置是软件生存周期各个阶段活动的产物。

11 / 18

优质文本

软件配置管理是一个负责应用(计算机化的或非计算机化的)技术工具和管理规程、使之能够完成为维护SCI和软件配置版本所需任务的SQA部件。 17.软件配置管理的工作内容、作用 【根本原理与方法】 a.控制软件更改;

b.发布SCI和软件配置版本; c.提供SCM信息效劳;

d.验证对SC规程的符合性。 18.版本控制的定义

版本控制是软件配置管理的核心内容。

版本控制将各软件配置项纳入到配置库之中,为每一个配置项自动赋予版本标识,使得各软件配置项都根据既定的版本控制策略独立演化。 19.常见的软件配置管理工具

a.简单的版本配置工具,例如Microsoft Visual SourceSafe〔VSS〕、Concurrent Version System〔CVS〕等;

b.工程级配置管理工具,适合中小型企业,例如PVCS、MKS;

c.企业级配置管理工具,具有强大的版本控制和管理能力,适合中大型软件企业,包括CCC Harvest、IBM Rational ClearCase等。

20.软件配置管理的过程 图在第四章PPT_66页

21.软件质量保证体系中的管理部件——工程进度控制、软件质量度量、软件质量费用、软件风险管理 【根本原理与方法】 22.软件风险管理过程

23.软件风险控制方法——风险防止、风险弱化、风险承当、风险转移 【简答】【根本原理与方法】

风险防止:通过变更方案消除使得风险的触发条件无法满足; 风险弱化:降低风险发生的概率; 风险承当:制定风险应急预案;

风险转移:将风险发生的结果连同应对责任转移给有承受能力的第三方。 24.软件质量度量的分类:按照软件生存周期规律划分;按照测量主题划分 第一种分类,依据软件系统的生命周期和其他阶段进行划分: 过程度量〔process metrics〕,与软件开发过程相关; 产品度量〔product metrics〕,与软件维护相关。 第二种分类,按照测量主题划分: 质量

12 / 18

优质文本

进度表

有效性〔关于错误派错和维护效劳〕 生产率

25.软件开发过程度量包括:软件过程质量度量、软件过程进度度量、软件过程生产率度量 a.软件过程质量度量: 错误密度度量 错误严重性度量 过程排除有效性度量 b.软件过程进度度量 c.软件过程生产率度量

26.软件质量保证组织的目标

a.软件质量保证工作是有方案进行的。

b.客观地验证软件工程产品和工作是否遵循恰当的标准、步骤和需求。 c.将软件质量保证工作及结果通知给相关组别和个人。

d. 高级管理层接触到在工程内部不能解决的不符合类问题。 e.软件质量需要全面的测试工作来保证。

第五章 软件风险管理 {【简答】软件风险管理} 1.软件风险的定义、特点及分类法 定义:软件风险是使软件工程的实施受到影响和损失、甚至导致失败的、可能会发生的事件。 特点:

a.事先难以确定

b.带来损失,影响工程实施,甚至会导致工程失败。 分类法:

从风险的范围角度上看,可将风险分为三种类型:

a.工程风险:潜在的工程预算、进度、人员、资源、用户和需求等方面的问题。

b.技术风险:实现和交付产品过程中所应用的各种技术所包含的风险。技术的正确性、不确定性、复杂性、技术陈旧等因素都可带来技术风险。

c.商业风险:与市场、企业产品策略等因素有关的风险。 从风险可预测的程度来看,可将风险分为以下三种类型:

a.风险:通过评估工程方案、工程的商业和技术环境以及其它可靠的信息来源之后可以发现的那些风险。

b.可预测风险:能够从过去的工程经验中推测出的风险。

c.不可预测风险:事先很难识别出来的风险。 2.简要描述软件风险管理过程

风险评估:风险识别、风险分析、风险优先级 风险控制:风险管理方案、风险化解、风险监控 3.常见的软件风险控制方法 风险管理方案:针对各个重要风险制定风险管理方案,确保各个单独的风险管理方案之间以及它们与相互方案之间的一致性。

风险化解:执行风险管理方案,以缓解或消除风险。

风险监控:监控风险化解的过程,可能会识别出新的风险。

13 / 18

优质文本

4.简要描述常用的软件风险管理策略? a.危机管理

救火模式,风险造成麻烦后才着手进行处理 例如,小谢离开公司1个月后,其他小组需要小谢所负责子系统的模块以便进行集成和测试,但是相关代码还没写,此时已经影响其他小组方案和工程进度,为此抽调其他人接替小谢工作 b.失败处理

发觉到了风险之后采取措施,但只是在风险发生之后 例如,小谢出走的第二天,公司决定抽调其他人员来接替 c.风险缓解

识别了风险,并且事先制定好风险发生后的补救措施,但是不做任何防范措施。 例如,知道不好事件可能会发生,等它发生。小谢要走,小张接替 d.风险预防

将风险识别和风险防范作为软件工程的一局部加以规划和执行

例如,知道哪些不好事件可能会发生,制定好了万一发生的应对措施,同时采取措施防止它发生。

小谢要走,小张接替,同时和小谢商量,做工作,能否等到工程完成之后再走 e.消灭根源

识别和消除可能产生风险的根源

例如,知道哪些不好事件可能会发生,制定好了万一发生的应对措施,同时采取措施消除风险根源,杜绝风险的发生

小谢要走,小张接替,同时给小谢提供更多的学习时机

5.常用的风险识别方法包括检查表法、德尔菲法、头脑风暴法、情景分析法

6.风险评估的工作内容包括 a.评估风险发生的概率;b.评估风险造成损失的大小;c.计算风险危险度。

第六章 软件缺陷管理

1.软件配置项是软件配置管理的对象。一个软件配置项是工程中一个特定的、可文档化的工作产品集。

2.软件配置管理是指一套管理软件开发和维护过程中所产生的各种中间软件产品的方法和规那么。

3.软件配置库是存放配置项的数据库。

4.基线是已经通过正式技术评审的某种产品,可以作为进一步开发的根底,并且只能通过正式的变更控制而改变。

5.工作空间是为开发人员提供独立的工作空间。

6.变更控制是通过结合人为的规程和自动化工具,以提供一个变化控制的机制。 7.版本控制是对系统不同版本进行标识和跟踪管理的过程,是SCM的核心。 8.配置管理方针〔包括版本方针和变更管理方针〕 【简答】 a.版本方针,包括严格-单一活动版本方针、多版本方针。

b.更改方针,平衡折中方针只批准以小局部有价值的更改,重点放在最重要的、最有益的更改,比起批准每个更改请求的那种“宽容〞更改方针更可取。 9.检入将软件配置项从用户的工作环境存入到软件配置库的过程。 10.检出将软件配置项从软件配置库中取出的过程。

11.版本树文件和目录的版本演化的历史可以形象的表示为版本树。

12.在工程开发过程中,软件配置库可分开发区、受控区和测试区三个区域,其各自存放的

14 / 18

优质文本

内容及存取的规定为:

a.开发区:开发区存放工程组所遵循的过程标准、参考资料、所有未经批准的配置项、已 经批准但未纳入基线的配置项,此区域中的配置项由工程经理负责和控制,工程总结结束后 删除。

b.受控区:受控区存放基线。此区域的配置项由工程经理或CCB评审批准后,由配置管理 员从开发区更新而来,此区属配置管理员所有。

c.测试区:该区仅为临时区,不作详细规定,测试通过后需删除该区。测试内容也可由配置 管理员从受控区获取〔get latest〕到指定的路径进行测试。 13.说明软件配置管理的工作内容

版本控制、工作空间管理、并行开发控制、过程管理、权限管理、变更管理等内容。 14.常见的软件配置管理系统有哪些? Microsoft VSS CVS

IBM Rational Clear Case StarTeam

第七章 软件文档管理 1.软件文档管理

文档管理就是按照一定的标准高质量、高效率地设计和编制文档,按照标准分发、维护、转让、变更、修正、扩充和使用文档,提高软件工程的质量和客户满意度。

2.受控文档指按照发放范围登记、分发或独立存档管控,并能保证收回的文件。 3.软件文档的分类〔按照主题划分〕:过程文档、产品文档、管理文档 4.简要描述软件文档管理流程

补充的简答题

1.软件工程是指导计算机软件开发和维护的一门工程学科。

2.软件估算是对软件产品、软件开发过程和资源复杂属性的定量描述,它是简单属性度量值的函数,软件估算用于事前, 如软件开发本钱。

3.软件度量从软件产品、开发维护过程和资源消耗情况三方面进行度量。 4.合同草案评审

15 / 18

优质文本

5.建议草案评审

6.软件测试的直接目标是正式批准模块或集成结构,以使下一个编程阶段可以开始或已完成的软件系统可以交付和安装。 7.同行评审有两种方式,审查和走查。同行评审的主要目标在于检测错误核对与标准的偏离。 8.走查第四章ppt-24页。 9.审查第四章ppt-24页。

10.专家观点通过引进补充的外部能力到机构内部开发过程中来而支持质量评估工作。 11.工程评审包括正式〔设计〕评审、同行评审、走查和审查等。 14.规程是完成某件事情或行动的特定方式。

15.工作条例主要用于在整个机构不可能用一致的方法执行任务或这样做不理想的情形。 补充的根本原理和方法

CMM各等级下企业的软件过程能力如何? 初始级——过程能力不可预测。

可重复级——过程能力概括为软件工程的筹划和跟踪是稳定的,已经为一个有纪律的管理过程提供了可重复以前成功实践的工程环境。软件工程工程活动处于工程管理体系有效控制之下,执行着基于以前工程准那么且符合现实的方案。 已定义级——过程能力概括为无论是管理活动,还是工程活动都是稳定的。软件开发本钱和进度以及产品的功能都受到控制,而且软件产品质量具有可追溯性。 已管理级——允许软件机构在定量的范围内预测过程和产品质量趋势,在发生偏离时可以及时采取措施予以纠正,并且可以预期软件产品是高质量的。 优化级——能够持续不断的改良其过程能力,既对现行的过程实例不断改良和优化,又借助所采用的新技术、新方法来实现未来的过程改良。 工程开发方案的内容 软件质量方案的内容

支持软件维护的 SQA 部件包括软件维护规程和工作条例、支持性软件质量手段、软件维护 人员的培训和认证、改正性和预防性措施、软件配置管理、软件维护文档及软件质量记录等。 软件工程中引入外部参与方将带来哪些收益及风险? 收益:

对承包商:减少预算、弥补专业人员短缺、缩短工程进度、或的特殊领域的专长等。 对顾客〔作为外部参与方〕: a.保护顾客的商业秘密; b.雇佣内部软件开发部门; c.获得自维护工程的专门技巧;

d.工程经费的减少。 对承包商和顾客的风险有:

a.外部参与方提供的部件完成延迟引起工程完成的延迟; b.外部参与方提供部件的低质量;

c.增加了在维护外部参与方提供部件时遇到困难的可能性; d.丧失对工程具体部件的开发控制。

定义适用于整个企业或工程组的规程、工作条例,其目标是什么? 培训和认证的目标

a.使新员工均掌握以足够的效率与有效性水平执行软件开发和维护任务所需的知识与技能; b.这种培训有利于新小组成员的融入;

c.通过传授风格、结构规程和工作条例,确保软件产品(文档和代码)同机构标准相符;

16 / 18

优质文本

d.和同机构风格、结构规程及工作条例的符合性; e.传播SQA规程的知识;

f.确保关键软件开发和维护职位的候选者是有适宜资格的。 培训和认证的过程

a.确定每个职位的专业知识要求; b.确定专业培训和更新需要; c.方案专业培训工程; d.方案专业更新工程。 e.确定需要认证的职位; f.方案认证过程;

g.发布培训、更新、认证工程; h.跟踪已培训和已认证人员。

软件测试与软件质量保证之间的关系

软件测试和软件质量保证是软件质量工程的两个不同层面的工作。软件测试只是软件质量保证工作的一个重要环节。

软件测试〔SQC〕是为使产品满足质量要求所采取的作业技术和活动,它包括检验、纠正和反应。比方SQC进行检验发现不良品后将其剔除,然后将不良信息反应给相关部门采取改善措施。因此SQC的控制范围主要是在工厂内部,其目的是防止不合格品投入、转序、出厂。确保产品满足质量要求及只有合格品才能交付给客户。

软件质量保证〔SQA〕是为满足顾客要求提供信任,即使顾客确信你提供的产品能满足他的要求。因此需从市场调查开始及以后的评审客户要求、产品开发、接单及物料采购、进料检验、生产过程控制及出货、售后效劳等各阶段留下证据,证实工厂每一步活动都是按客户要求进行的。

SQA的目的不是为了保证产品质量,保证产品质量是SQC的任务。 SQA主要是提供确信。因此需对了解客户要求开始至售后效劳的全过程进行管理。这就要求企业建立品管体系,制订相应的文件标准各过程的活动并留下活动实施的证据,以便提供信任。这种信任可分为内外两种,外部的即使客户放心,相信工厂是按其要求生产和交付产品的,内部是让工厂老板放心,因为老板是产品质量的第一责任人,产品出现质量事故他要负全部责任,这也是各国制定产品质量法律的主要要求,以促使企业真正重视质量,因此老板为了防止承当质量责任,就必须以文件标准各项活动并留下证据,但工厂内部人员是不是按文件要求操作老板不可能一一了解,这就需要SQA代替他进行稽核,以了解文件要求是否被遵守,以便让老板相信工厂各项活动是按文件规定进行的,使他放心,因此SQC和SQA的主要区别前者是保证产品质量符合规定,后者是建立体系并确保体系按要求运作,以提供内外部的信任。同时SQC和SQA又有相同点,即SQC和SQA都要进行验证,如SQC按标准检测产品就是验证产品是否符合规定要求,SQA进行内审就是验证体系运作是否符合标准要求,又如SQA进行出货稽核和可靠性检测,就是验证产品是否已按规定进行各项活动,是否能满足规定要求,以确保工厂交付的产品都是合格和符合相关规定的。 软件测试与软件调试之间的关系 a.目的不同:

软件测试的目的是发现错误,至于找出错误的原因和错误发生的地方不是软件测试的任务,而是调试的任务。调试的目的是为了证明程序的正确,因此它必须不断地排除错误。它们的出发点不一样。前者是挑错,是一种挑剔过程,属于质盘保证活动。后者是排错,是一种排除过程,是编码活动的一局部。 b.任务不同:

17 / 18

优质文本

既然软件测试属于质量保证活动,因此它贯穿于整个开发过程.从需求分析开始,就要制订软件测试方案,软件设计时要设计系统软件测试、集成侧试用例,编码阶段要设计单元软件测试用例并进行单元软件测试,软件测试阶段要进行集成软件测试、系统软件测试等,直到产品交付。只要有修改就有软件测试,产品交付后同样。它是比拟有规律的活动,有系统的方法、原那么作指导。

而调试是编码活动的一局部,因此有编码就有调试.它的任务主要就是排错。调试的方法经常与使用的开发工具有关,例如:解释型的开发工具可以交互式调试,编译型开发工具就很难较好地查错。当然它有一些启发式的方法,它是一种比拟依赖开发人员经验的活动。 c.指导原那么和方法不同

软件侧试是一种有规律的活动,有一系列软件软件测试的原那么.其中主要是制订侧试方案,然后严格执行.其次是一种挑剔性行为,因此它不但要侧试软件应该做的,还需要侧试软件不应该做的事情。调试所遵循的规律主要是一些启发式规那么,是一个推理过程。例如使用归纳法、演绎法、回溯法等。 软件测试的输出是预知的,其软件测试用例必须包括预期的结果,而调试的输出大多是不可预见的,需要调试者去解释、去发现产生的原因。 d.操作者

因为心理状态是软件测试程序的障碍,所以执行软件测试的人一般不是开发人员,以使软件测试更客观、更有效,而调试人员一般都是开发人员。 软件测试相关的信息流 软件配置 测试配置 测试工具

软件测试的原那么

a.应当把“尽早地和不断地测试〞作为开发者的座右铭 b.软件测试工作应该由独立的专业软件测试机构来完成 c.测试工作要全面,但不可能实现“穷举〞 d.把Pareto原理应用到软件测试中 e.妥善保存一切测试过程文档 f.制定严格、合理的测试方案

g.错误经过修改后,相关的测试必不可少

18 / 18

因篇幅问题不能全部显示,请点此查看更多更全内容