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

下载本文档

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

文档简介

1、软件质量与质量保证一、软件质量的定义软件质量反映了以下三方面的问题。1软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。2在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软 件质量就得不到保证。3往往会有一些隐含的需求没有明确地提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求, 软件质量也不能保证。二、影响软件质量的因素1影响软件质量的主要因素2软件质量讨论评价应遵守的原则三、软件质量保证策略为了在软件开发过程中保证软件的质量,主要采取下述措施:1审查2复查和管理复审3测试四、软件质量保证活动1验证与确认2开发时期的

2、配置管理五、软件评审通常,把质量定义为用户的满意程度。为使得用户满意,有两个必要条件:(1)设计的规格说明要符合用户的要求;(2)程序要按照设计规格说明所规定的情况正确执行。设计质量的评审内容程序质量的评审内容1软件的结构2与运行环境的接口六、软件质量保证的标准1ISO 质量保证模型2 ISO9001 标准七、结构化的软件测试软件测试在程序员对每一个模块的编码之后先做程序测试,再做单元测试,然后再进行集成(综合或组装)测试,系统 测试,验收(确认)测试,平行测试,人工测试,其中单元测试的一部分己在编码阶段就开始了,测试横跨开发与测试两个 阶段,又有不同的人员参加,测试工作本身是复杂的。据统计测

3、试工作量要占软件开发总成本的40 到 50以上。测试的目的是确保软件的质量,尽量找出软件错误并加以纠正,而不是证明软件没有错。测试的范围是整个软件的生存周期,而不限于程序编码阶段。软件测试的概念和原则1、测试的概念(1)软件测试软件测试是对软件计划、软件设计、软件编码进行查错和纠错的活动(包括代码执行活动与人工活动)。(2)程序测试程序测试是早已流行的概念。 它是对编码阶段的语法错、语义错、 运行错进行查找的编码执行活动。 找出编码中错误的 代码执行活动称程序测试。 纠正编码中的错误的执行活动称程序调试。 通过查找编码错与纠正编码错来保证算法的正确实现。(3)软件确认与程序确认软件确认是广义上

4、的软件测试, 它是企图证明程序软件在给定的外部环境中的逻辑正确性的一系列活动和过程, 指需求 说明书的确认,程序的确认。程序确认又分成静态确认与动态确认。静态确认包括,正确性证明,人工分析,静态分析。动 态分析包括动态确认与动态测试。 静态分析是不执行程序本身, 分析程序正文可能导致错误的异常情况。 可以人工的进行分析, 也可以用测试工具静态 分析程序来进行,被测试程序的正文做为输入,经静态分析程序分析得出分析结果。静态分析包括结构检查,流图分析,符 号执行。 动态分析是执行被测程序, 从执行结果分析程序可能出现的错误。 可以人工设计程序测试用例, 也可以由测试工具动 态分析程序来做检测与分析

5、。动态测试包括功能测试和结构测试。动态测试的内容包括:单元测试,也称逻辑测试,模块测 试,功能测试。组装测试也称集成测试,综合测试,或结构测试,子系统测试。系统测试是软硬件或子系统的组装测试。(4)各种软件错误的出现比例功能错,占整个软件错误27%,是需求分析设计不完整而引起的。系统错,占整个软件错误16%,是总体设计错误而引起的。数据错,占整个软件错误10%,由编码错误引起的。编码错,占整个软件错误4%,程序员编码错误引起的其它错,占整个软件错误16%,由文档错和硬件错所引起的2、测试过程3、测试的原则测试的原则如下:(1 )测试前要认定被测试软件有错,不要认为软件设有错。(2)要预先确定被

6、测试软件的测试结果。(3)要尽量避免测试自己编写的程序。(4)测试要兼顾合理输入与不合理输入数据。(5)测试要以软件需求规格说明书为标准。(6)要明确找到的新错与已找到的旧错成正比。(7)测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,并选择好测试用例与测试方法。(8)测试用例留作测试报告与以后的反复测试用,重新验证纠错的程序是否有错。软件测试技术1. 软件测试的目标测试的目标:(1 )测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;3)成功的测试是发现了至今为止尚未发现的错误的测试。2. 测试方法按照测试过程是否在实际应用环

7、境中来分,有静态分析与动态测试。测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。白盒法是通过分析程序内部的逻辑与执 行路线来设计测试用例,进行测试的方法,白盒法也称逻辑驱动方法。黑盒法是功能驱动方法,仅根据 I/O 数据条件来设 计测试用例, 而不管程序的内部结构与路径如何。 白盒法的具体设计程序测试用例的方法有: 语句覆盖、 分支(判定)覆盖、 条件覆盖、路径覆盖(或条件组合覆盖),主要目的是提高测试的覆盖率。黑盒法的具体设计程序测试用例的方法有:等价 类划分法,边界值分析法,错误推测法,主要目的是设法以最少测试数据子集来尽可能多的测试软件程序的错误。(1)静态分析技术

8、不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。(2)动态测试技术当把程序作为一个函数, 输入的全体称为函数的定义域, 输出的全体称为函数的值域, 函数则描述了输入的定义域与输 出值域的关系。这样动态测试的算法有: 选取定义域中的有效值,或定义域外无效值。 对已选取值决定预期的结果。 用选取值执行程序。 观察程序行为,记录执行结果。 将的结果与的结果相比较,不吻合则程序有错。动态测试既可以采用白盒法对模块进行逻辑结构的测试, 又可以用黑盒法做功能结枸的测试, 接口的测试, 都是以执行 程序并分析执行结果来查错的。3)黑盒测试和白盒测试黑盒

9、测试法黑盒测试法把程序看成一个黑盒子, 完全不考虑程序的内部结构和处理过程。 黑盒测试是在程序接口进行的测试, 它只 检查程序功能是否能按照规格说明书的规定正常使用, 程序是否能适当地接收输入数据产生正确的输出信息, 并且保持外部 信息的完整性。黑盒测试又称为功能测试。白盒测试法白盒测试法的前提是可以把程序看成装在一个透明的白盒子里, 也就是完全了解程序的结构和处理过程。 这种方法按照 程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。3. 设计测试方案(1)白盒法句覆盖判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 点覆盖 边覆盖 路径覆盖这部

10、分是本章的重点,要求掌握句覆盖、判定覆盖和条件覆盖,会做题。2)黑盒法测试的步骤软件纠错技术八、面向对象的软件测试九、软件测试计划与测试分析报告十、软件维护软件维护的定义、分类、特点人们称在软件运行 / 维护阶段对软件产品所进行的修改就是维护。1结构化维护与非结构化维护的对比2维护的代价3维护的问题软件维护步骤及组织维护步骤需要经历以下四个步骤。(1)分析和理解程序(2)修改程序(3)重新验证程序(4)维护组织软件的可维护性软件维护的副作用逆向工程和再生工程逆向工程与再生工程是目前预防性维护采用的主要技术,逆向工程术语源于硬件制造业,相互竞争的公司为了了解对方设计和制造工艺的机密,在得不到设计和制造说明书的情况下,通过拆卸实物获取信息

温馨提示

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

评论

0/150

提交评论