软件质量与质量保证.doc

上传人:帮**** 文档编号:3645168 上传时间:2020-10-06 格式:DOC 页数:6 大小:36.50KB
返回 下载 相关 举报
软件质量与质量保证.doc_第1页
第1页 / 共6页
软件质量与质量保证.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《软件质量与质量保证.doc》由会员分享,可在线阅读,更多相关《软件质量与质量保证.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

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

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

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

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

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

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

9、检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。黑盒测试又称为功能测试。白盒测试法白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。3. 设计测试方案(1)白盒法句覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖点覆盖边覆盖路径覆盖这部分是本章的重点,要求掌握句覆盖、判定覆盖和条件覆盖,会做题。(2)黑盒法测试的步骤软件纠错技术八、面向对象的软件测试九、软件测试计划与测试分析报

10、告十、软件维护软件维护的定义、分类、特点人们称在软件运行/维护阶段对软件产品所进行的修改就是维护。1结构化维护与非结构化维护的对比2维护的代价3维护的问题软件维护步骤及组织维护步骤需要经历以下四个步骤。(1)分析和理解程序(2)修改程序(3)重新验证程序(4)维护组织软件的可维护性软件维护的副作用逆向工程和再生工程逆向工程与再生工程是目前预防性维护采用的主要技术,逆向工程术语源于硬件制造业,相互竞争的公司为了了解对方设计和制造工艺的机密,在得不到设计和制造说明书的情况下,通过拆卸实物获取信息,软件的逆项工程也基本类似,不过通常“解剖”的不仅是竞争对手的程序,而且还包括本公司多年前的产品,此时得不到设计“机密”的主要障碍是缺乏文档。因此,所谓软件的逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内的,将软件某种形式的描述转换为更抽象形式的活动都可称为逆向工程。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理制度

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