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

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

ID:27960708

大小:58.62 KB

页数:5页

时间:2018-12-07

粒子群算法在黑盒测试中的应用_第1页
粒子群算法在黑盒测试中的应用_第2页
粒子群算法在黑盒测试中的应用_第3页
粒子群算法在黑盒测试中的应用_第4页
粒子群算法在黑盒测试中的应用_第5页
资源描述:

《粒子群算法在黑盒测试中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、粒子群算法在黑盒测试中的应用【摘要】本文提出了一种利用粒子群算法帮助测试人员在较短时间内完成软件模块的黑盒测试,并给出测试结果和好的测试用例的方法。【关键词】粒子群算法测试用例耦合度在软件测试中,黑盒测试主要是针对模块进行的功能测试。最普遍的方法是以软件的功能说明书为基础将软件的输入划分为若干个等价类,多次运行该软件来检验软件对于不同的等价类是否能满足要求。粒子群算法不像其它进化算法那样对于个体使用进化算子,而是将每个个体看作是在维搜索空间中的一个没有质量和体积的粒子,并在搜索空间中以一定的速度飞行,每个粒子的飞行速度由其本身的飞行经验和群体的飞行经验调整。粒子群优化算法的特点之一是,

2、它同时保留着若干局部最优解,通过种群交替更新或者解的随机选取来寻求更好的解。如果能够将粒子群算法有效地运用于黑盒测试中,那么将给测试工作带来极大的帮助。1应用方法在设计具体的算法之前,我们先介绍粒子群算法的基本算法,其算法框架参考资料,了解了粒子群算法算法的算法框架后,进一步要做的就是在软件的黑盒测试中,如何将不同的等价类转变为粒子群算法的候选解,如何设定解的优劣标准,如何设置合适的终止条件。我们假定一个软件模块的输入参数有5个:A、B、C、D、E,经过合理的等价类划分后,每个参数又有5个不同的等价类:A1〜A5,……,E1〜E5。我们采用一个广义的粒子群算法候选解概念,一般的粒子群算

3、法往往将候选解形式定为二进制的数据串,比如111010.010001等等,而在不同等价类输入作为候选解时我们将候选解形式定为:A3B1C2D4E5,A2B2C4D1E3等等。这样我们解决了候选解的问题,在解的优劣标准以及终止条件的设定问题上,我们需要借助工具作为标准。软件测试的目的是提高软件的可靠性,终止条件当然是软件达到了测试的目的及要求。而解的优劣标准正好与软件质量相反。文献[2]中结合北大的青鸟黑盒测试环境提出了一种基于测试执行的失效数据模型JBFDMo利用该模型我们可以做到:(1)提供一致的失效数据建模,收集及管理的可靠性度量过程,从而支持可靠性度量;(2)利用测试及软件现场收

4、集的数据来评价测试计划、操作概图及测试方法的有效性。软件测试的目的是发现错误,在黑盒测试中,错误表现的形式是软件失效。但是由于软件错误并不是软件失效的充分条件,换句话说,并不是所有错误都会在测试或运行时暴露,所以黑盒测试的目的就是尽可能的通过运行测试用例使软件失效而发现错误。在我们对测试用例的评价时,用以下的数据表示测试用例的优劣:A=P+B/M+C*F其中,A表示粒子群算法中的适应度,P表示该测试用例在实际中发生的几率,M表示平均失效时间,F表示失效等级。因为测试是针对使用的,所以发生几率高的测试用例适应度高就不难理解了。而M平均失效时间越长,该测试用例应该不容易发现软件的错误,所以

5、,A越低。F则表示某些特殊情况发生使软件严重失效(比如造成死机、损坏仪器等等),此时该测试用例以及其后代必须被重点关注,所以此时A越大。B、C是相应于各个具体的被测试软件模块而定的系数(在实际应用中,由于软件失效的可能性不是特别大,所以更新结果往往是发生几率高的测试用例后代较多。所以我们应该针对具体被测试软件设计准确的发生概率产生算法。具体算法框架如图1所示。对于该算法的说明如下:(1)每一个输入参数往往有一个几率(可以事先定义),可以简单相加来求得该测试用例的概率,但是在输入参数有较强相关性时,此方法并不能准确求得某个测试用例的发生概率,一个解决办法是设置输入参数的相关耦合度,在粒子

6、群算法的随机更新时其同时进行的几率与相关耦合度成正比,即对于相关耦合度高的输入参数,它们同时进行更新的几率高,反之则低。(1)检验是否满足测试要求时,需要先设置一个计数器。每运行一个新的测试用例,测试计数器加一当发现第一次失效或故障时,计数器加二。若产生的后代又使软件发生失效,则计数器加22o同理递推,当遗传算法产生的测试用例连续n次使软件失效,则计数器加2n0同时,记录所有的测试情况(此工作由外围的测试环境完成,比如北大的青鸟黑盒测试环境)。如果出现严重错误则终止测试,进行对程序的检查。如果连续K代测试用例的后代都运行良好,计数器的值加2KOK的值由具体被测试软件的等价类数量、输入参

7、数个数等决定。当测试计数器的值达到所有黑盒测试用例等价类的数值时,结束测试也必须结束。(2)每一组测试用例可以生成多个测试用例,根据适应度函数大小决定留下哪些测试用例组成新的测试用例组。从上面的算法框图和说明可以看出,如果某测试用例使软件的运行发生了问题,它的后代也同样受困于该软件错误,算法很快能发现这些最佳测试用例并给出结果。2效果上面的算法,相对于运行所有测试用例,并没有比较明显的优点。尤其对于测试来说,算法并没有加速运行测试用例,好象还降

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

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

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