软件工程 06 质量保证_第1页
软件工程 06 质量保证_第2页
软件工程 06 质量保证_第3页
软件工程 06 质量保证_第4页
软件工程 06 质量保证_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程、第六章质量保证、本章的学习目标是、软件测试的常用方法,了解质量保证的概念、软件质量保证、软件质量, 定义是否满足功能和性能的要求,明确记载了开发标准和所有专业开发软件的期待的隐性特征,要点1,软件需求是软件质量测量的基础,与需求一致2,指定的标准是指导软件开发的一系列标准如果不遵守这些标准,大多数质量都不高。 通常,有没有明确描述的隐式需求(例如,期望软件的维护容易等)。 如果软件满足明确描述的要求,但不满足隐式要求,则软件的质量仍然存在疑问。 质量管理QC,定义是审查产品相关各方面质量的流程内容要素,如控制、工作管理、明确和完善的管理流程,性能和完整性的标准,确认和记录等能力,如知

2、识、技能、经验和经历等软件要素,如人员廉洁、信赖、组织文化、激励、团队合作精神、质量的提供确保系统按要求工作的内外信赖,质量保证QA,意义系统地监视和评价一个工序的各方面,最大限度地提高生产过程中实现的质量的最低标准内容原料、文件、产品和零件,以及有关产品的服务、管理, 提供生产和检查流程上述内容的质量管理原则是“适合用途”:该产品应满足预期目的“一次成功”:尽快发现和消除错误,质量成本、范围是追求质量的过程和质量相关活动引起的费用以及质量不良引起的下游费用等所有费用。 成本评估成本失效成本的预防、质量计划和调整等质量管理活动为了开发完整的需求模型和设计模型而增加的技术活动成本测试计划的成本与

3、这些活动相关的所有训练成本、技术审查成本数据收集和评估成本和调试成本、失效故障成本包括内部故障成本和包括外部故障成本在内的内部故障成本在交货前发生时,在再加工故障模式下分析外部故障成本,并在产品交货后发现缺陷的相关成本。 包括解决索赔产品的退货和更换,支援工作支援保证业务。 问题的修正后期成本越高越需要软件质量保证,SQA活动按照一定的软件生产标准、流程和程序评价软件质量,一般活动如下:审查是否遵守审查规定标准。 IEEE、ISO、GB/T等监视将文档中描述的执行和实际操作步骤进行比较,以确保执行流程使用适当的步骤和操作方式进行审计,并确保开发流程使用适当的质量管理措施。SQA各阶段的活动1,

4、在软件概念和开始阶段制定和审查管理计划,这些流程、程序和标准适当、明确,具体来说,可审计软件要求阶段的要求完整、可测试、功能可靠、性能好的接口要求软件架构遵守管理计划中批准的设计标准,所有软件要求保证软件组件保证测试验证方法的存在,保证接口控制文档和标准中指定的内容一致地更新PDR (概要设计审查)文件,解决所有行动项目, SQA每个阶段的活动2,确保批准的设计受到配置管理,软件的详细设计阶段,确保批准的设计标准得到遵守,各模块进行详细的设计审查CDR (主要设计审查)文件。 所有行动项目解决与软件实施阶段和软件开发计划中的设计活动一致的编码结果所有成果项目的状态配置管理活动和软件开发库保证不

5、满足报告和修正措施的SQA各阶段的活动3、软件集成和测试阶段, 保证测试所有的成果,保证所有的测试都根据测试计划和测试计划执行,所有不符合条件报告并正确地完成测试报告,在准备提供软件和文件的检查之前进行再审, 保证所有相关内容都完成了软件检查和交付件阶段的最低要求,保证最终产品的性能,保证所有资料都准备好提供。 在软件支持的工程和操作阶段,软件的升级和修改使用短周期,软件的可靠性和定义是指在一定时间内软件在特定环境中正常运行的概率。内容1,可靠性是指避免或检测重大错误的能力的尺度。 平均维护时间2、可用性系统实际运行时间在该运行时间中所占比例的尺度:维护中故障所占的比例3、软件安全避免未授权访

