- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅议计算机软件缺陷的预防、检测和消除
浅议计算机软件缺陷的预防、检测和消除
刘洁
(北京图形研究所,北京100029)
摘要 软件质量是软件产品的生命之所在,软件测试作为保证软件质量的手段,愈来愈受到人们的重视。
丽如何提高软件产品质量,必须预防、检测错误和缺陷,并将它从需求、设计、文档、代码、测试计划和
测试中消除。本文着重介绍了错误、缺陷、故障和失效的区别和联系以及软件缺陷的预防、检测和消除的
策略。
关键词软件缺陷故障检测消除策略
1 引言
在计算机出现后的几十年中,探索新的软件开发方法和技术以提高计算机软件的生产率
和质量一直是软件工程领域研究的一个焦点。直到20世纪80年代,大多数研究人员都有这
样的信念,认为“只要有好的软件开发方法和工具就可以开发出高质量的软件”。实际上,
事情并不是那么简单。一些软件开发组织之所以能生产出优秀的软件产品,往往归功于软件
开发组一些杰出的个人或小组的努力,而不是通过成功的软件过程的重复使用,开发组织大
都没有总结出经过自身验证有效的开发方法和软件过程。直到费用透支和进度拖延,甚至软
件产品质量低劣时,人们才认识到软件中存在缺陷。于是人们通常在软件交付用户使用之前
进行测试。由于测试出现得较晚,这时定位并修正缺陷的费用高昂且浪费了时间;其次,测
试程序事先并未计划,未被定义和编制成文档,因此,对于开发程序中的一致性而言不可重
复。
如今,软件所担负的任务越来越重,人们对软件质量要求也越来越高。如:在一次航天
飞机发射过程中,软件控制着航天飞机的关键系统;在一个电厂,软件控制着电厂生产的电
力如何加载到整个电网,从而供给整个大陆。软件控制着上百层高的办公大楼的电梯。一旦
软件质量出现问题,可能带来不同程度的严重后果,轻者影响系统的正常工作,重者造成事
故,损失生命财产。造成软件质量低劣的主要原因是软件中存在缺陷。如何进行缺陷的预防、
检测和消除便成了人们关注的焦点。本文重在讨论计算机软件缺陷的预防、检测和消除策略。
2 错误、缺陷、故障和失效的区别和联系
在讨论缺陷的问题之前,我们先来区分四个容易混淆的概念:错误、缺陷、故障和失效。
2.1错误、缺陷、故障和失效的区别
错误:计算的、观察的或测量值或状态与真正的、规定的或理论上正确的值或状态之间
的差异。它是人为的.导致软件(程序及文档)中存在一个或多个缺陷。
缺陷:产品中存在的问题。当被触发时可能导致程序的运行结果出错,即所谓可能发生
某种或多种故障,引起系统在执行过程中的一次失效。
185
浅议计算机软件缺陷的预防、检测和消除
故障:故障是设计制造的不完善或软件中的错误,是系统中的硬件或软件的错误状态,
是硬件的物理缺陷(bug)在逻辑上的等效。如电路的“l”态错成“O”态,软件判断的“Yes”错
成’No”。对于软件来说,是指计算机程序中不正确的步骤、进程或数据定义,主要表现在
软件设计错误,如死循环:多余的分支(在意外时起作用)、非法转移、空间溢出、数据执
行、无理数据。故障是一种会导致某项系统功能失败的意外事件发生的条件,通常是由缺陷
导致的。
失效:系统运行期间,某项功能表现异常或不能正常工作。也就是说系统或单元在规定
的性能要求内无法执行所要求的功能。它是一个或多个缺陷引起的某种故障的一次表现。一
种故障可能会引起多次失效。
2.2错误、缺陷、故障和失效的联系
失效是可观察的事件(一种作用)。故障是失效的原因。故障可能由软件或硬件引发。
软件缺陷可引发规格说明、设计或代码故障。
一个错误可以引发一个或多个缺陷,一个缺陷可能由不止一个错误引起。错误和缺陷之
间是多对多的关系。
引发 圈
一个产品中可能存在多个缺陷,一个缺陷可以导致多个故障,一个故障也可能由多个缺
陷引发。缺陷和故障之间也是多对多的关系。
曰 存在 曰 导致 圈
一个故障可导致一次或
文档评论(0)