04 软件可靠性度量和测试推荐.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
04 软件可靠性度量和测试推荐

* 4.4提高软件可靠性的方法和技术 4.4.1 建立以可靠性为核心的质量标准 在软件项目规划和需求分析阶段就要建立以可靠性为核心的质量标准。这个质量标准包括实现的功能、可靠性、可维护性、可移植性、安全性、吞吐率等等,虽然还没有一个衡量软件质量的完整体系,但还是可以通过一定的指标来指定标准基线。 软件质量从构成因素上可分为产品质量和过程质量。 还可把质量分为动态质量和静态质量。 静态质量是通过审查各开发过程的成果来确认的质量,包括模块化程度、简易程度、完整程度等内容。 动态质量是考察运行状况来确认的质量,包括平均故障间隔时间(Mean Time Between Failures,MTBF)、软件故障修复时间(Mean Time To Repair Fault,MTRF)、可用资源的利用率。 在许多实际工程中,人们一般比较重视动态质量而忽视静态质量。 * 确定划分的各开发过程的质量度量 需求分析质量度量 设计结果质量度量 测试结果质量度量 验收结果质量度量 * 4.4.2 选择开发方法 软件开发方法对软件的可靠性也有重要影响。 目前的软件开发方法主要有Parnas方法、Yourdon方法、面向数据结构的Jackson方法和Warnier方法、PSL/PSA方法、原型化方法、面向对象方法、可视化方法、ICASE方法、瑞理开发方法等,其他还有BSP方法、CSF方法等。这里特别要提一下的是Parnas方法。 Parnas方法是最早的软件开发方法。(1972)基本思想:在概要设计时预先估计未来可能发生的变化,提出信息隐藏的原则以提高软件的可靠性和可维护性。 可视化方法和ICASE方法只能作为辅助方法,面向数据结构的方法等只适合小型系统开发,面向对象的方法是建议的方法,结合其他方法使用。 * * 4.4.3 软件重用 软件重用不仅仅是指软件本身,也可以是软件的开发思想方法、文档,甚至环境、数据等,包括三个方面内容的重用: 开发过程重用,指开发规范、各种开发方法、工具和标准等。 软件构件重用,指文档、程序和数据等。 知识重用,如相关领域专业知识的重用。 * 4.4.4 使用开发管理工具 开发一个大的软件系统,离不开开发管理工具,作为一个项目管理员,仅仅靠人来管理是不够的,需要有开发管理工具来辅助解决开发过程中遇到的各种各样的问题,以提高开发效率和产品质量。 如Intersolv公司的PVCS软件开发管理工具,在美国市场占有率已超过70%,使用PVCS可以带来不少好处: 规范开发过程,缩短开发周期,减少开发成本,降低项目投资风险;自动创造完整的文档,便于软件维护;管理软件多重版本;管理和追踪开发过程中危及软件质量和影响开发周期的缺陷和变化,便于软件重用,避免数据丢失,也便于开发人员的交流,对提高软件可靠性,保证质量有很大作用。 * 4.4.5 加强测试 测试规范包括以下三类文档: 测试设计规范:详细描述测试方法,规定该设计及其有关测试所包括的特性。还应规定完成测试所需的测试用例和测试规程,规定特性的通过/失败判定准则。 测试用例规范:列出用于输入的具体值及预期输出结果。规定在使用具体测试用例时对测试规程的各种限制。 测试规程规范:规定对于运行该系统和执行指定的测试用例来实现有关测试所要求的所有步骤。 测试的方法多种多样: 走查(Walk-through),即手工执行,由不同的程序员(非该模块设计者)读代码,并进行评论。 机器测试,对给定的输入不会产生不合逻辑的输出。 程序证明或交替程序表示。 模拟测试,模拟硬件、I/O设备等。 设计审查,关于设计的所有各方面的小组讨论会,利用所获得的信息,找出缺陷及违反标准的地方等。 * 4.4.6 容错设计 提高可靠性的技术一般可以分为两类,一类是避免故障,在开发过程中,尽可能不让差错和缺陷潜入软件,这类常用的技术有: 算法模型化,把可以保证正确实现需求规格的算法模型化。 模拟模型化,为了保证在确定的资源条件下的预测性能的发挥,使软件运行时间、内存使用量及控制执行模型化。 可靠性模型,使用可靠性模型,从差错发生频度出发,预测可靠性。 正确性证明,使用形式符号及数学归纳法等证明算法的正确性。 软件危险分析与故障树分析:从设计或编码的结构出发,追踪软件开发过程中潜入系统缺陷的原因。 分布接口需求规格说明:在设计的各阶段使用形式的接口需求规格说明,以便验证需求的分布接口实现可能性与完备性。 另一类就是采用冗余思想的容错技术 基本思想:使软件内潜在的差错对可靠性的影响缩小控制到最低程度。 原理:错误分析、破坏程度断定、错误恢复、错误处理4个阶段。 技术:N-版本技术、恢复块技术、多备份技术等。 * * 4.5 软件可靠性研究的主要问题 观点、方法和工具问题(目前主要建立在概率论和数理统计,需要新的数学工具、系

文档评论(0)

aena45 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档