软件质量保证和测试复习资料_第1页
软件质量保证和测试复习资料_第2页
软件质量保证和测试复习资料_第3页
软件质量保证和测试复习资料_第4页
软件质量保证和测试复习资料_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1 章 软件质量保证和测试的背景ieee 关于软件质量的定义:软件质量是:系统部件不见或者过程满足需求的规定需求的程度。系统、部件或者过程满足顾客或者用户需要或期望的程度。ansi 关于软件质量的定义。软件质量定义为“与软件产品满足规定的和隐含的需求的能力有关的特征和特征的全体”具体包括:软件产品中能满足用户给定需求的全部特性的集合。软件具有所有期望值的各种属性的集合。用户观得出的软件是否满足其综合期望的程度。决定所用软件在使用中将满足其综合期望程度的软件特性。ieee 给出软件质量保证的定义,软件质量保证(sqa) 是:(1)一种有计划的,系统化的行动模式,它是为项目或者产品符合已有技术

2、需求提出充分信任所必需的。(2)设计用来评价开发或者制造产品的过程的一组活动,与质量控制有区别。软件测试是使用人工或者自动手段来运行或测试某个系统的过程,检验它是否满足规定的需求或者弄清预期结果和实际结果之间的差别。随着时间的推移,修复软件缺陷的费用惊人的增长。软件测试是软件质量保证的重要手段之一。第 2 章 软件质量工程体系软件质量控制的定义:软件质量控制是一组由开发组织使用的程序和方法,使用它可在规定的资金投入和时间限制的条件下, 提供满足客户质量要求的软件产品并持续不断地改善开发过程和开发组织本身,以提高将来生产高质量软件产品的能力。目标问题度量法:书p31 页主要看看思想。风险管理法:

3、 p32 页 图pdca 计划plan:确定参数要求实施do:根据要求展开活动检查check:通过评审、度量、测试,确认满足要求改进action :纠正参数要求,在开发软件质量保证控制模型参数:产品、过程、资源。sqa(软件质量保证)是cmm (软件能力成熟度)2 级一个重要关键过程区域,它是贯穿于整个软件过程的第三方审查活动,在cmm 过程中从当重要角色。简要描述几种常见的质量控制模型(见上):控制方法:风险避免: 通过变更计划消除风险的触发条件,如采用成熟技术、 增加资源减少软件范围等。风险弱化:降低风险发生的概率,如简化流程、更多测试、开发原型系统等。风险承担:制定应急方案,随机应变。风

4、险转移:将风险发生的结果连同应对权利转移给有应对能力的第三方。第 3 章 软件质量度量和配置管理measure:度量(名词) :是根据一定规则赋予软件过程或产品属性的数值或类别软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程。软件度量在软件工程中的作用有三:1、 通过软件度量增加理解。2、 通过软件度量管理软件项目,主要是计划和估算、跟踪和确认;3、 通过软件度量指导软件过程改善,主要是理解,评估和包装。影响软件质量的因素:首先是人的因素,其次是过程的因素最后是技术因素。简述几种常见的软件质量模型?软件质量保证模型:mccall 模型, boehm 模型, f

5、urps 模型 iso1926 简述软件过程度量的目标对象方法和结果?软件过程度量的目标:软件过程度量的目标是为了对软件过程的行为进行目标管理,并在度量的基础上对软件过程进行控制,评价和改善软件过程度量最终为项目管理和软件过程管理服务。软件过程度量就其对象而言,主要包括三个:工作产品、软件项目和过程。软件过程度量的方法:对软件过程度量的方法是过程性方法,软件过程行为是事件行为,对过程的度量也具有过程性,从制定度量目标到收集数据再到数据分析表示了典型的度量阶段。软件度量的结果通常是软件产品的复杂度模型和可靠性模型等。简述影响软件质量的因素?首先是人的因素,即m.软件开发是智力劳动,软件是人的脑力

6、劳动,进行创造性思维的结果。其次是过程因素,即p。 “过程”一词有很多的定义,iso9000 将过程定义为“一种将输入转化为输出的相互关联或相互作用的活动”。软件过程是人们用来生产软件产品一系列的工具、 方法和实践的集合。最后是技术因素,即 t,近年来软件技术虽然取得了不少进展,提出了许多新的开发方法,比如充分利用现成软件复用技术,自动生成技术,也研制了一些有效的软件开发工具或开发环境,但在软件项目中采用的比率仍然很低。第 4 章 软件可靠性度量和测试软件可靠性的定义:(1)在规定的条件下,在规定时间内,软件不引起系统失效的概率,该效率是系统输入和系统使用的函数,也是软件中存在错误的函数;系统