6、问、安全规则的定制、受到攻击等, 加强可靠性的测试软件复用,建立以可靠性为中心的质量标准,采用适当的软件开发方法和开发工具,ISO 9000质量标准,国际标准化组织的质量管理和质量保证技术委员会(ISO/TC176 ) 制定的所有国际标准的历史1987年版本iso900033365987年版本iso900033365994年版本ISO 9000:2000 ISO9001:2008标准的变化不大,软件测试战略,软件测试软件测试战略为软件开发者、质量保证组织和客户提供了路线图。 测试策略要结合测试计划、测试用例设计、测试执行,以及测试结果数据的收集和分析。 必要时必须具有充分的灵活性,促进测试方法

7、的定制测试战略。 它必须保证整个项目的合理计划和跟踪管理、软件测试的过程模型,软件测试v模型、v模型、v模型明确表示了测试中存在的各种水平,这些测试阶段与开发过程的各阶段的关系2 .集成测试的主要目的是检查多个模块之间是否以概要设计说明的方式合作工作。 3 .系统测试的主要目的是验证整个系统是否满足需求规格的说明。 4 .检验测试从用户角度检查系统是否满足合同中定义的需求,确认产品是否满足业务需求。 软件测试战略中应该注意的问题是,在开始测试之前,必须将产品的需求量化。 明确指出测试的目标。 创建一个用于为每个用户类描述交互场景的用例。 制定一个强调“快速循环测试”的测试计划。设计能测试自己是

8、否“强”的软件。 在实施测试之前,对软件进行有效的正式技术审计。 使用正式的技术审计评价测试战略和测试用例本身。 建立测试流程的持续改进方法。 测试的基本步骤、单元测试、集成测试和系统测试的步骤:在计划和准备阶段制定计划和测试用例,在测试环境的执行阶段构建环境,构建测试数据并运行测试,记录问题,与开发者一起确认问题并制作测试报告单体测试也称为模块测试,是对软件设计的最小单位程序模块进行正确性检查的测试工作。 其目的是发现各模块内部可能存在的各种错误。 单元测试需要从程序的内部结构设计测试用例。 多个模块可以并行、独立地进行小区测试。 单元内涵:环境意义不同,面向过程:函数,面向过程等,面向对象

9、:类,类成员函数等。 单元测试的主要依据:详细的设计,单元测试的进入和退出条件:被测试代码的编译链接用被测试代码的静态检查工具进行检查,完成的至少一个代码视图或读取单元的测试用例视图用单元测试代码写入, 检查结束条件:使用的测试用例执行在单元测试中复盖率未在规定的要求单元测试中执行的代码并正式审查,在单元测试的主要内容、单元测试的主要内容、模块接口测试、单元测试开始时,被检测模块测试项目中包含调用本模块的输入参数是否正确。本模块调用子模块时输入到子模块的参数是否正确,全局量的定义在各模块中是否一致,模块接口测试在进行内外的存储器交换时,必须考虑文件的属性是否正确OPEN语句和CLOSE语句是否

10、正确缓冲区容量和记录长度是否一致在进行读写操作之前是否打开了文件在结束文件处理时是否关闭了文件正文、本地数据结构测试、错误或不一致的数据类型说明使用未分配或未初始化的变量错误的初始值或错误的默认值变量名称,拼写错误或表示错误不一致的数据类型全局数据对模块的影响、路径测试、适当必须设计测试用例,以查找由错误计算、错误比较或异常控制流引起的错误。 测试基本的执行路径和循环会检测到很多路径错误。 边界测试包括错误处理测试、错误的说明是否难以理解、错误的说明是否与错误定位中显示的错误和实际错误一致、错误条件的处理是否正确、错误条件在处理错误前是否引起系统干预等对于这些地方,必须慎重选择测试用例,并认真

11、地进行测试。 如果模块运行时间有要求,则必须执行主要路径测试,以在最坏的情况和平均意义上确定影响模块运行时间的因素。 在单体测试用例的设计、单体测试时,测试者根据详细的设计说明书和源程序列表,了解该模块的I/O条件和模块的逻辑结构,主要采用白箱测试用例,辅助黑箱测试用例,合理输入和单元测试的环境,模块不是独立的程序,考虑测试模块时,考虑与外部的联系,模拟几个辅助模块与被测试模块连接的其他模块。 驱动程序模块(driver ) :接收测试数据,将数据传输到测试模块,从测试模块获取回复数据,并输出结果。存根(stub )存根模块:功能简单,隔离缺陷,而不是被测量模块调用的模块。 集成测试,集成测试

