粒子群算法在黑盒测试中的应用.docVIP

  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文档。上传文档
查看更多
粒子群算法在黑盒测试中的应用.doc

  粒子群算法在黑盒测试中的应用   【摘 要】本文提出了一种利用粒子群算法帮助测试人员在较短时间内完成软件模块的黑盒测试,并给出测试结果和好的测试用例的方法。   【关键词】粒子群算法 测试用例 耦合度      在软件测试中,黑盒测试主要是针对模块进行的功能测试。最普遍的方法是以软件的功能说明书为基础将软件的输入划分为若干个等价类, 多次运行该软件来检验软件对于不同的等价类是否能满足要求。粒子群算法不像其它进化算法那样对于个体使用进化算子,而是将每个个体看作是在 维搜索空间中的一个没有质量和体积的粒子,并在搜索空间中以一定的速度飞行,每个粒子的飞行速度由其本身的飞行经验和群体的飞行经验调整。粒子群优化算法的特点之一是, 它同时保留着若干局部最优解,通过种群交替更新或者解的随机选取来寻求更好的解。如果能够将粒子群算法有效地运用于黑盒测试中,那么将给测试工作带来极大的帮助。      1 应用方法   在设计具体的算法之前,我们先介绍粒子群算法的基本算法,其算法框架 参考 资料,了解了粒子群算法算法的算法框架后,进一步要做的就是在软件的黑盒测试中,如何将不同的等价类转变为粒子群算法的候选解,如何设定解的优劣标准,如何设置合适的终止条件。   我们假定一个软件模块的输入参数有5个:A、B、C、D、E,经过合理的等价类划分后,每个参数又有5个不同的等价类:A1~A5,……,E1~E5。我们采用一个广义的粒子群算法候选解概念,一般的粒子群算法往往将候选解形式定为二进制的数据串,比如111010、010001等等, 而在不同等价类输入作为候选解时我们将候选解形式定为:A3B1C2D4E5,A2B2C4D1E3等等。这样我们解决了候选解的问题,在解的优劣标准以及终止条件的设定问题上,我们需要借助工具作为标准。软件测试的目的是提高软件的可靠性,终止条件当然是软件达到了测试的目的及要求。而解的优劣标准正好与软件质量相反。   对于该算法的说明如下:   (1)每一个输入参数往往有一个几率(可以事先定义),可以简单相加来求得该测试用例的概率,但是在输入参数有较强相关性时,此方法并不能准确求得某个测试用例的发生概率,一个解决办法是设置输入参数的相关耦合度,在粒子群算法的随机更新时其同时进行的几率与相关耦合度成正比,即对于相关耦合度高的输入参数,它们同时进行更新的几率高,反之则低。   (2)检验是否满足测试要求时,需要先设置一个计数器。每运行一个新的测试用例,测试计数器加一当发现第一次失效或故障时,计数器加二。若产生的后代又使软件发生失效,则计数器加2 2 。同理递推,当遗传算法产生的测试用例连续n次使软件失效, 则计数器加2 n 。同时,记录所有的测试情况(此工作由外围的测试环境完成,比如北大的青鸟黑盒测试环境)。如果出现严重错误则终止测试,进行对程序的检查。如果连续K代测试用例的后代都运行良好,计数器的值加2K。K的值由具体被测试软件的等价类数量、输入参数个数等决定。当测试计数器的值达到所有黑盒测试用例等价类的数值时,结束测试也必须结束。   (3)每一组测试用例可以生成多个测试用例,根据适应度函数大小决定留下哪些测试用例组成新的测试用例组。   从上面的算法框图和说明可以看出,如果某测试用例使软件的运行发生了问题,它的后代也同样受困于该软件错误, 算法很快能发现这些最佳测试用例并给出结果。   2 效果   上面的算法,相对于运行所有测试用例,并没有比较明显的优点。尤其对于测试来说,算法并没有加速运行测试用例,好象还降低了运行速度。其实算法本身的确不是用来加速运行测试用例的,其目的是找到一组最佳测试用例。因为实际上对于很多模块运行所有测试用例或哪怕是所有等价类都是几乎不可能的。   综上所述,本文提出了一种利用粒子群算法寻求最佳测试用例的测试方法原理。它能在较短时间内完成软件模块的黑盒测试并给出测试结果和好的测试用例。利用该算法原理,可以在测试集成环境中做一些设置或修改测试集成环境,这样可以大大提高测试工作的效率。       参考

文档评论(0)

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

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

1亿VIP精品文档

相关文档