7、输入将确定是否遇到已存在的错误(如果错误存在的话)(2)在规定的时间周期内,在所述条件下程序执行所要求功能的能力。影响软件可靠性的因素:需求分析定义错误,设计错误,编码错误,测试错误,文档错误。软件可靠性模型是指为预计或估算软件的可靠性所建立的可靠性框图和数学模型。musa 和 okumoto 根据软件可靠性的5 种特征,对模型进行了下述分类:时间域类别型式 种类族简要描述提高软件可靠性的方法和技术?软件重用使用开发管理工具如intersolv 公司的 pvcs 软件开发管理工具加强测试容错设计尽可能不让差错和缺陷潜入软件,这类常用的技术有以下几种:算法模型化, 模拟模型化、可靠性模型、软件危

8、险分析与故障树分析第 5 章 软件质量标准软件质量标准:国际标准、国家标准、行业标准、企业规范、项目规范。cmm 关键域等级:初始级、可重复级、已定义级、已管理级、优化级。* 软件保证实现的具体实施方法如下:1、定义项目类型和生命周期,2、建立 soa 计划,确定项目审计内容,3、生成 soa 报告。4、审计 soa 报告 5、建立汇报。第 6 章 软件评审为什么需要软件评审?评审是一些用于开发过程早期检查和纠正缺陷的有效方法,它们可以用来检查未形成执行代码的文档的缺陷。总体来说,自开发过程中评审可以让人们获得以下收益:(1)提高项目的生产率,这是由于早期发现了错误,因而减少了返工时间,还可能

9、减少了测试时间。(2)改善软件的质量。(3)在评审的过程中,使开发团队的其他成员更熟悉产品和开发过程。(4)通过评审,标志着软件开发的一个阶段的完成。(5)生产更容易维护的软件。评审的内容:管理评审技术评审文档评审过程评审评审的方法:特别检查轮查 走查团队评审检视评审的技术缺陷检查表规则表评审工具的使用从不同角度理解产品场景分析技术第 7 章 软件全面质量管理为什么要进行全面软件质量管理?缩短总运转周期降低质量所需成本缩短库存周转时间提高生产率追求企业利益和成功使顾客完全满意最大限度获取利润质量管理蕴含着如下含义:强烈关注顾客精确度量坚持不断的改进向员工授权改进组织中每项工作的质量p(plan

10、)计划 d(do) 实施 c(check) 检查 a(action) 处理138 页图* 全面管理与iso9000 : (谈谈软件质量全面管理的思想体系)两者的相同之处:首先, 两者的管理理论和统计理论基础是一致的,它们都认为产品质量形成与产品全过程,都要求质量体系贯穿于质量形成的全过程。在实现方法上,两者使用了pdca 质量运行模式。 其次, 两者都要求对质量实施系统化的管理,都强调一把手对质量的管理。最后,两者的最终目的是一致的,都是为了提高软件产品质量,满足顾客的需要,都强调任何一个过程都是可以不断改进和完善的。两者的不同之处:首先, 两者的期间目标不一致。全面质量管理的目标是改变现状。

11、其作业只限于一次, 目标实现后, 管理活动也就结束了,下一次计划管理活动虽然是在上一次计划管理活动的结果上进行的,但绝不重复与上次相同的作业。相反iso9000 的目标是维持标准现状, 他的目标值为定值,它的管理活动是重复相同的方法和作业,使实际的工作结果与标准的偏差量尽量减少,其次,两者的工作中心不同,全面质量管理是以人为中心,iso9000是以标准为中心。再次, 两者执行标准及检查方式不同。实施全面质量的企业所制定的标准是企业结合其自身特点的自我约束的管理体制,其检查方主要是企业内部人员,检查方法是考核和评价。6管理的优点:提升企业的管理能力节约企业运营成本增加顾客价值改进服务水平形成积极

