- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
优化遗传算法在软件测试用例方面应用
优化遗传算法在软件测试用例方面的应用
摘 要:计算机软件测试的重要手段是测试用例的自动生成,关键问题是路径搜索。遗传算法技术是一种高效的搜索巡游算法,在软件测试用例中广泛应用。将遗传算法进行优化改进,使它有能力处理输入的庞大数据,均衡搜索能力,从而设计出最优测试数据。
关键词:遗传算法 软件测试 技术研究
中图分类号:TP311.52 文献标识码:A 文章编号:1674-098X(2015)03(b)-0050-01
软件测试过程中,可以用搜索问题的思想对测试数据的生成问题进行转化。遗传算法是美国学者提出的,是指通过对生物遗传和进化机制的模仿,对问题进行最优化,它将遗传基因中的某些行为,借鉴应用到算法求解的过程中。作为一种高效的搜索寻优算法,遗传算法在解决现实中很多复杂问题上起到了很大的作用。近些年,人们又尝试在软件测试中运用遗传算法,取得了一定的研究成果。但是在应用过程中也存在很多缺陷,优化遗传算法在软件测试方面的应用是目前需要研究的重要课题。
1 基于遗传算法的软件测试用例优化技术研究
1.1 遗传算法技术介绍
遗传算法产生于20世纪六七十年代,后来,国外有科学家首次将遗传算法应用到机器学领域,并研制出分类器系统。近些年,对遗传算法的研究更多,作为一种简单、实用、高效的优化技术,得到迅速发展。
1.2 遗传算法的应用
遗传算法的应用领域比较广泛,如自动化工程中自适应控制、车间调度、优化设计等。遗传算法主要包括可编码设计、评价函数设计、选择路径、自适应控制、计算机模拟等等。遗传算法现已应用于许多学科,目前已在生物科学术及计算机软件工程等学科得到广泛应用,并且发展成为了一种综合性技术。
1.3 遗传算法在计算机软件测试用例中的应用
遗传算法进行软件测试用例优化的关键在于选择恰当的评价函数,用户在设计评价函数时应与求解问题本身的要求相结合。我们知道软件测试用例选择的好坏直接影响测试结果,从而影响计算机软件质量。因此在软件测试中对测试用例进行优化是重中这重,目前软件测试用例优化技术包括三种,一是测试用例序列化技术、测试用例最优排序技术及测试用例集合最少技术。
2 遗传算法与构件化软件测试技术相结合
软件开发是一个多人参与的复杂过程,在开发中出现错误的情况难以避免。随着软件需求的不断增多和软件规模的不断扩大,错误发生的可能性也就越大,对软件进行有效测试的问题也急需解决。在构建和软件测试中,需要利用改进的算法来对最初生成的测试用例进行优化。遗传算法从串集开始搜索,覆盖面大,利于全局择优,同时具有基于领域交叉的交叉操作技术,在实际操作中显示了其独特的优势。
2.1 构件化软件测试用例技术
目前的构件化软件测试用例生成技术是在传统的软件测试技术基础上发展来的,相较于传统技术而言,增设了对构件源代码不可见性问题的研究,但是由于其自身的存在缺陷,也导致了一系列软件测试问题。在软件测试中需要评判测试用例的有效性问题,这就需要具体的软件测试充分准则。
测试准则可以用一个定性的函数C(p,s,t)=true来表示。在这个公式中,p为代表程序、s代表规格说明、t是测试集。函数结果为true时,则意味着在程序p运行的情况下,规格说明s所产生的测试用例集t符合测试充分准则。
2.2 构件化软件测试用例生成技术中应用遗传算法研究
在进行搜索中,遗传算法基本不需要利用外部信息,仅依据评价函数,它用来判断群体中的个体的优劣程度的指标,因此,在利用遗传算法进行构件化软件测试中,关键是要选取恰当的评估函数,进而找到遗传算法的最优解。对于优化的遗传算法而言,不需要了解所需解决问题的实质,问题解决好坏的关键取决于适应度函数的构造是否合理。
对于构件化软件而言,构造适度函数首先要对构件化软件的每个构件建立标记函数,此标记函数用作唯一的标识,并对相应构件加以识别。假设某构件化软件的构件组成是m件,每个构件接口为n个,则每个构件标记函数可记为:
K1=f1(x1,x2,…,xn)
K2=f2(x1,x2,…,xn)
Km=fm(x1,x2,…,xn)
在构建软件结束处插入的适度函数为:
F=U(K1)+U(K2)+……+U(Km),其中,x0。
3 软件测试用例生成技术中应用蚁群算法的研究
3.1 遗传算法和蚁群算法
遗传算法和蚁群算法均是模拟自然生物系统的仿生算法体系,是指通过正反馈、分布式协作来寻找最优路径,从而优化生存状态,是一种仿生智能算法。遗传算法和蚁群算法两种算法间既有共同之处,又存在明显差异。其相同点为两种均属概率型的全局优化算法,具有组织性进化型,均属于智能控制算法等。但是,两种算法也有很多不同之
文档评论(0)