遗传算法在测试用例小化上的应用.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文档。上传文档
查看更多
遗传算法在测试用例小化上的应用

遗传算法在测试用例最小化上的应用 摘 要:回归测试是软件测试过程中的一个重要阶段。测试数据生成的自动化和消除冗余对减少软件测试成本具有十分重要的意义。本文提出了用于测试用例最小化的遗传算法,其中讨论了编码策略和遗传算子的改进,并实现了该算法模型,最后对算法进行了实例研究。实验结果表明,该遗传算法能够有效缩减测试用例集的大小,有效降低回归测试成本。 关键词:回归测试;测试用例最小化;最小测试覆盖;遗传算法 The Genetic Algorithm For Test Suits Minimization Abstract:The regression test is one of important stage of the software development lifecycle. The automation of software testing case and the minimization became very important to reduce the regression test cost. Finally, this paper provide the genetic algorithm as search policy to chose the minimization test case .and analyzes of the performances of the algorithms .and discuss such as coding strategy, operator evolution .The experiment results show that our Genetic Algorithm can reduce the size of test suite effectively and significantly low down the cost of regression test. Key words: regression test ; test suite minimization; minimized test suite; Genetic Algorithm 1引言 在软件开发过程的测试阶段,代码修改后、软件硬件平台变更后或硬件配置改变后,都必须进行回归测试。然而,对大多数的测试小组来说,回归测试占用了很大一部分的时间,特别是在软件开发生存期的最后阶段。一般的做法是将曾经用的测试用例保存起来,形成测试用例库,在进行下一次回归测试时,运行用例库中的所有用例。然而随着软件的不断修改,测试用例仓库不断地增大,回归测试成本也随之增加。研究测试用例最小化,就是从原始测试用例集中提取出最小数目的测试用例集,使得在运行这些测试用例时,能够达到运行原始用例的测试覆盖率。 遗传算法从问题可能解集出发按照适者生存、优胜劣态的遗传规律,逐代生成越来越优化的近似解。它作为一种高效的有哪些信誉好的足球投注网站优化算法,在解决大规模,复杂度高的问题上具有独特的优势和性能。因此,把它引入到测试用例的最小化选择上将非常有效。 2 测试用例最小化 当我们通过测试发现程序中的错误后,就必须立即改正这些错误,然后对改正后的程序重复以前做过的各种测试,以保证没有出现新的错误,同时还要再测定覆盖率,以保证能达到既定的覆盖率。但是,通常情况下,我们设计的一组测试用例所获得的覆盖率很有可能只需其中的几个测试用例就可以获得了,那些冗余的测试用例在每一次重新测定覆盖率时都浪费了大量的时间和资源。选取最小的测试用例集达到相同的覆盖度就是测试用例最小化。 我们把用例抽象表示成n长的二进制串:f:{x1,x2,x3…xn}-{10010…1}其中1表示该测试用例测试过其软件对应的模块,0表示没有测试的软件模块。这个用例的生成,我们经过测试软件的插装来生成一个数据文件。我们定义1的个数在整个二进制串的百分比为这个用例测试软件的覆盖度,即测试到软件的模块数。我们把模块在这里抽象定义为段。 3 测试用例的生成和遗传算法的建模 3.1 覆盖率数据库文件 覆盖率数据库文件保存每次运行被测软件时,源程序的各个记录点对应的程序块是否运行过的信息。覆盖率数据库文件如图1所示,结构描述如下。 m_lValidBitNumber m_lLongIntNumber CCase[1] .... Ccase[n] 图1 覆盖率数据库文件结构 在覆盖率数据库文件头上依次保存着两个unsigned long型数据: long m_lValidBitNumber; long m_lLongIntNumber; m_lValidBitNumber:源文件包含的记录点个数(就是段数)。 m_lLongIntNumber:我们用一位(bi

文档评论(0)

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

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

1亿VIP精品文档

相关文档