12、向上的企业文化第 8 章 高质量编程内存分配方式:从静态存储区域分配在栈上创建从堆上分配,也称动态内存分配常见的错误情况:(1)内纯分配未成功却使用了它(2)内存分配虽然成功,但是尚未初始化就引用它(3)内存分配成功并且已经初始化,但操作越过了内存的便捷(4)忘记了释放内存,造成内存泄露( 5)释放了内存却继续使用它第 9 章 软件测试过程软件测试时需要以下三类信息:软件配置测试配置测试工具综合测试分为4 个步骤:单元测试集成测试系统测试验收测试另外,在所有的测试过程中,始终贯穿着回归测试辅助测试模块分为以下两种:驱动模块桩模块测试方法:第13章课后题请比较非增量式集成、自顶向下、自底向上的集

13、成策略?(1)非增量测试集成测试方法(2)增量式集成测试方法两种测试方法的比较:自顶向下:优点:1.如果程序错误趋向于发生在程序的顶端时,有利于查处错误。2.可以较早出现程序的轮廓。3.加进输入 /输出模块后,较方便描述测试用例缺点: 1.桩模块较难设计。 2.模块介入使结果较难观察自底向上:优点:1.如果程序错误趋向于发生在程序的低端时,有利于查出错误。2.容易产生测试条件和观察测试结果。3.容易编写驱动模块。缺点: 1.在加入最后一个模块之前,程序不能作为一个整体存在。2,必必须给出驱动程序常用的选择回归测试的方式如下:再测试全部用例基于风险的选择基于操作剖面选择测试在测试修改部分软件测试

14、贯穿于整个软件开发生命周期。简述软件测试自动化的意义对新版本进行回归测试。执行更多更频繁的测试。执行一些手工测试困难或不可能做的测试。更好的利用资源。测试具有一致性和可重复性。测试的复用性。 增加软件的信任度。可以更快的将软件推向市场。第 12 章 基于缺陷模式的软件测试软件缺陷属性:缺陷标识缺陷类型缺陷严重程度缺陷优先级缺陷状态缺陷起源缺陷来源缺陷根源cmm1 级(初始级)cmm2 (可重复级)cmm3 级(已定义级)cmm4 级(已管理级)cmm5 级(持续优化级)缺陷管理目标:(1)及时了解并跟踪每个被发现的缺陷。(2)确保每个被发现的缺陷都能够被处理(3)收集缺陷数据并根据缺陷趋势曲线

15、来识别测试过程是否结束(4)收集缺陷数据并在其上进行数据分析,作为组织的过程财富。一个简单的软件缺陷生命周期(p288)图实践中的软件缺陷生命周期(p289)发现缺陷分配缺陷修复缺陷验证缺陷解决缺陷缺陷分析指标:缺陷发现率缺陷潜伏期缺陷密度缺陷清除率第 13 章 集成测试集成测试与单元测试和系统测试的区别:集成测试与单元测试关注的范围有很大的不同三者的依据也不同三明治集成测试(p301)三明治集成测试。三明治集成测试是将自顶向下测试与自底向上测试两种模式有机结合起来,采用并行的自顶向下、自底向上集成方式,形成改进的三明治方法。采取持续集成的策略,软件开发中各个模块不是同时完成,根据进度将完成的

16、模块尽可能早地进行集成,有助于尽早发现缺陷,避免集成阶段大量缺陷涌现。自底向上集成时,先完成的模块将是后期模块的被调用程序,而自顶向下集成时,先期完成的模块将是后期模块的驱动程序,使后期模块的单元测试和集成测试出现了部分交叉,节省了测试代码的编写,提高工作效率。核心系统先行集成测试(p302)核心系统先行集成测试法的思想是先对核心软件部件进行集成测试,在测试通过的基础上再按各外围软件部件的重要程度逐个集成到核心系统中。每次加入一个外围软件部件都产生一个产品基线,直至最后形成稳定的软件产品,核心系统先行集成测试对应的集成过程是一个逐渐趋于闭合的螺线形曲线,代表产品逐步定型的过程 . 第 14 章 系统测试性能测试:时间性能空间性能兼容是测试包括几方面:(兼容性测试需要考虑那几个方面?)向前和向后兼容不同版本之间的兼容标准和规范数据共享兼容性软件文档对软件整体质量的影响:提高可用性。可用性大小与软件文档有关提高可靠性。可靠性是指软件平稳运行的程度降低支持费用。 用户有麻烦或者遇到意外情况时,就会向公司请求帮助。好的文档能通过恰当的解释和引导帮助用户克服困难,尽可能预防这种情况的发生。网站测试 :(进行网站测试时需要考虑那些要领?)(1) 文字测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论