12、是对软件进行集成测试。 也称为子系统测试、组装测试、零件测试等。 集成测试主要可以检查两个模块单独正常运行,但集成运行时可能出现问题的情况。 集成测试是一种广泛的测试,向下钻取将是单元测试。 集成测试的主要方法、由上而下的集成方法、由上而下的集成方法、由上而下的集成方法,该组装方法将模块沿着系统程序结构,沿控制层由上而下地集成。 从属于主模块的深度优先方式(纵向)或宽度优先方式(横向)统合到结构中。 由上而下的集成方式是测试过程中能快速证明的主要控制和判断点。 缺点是桩的开发量应用很大:没有定义控制结构比较明确稳定的上位接口变化小的基本接口,或者可能频繁变更。生产口控制组件有很大的技术风险,需

13、要尽快验证(1)、(2)、(3)、宽度优先方式、(1)、(2)、(3)、(4)、深度优先方式、自下而上整合方式是从软件结构最下位的模块开始,根据接口依存关系,分层整合并进行测试。 因为从最低级别进行了集成,所以某一级别的模块的子模块(包括子模块的子模块)被集成并完成了测试,所以不需要使用存根进行辅助测试。 可以直接执行子模块来获得在测试模块的期间必须从子模块获得的信息。 自下而上的集成方法的优点是,每个模块都经过测试,可以调用其他基本模块,并且不需要存根。缺点是,所有模块都必须创建驱动程序模块。缺陷的隔离和定位不是自上而下的。 应用:下位接口比较稳定上位接口的变化比较频繁的基本组件很快完成,自

14、下而上的集成方法是,、值得注意的是,在实际工作中总是综合使用自下而上和自上而下的集成方法。 例如,根据进度选择测试完成的模块,如果调用了完成的模块的模块没有完成,则采用自上而下的方法,如果测试完成的模块的上位模块没有完成,则采用自下而上的集成方式将转换为SMOKE方法(发烟测试)和代码的软件组件集成到构建中。 一个结构包括所有数据文件、库、可重复使用的模块,以及实现一个或多个产品功能所需的工程组件。 设计一系列测试,暴露影响结构正确完成其功能的错误。 其目的是发现很有可能导致项目延迟的业务块错误。 每天,把这个构造和其他的构造和软件产品整体整合起来进行发烟试验。 该集成方法可以是由上而下的也可

15、以是由下而上的。 集成测试用例的设计必须首先为合格测试设计用例,验证是否满足了需求和设计,实现了软件功能。 可以考虑等效分类法、场景分析法、状态图法等,其次是失效性测试设计实例,主要根据已知的缺陷空间设计测试用例。 也要考虑边界值法、误推测法、因果图法、状态图法等,强调复盖率的要求。 综合测试的复盖率有接口复盖率、接口路径复盖率等。 要注意界面有显性和隐性。 函数调用(API )接口属于显性接口,而消息、网络协议等属于隐性接口。 系统测试、系统测试是从用户的使用角度进行的测试,主要工作是将完成集成测试的系统在实际运行环境中进行测试,用于功能确认和验证。系统测试基本上使用黑盒测试方法的系统测试的

16、根据主要是软件要求的规格,为什么需要实施系统测试? 系统测试是软件开发过程中不可或缺的一环,是软件质量保证的最重要的一环。 从测试的内容来看,系统测试是针对外部输入层的测试空间,不进行系统测试的话,就不会测试从外部输入层转换到接口层的代码。 此外,许多功能可以协调系统的所有组件,只能在系统的测试级别上进行观察和测试。 从测试的角度来看,在单元测试和集成测试阶段,测试从各级技术规格的说明,即软件开发者的技术角度来考虑。 系统测试从客户的角度来看,考虑系统是否完全满足需求。 系统测试的主要内容、功能性测试性能测试压力测试恢复测试安全测试其他系统测试包括配置测试、兼容性测试、本地化测试、文档测试、易用性测试等,系统测试功能测试包括软件辅助系统测试性能测试、性能测试检查系统是否满足要求规格书中规定的性能。 特别是实时系统和嵌入式系统的情况。 性能测试必须与压力测试结合使用,经常需要同时进

温馨提示

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

评论

0/150

提交评论