遗传算法在测试用例最小化上的应用

遗传算法在测试用例最小化上的应用

ID:27360366

大小:139.00 KB

页数:6页

时间:2018-12-02

遗传算法在测试用例最小化上的应用_第1页
遗传算法在测试用例最小化上的应用_第2页
遗传算法在测试用例最小化上的应用_第3页
遗传算法在测试用例最小化上的应用_第4页
遗传算法在测试用例最小化上的应用_第5页
资源描述:

《遗传算法在测试用例最小化上的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、浙江工业大学计算机系统研究室遗传算法在软件测试上的应用遗传算法在测试用例最小化上的应用方路平,陈小乐浙江工业大学软件学院,浙江杭州310023摘要:回归测试是软件测试过程中的一个重要阶段。测试数据生成的自动化和消除冗余对减少软件测试成本具有十分重要的意义。本文提出了用于测试用例最小化的遗传算法,其中讨论了编码策略和遗传算子的改进,并实现了该算法模型,最后对算法进行了实例研究。实验结果表明,该遗传算法能够有效缩减测试用例集的大小,有效降低回归测试成本。关键词:回归测试;测试用例最小化;最小测试覆盖;遗传算法TheGeneticAlgorithm

2、ForTestSuitsMinimizationFangLuping,ChenXiaole浙江工业大学软件学院,浙江杭州310023Abstract:Theregressiontestisoneofimportantstageofthesoftwaredevelopmentlifecycle.Theautomationofsoftwaretestingcaseandtheminimizationbecameveryimportanttoreducetheregressiontestcost.Finally,thispaperprovideth

3、egeneticalgorithmassearchpolicytochosetheminimizationtestcase.andanalyzesoftheperformancesofthealgorithms.anddiscusssuchascodingstrategy,operatorevolution.TheexperimentresultsshowthatourGeneticAlgorithmcanreducethesizeoftestsuiteeffectivelyandsignificantlylowdownthecostofre

4、gressiontest.Keywords:regressiontest;testsuiteminimization;minimizedtestsuite;GeneticAlgorithm1引言在软件开发过程的测试阶段,代码修改后、软件硬件平台变更后或硬件配置改变后,都必须进行回归测试。然而,对大多数的测试小组来说,回归测试占用了很大一部分的时间,特别是在软件开发生存期的最后阶段。一般的做法是将曾经用的测试用例保存起来,形成测试用例库,在进行下一次回归测试时,运行用例库中的所有用例。然而随着软件的不断修改,测试用例仓库不断地增大,回归测试成本

5、也随之增加。研究测试用例最小化,就是从原始测试用例集中提取出最小数目的测试用例集,使得在运行这些测试用例时,能够达到运行原始用例的测试覆盖率。遗传算法从问题可能解集出发按照适者生存、优胜劣态的遗传规律,逐代生成越来越优化的近似解。它作为一种高效的搜索优化算法,在解决大规模,复杂度高的问题上具有独特的优势和性能。因此,把它引入到测试用例的最小化选择上将非常有效。2测试用例最小化第6页共6页浙江工业大学计算机系统研究室遗传算法在软件测试上的应用当我们通过测试发现程序中的错误后,就必须立即改正这些错误,然后对改正后的程序重复以前做过的各种测试,以保

6、证没有出现新的错误,同时还要再测定覆盖率,以保证能达到既定的覆盖率。但是,通常情况下,我们设计的一组测试用例所获得的覆盖率很有可能只需其中的几个测试用例就可以获得了,那些冗余的测试用例在每一次重新测定覆盖率时都浪费了大量的时间和资源。选取最小的测试用例集达到相同的覆盖度就是测试用例最小化。我们把用例抽象表示成n长的二进制串:f:{x1,x2,x3…xn}->{10010…1}其中1表示该测试用例测试过其软件对应的模块,0表示没有测试的软件模块。这个用例的生成,我们经过测试软件的插装来生成一个数据文件。我们定义1的个数在整个二进制串的百分比为这

7、个用例测试软件的覆盖度,即测试到软件的模块数。我们把模块在这里抽象定义为段。3测试用例的生成和遗传算法的建模3.1覆盖率数据库文件覆盖率数据库文件保存每次运行被测软件时,源程序的各个记录点对应的程序块是否运行过的信息。覆盖率数据库文件如图1所示,结构描述如下。m_lValidBitNumberm_lLongIntNumberCCase[1]....Ccase[n]图1覆盖率数据库文件结构在覆盖率数据库文件头上依次保存着两个unsignedlong型数据:longm_lValidBitNumber;longm_lLongIntNumber;1.

8、m_lValidBitNumber:源文件包含的记录点个数(就是段数)。2.m_lLongIntNumber:我们用一位(bit)数据表示一个记录点所对应的程序块在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。