一种基于贝叶斯定理软件测试有效性评估模型.docVIP

一种基于贝叶斯定理软件测试有效性评估模型.doc

  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文档。上传文档
查看更多
一种基于贝叶斯定理软件测试有效性评估模型

一种基于贝叶斯定理的软件测试有效性的评估模型   摘要:软件测试是软件开发生命周期中的一个关键步骤。从某种程度上说,软件测试决定了该产品的最终成败。一种有效的软件测试方法可以侦测出软件产品中的错误,并保证软件产品可以准确无误的发布。但如何保证软件测试的有效性一直是人们探讨和争论的问题。通过提出了一种软件测试的简单模型,以帮助人们正确的评估软件测试的有效性。?   关键词:软件测试;贝叶斯定理;测试有效性?   中图分类号:TP393文献标识码:A文章编号:1672?3198(2007)11?0268?01??      1引言?   长久以来,在软件开发生命周期中,软件测试一直扮演着举足轻重的角色。它帮助人们在软件产品正式发布以前,有效的侦测出软件设计中的错误和缺陷,及时予以纠正。更重要的是,软件测试除由专业技术人员进行外,通常有用户的参与,可以在测试的过程中准确理解???户的需求,对产品进行改进和完善,保证软件产品基于用户要求量身订制,真正实现产品客制化(Customization)。从而保证产品的高质量和高效益。?   与软件测试的重要性随之而来的一个根本问题就是其有效性,即软件测试正确侦测出产品缺陷或错误的效率有多高。在软件测试环节中通常遇到的问题是:产品中存在的问题并没有被及时发现,从而导致产品的最终失败。或者产品中并没有缺陷,而由于人为或测试系统的误差,发出错误警报,迫使设计者不得不花费大量的时间和精力去寻找并不存在的产品缺陷,导致资源浪费和成本上升。那么如何避免上述两种情况的发生呢?有效软件测试的标准是什么呢?究竟什么样的测试可以被定义为有效测试呢?本文针对这一问题,从贝叶斯原理出发,提出了一种评估软件测试的简单模型。借助该模型,软件开发人员可以有效的判断软件测试是否达到预期的标准。?   2理论基础――贝叶斯定理?   如果两个事件A和B不是互相独立的,并且知道事件B中的一个事件已经发生,就能得到关于P(A)的信息。这反映为A在B中的条件概率,记为P(A|B):?   P(A|B)=P(AB)P(B)?   或?   P(AB)=P(A|B)P(B)=P(B|A)P(A)?   假设样本空间S被分成一个含有n个互斥事件的集合,每个事件称为S的一个划分:?   S={A?1,A?2,A?3,……,A?n}?   A?iA?j=0i≠j?   事件B可以写成由n 个不相交(互斥)事件BA?1,BA?2,..., BA?n 组成,全概率定理:?   P(B)=P(B|A?1)P(A?1)+P(B|A?2)P(A?2)+…+P(B|A?n)P(A?n)?   用全概率定理和条件概率的定义可以得到贝叶斯定理:?   P(A?i|B)=P(B|A?i)P(A?i)P(B)?   =   P(B|A?i)P(A?i)P(B|A?1)P(A?1)(B)+…P(B|A?n)P(A?n)?   3软件测试效果评估模型?   正如大部分人所熟知的那样,软件测试是人们预测、分析、侦测和修正前期软件设计中的错误和缺陷的过程。通过软件测试,软件产品设计中致命的错误可以被及时发现,并予以补救,以确保产品失败的概率被降到最低限度。性能良好的软件产品可以极大的提高用户对产品的信心,从而积极配合新产品的使用和维护,最终形成软件开发与用户使用间的良好互动。然而,软件测试有其无法避免的局限性,比如:软件测试环境与软件实际运行环境之间的差异,使得人们因为无法模拟实际运行环境,而无从对系统中的关键部分或模块的错误发生率进行准确的评估,导致测试人员对产品可靠性作出错误的判断,最终可能使测试中运行良好的产品在实际运行中出现问题。 ?   那么,如何科学评价软件测试的有效性呢?或者,换句话说,什么是有效的软件测试呢?本文将建立一个软件测试有效性的评估模型,通过这种模型,软件测试的有效性可以用概率的方式进行表示和计算,从而将软件测试有效性的评价进行量化。该模型是基于贝叶斯定理建立的,以下将分两部分进行介绍:第一部分是模型的逻辑关系原理,用逻辑关系图表示;第二部分是在第一部分的基础上建立的数学模型,也是该评估模型的核心部分。?   (1)逻辑关系图。?   为便于阐述,我们将软件测试的结果表示为 “Detected Defects”( 侦测出的缺陷),同时将影响测试结果的因素分为两种类型:一种是“Wrong Caution”(错误警报),即产品本身并没有缺陷,由于系统或人为的失误导致测试结果错误的显示产品中有缺陷存在;另一种是“Successful Detection”(成功侦测出产品缺陷),即产品本身存在缺陷,软件测试成功将其发现。下图表示三者之间的逻辑关系,即:测试结果表明产品存在缺陷可能是由于两种原因之一导

文档评论(0)

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

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

1亿VIP精品文档

相关文档