利用遗传算法进行测试用例自动生成

利用遗传算法进行测试用例自动生成

ID:39104498

大小:370.00 KB

页数:9页

时间:2019-06-24

利用遗传算法进行测试用例自动生成_第1页
利用遗传算法进行测试用例自动生成_第2页
利用遗传算法进行测试用例自动生成_第3页
利用遗传算法进行测试用例自动生成_第4页
利用遗传算法进行测试用例自动生成_第5页
资源描述:

《利用遗传算法进行测试用例自动生成》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、利用遗传算法进行数据流分析下的测试用例自动生成摘要:软件测试越来越受到重视,但是软件测试是一个复杂、工作量很大的过程。测试用例的自动生成在一定程度上能够减小软件测试的工作量,但是测试用例自动生成技术是一个难点。本文通过借鉴遗传算法,基于数据流分析,在def-use路径覆盖的测试准则上,提出了一个测试用例自动生成的算法。并通过实验比较了遗传算法和随机选择法在测试用例自动生成上的优劣。关键词:软件测试;数据流测试;遗传算法;GA;测试用例自动生成中图分类号:TP311AutomaticTestDataGenerationforDat

2、aFlowTestingUsingaGeneticAlgorithmAbstract:Softwaretestingismoreandmoreimportant,butthesoftwaretestingiscomplexandhasheavyworkload.Theautomaticgenerationoftestcasescanreducetheworkloadofsoftwaretesting,buttheautomaticgenerationoftestcasesisadifficultproblem.Thispaper

3、introducesanautomatictestcasegenerationalgorithmwhichusesgeneticalgorithmandisbasedondataflowanalysisandisunderthetestcriterionofthedef-usepathcoverage.Andcomparestheadvantagesanddisadvantagesbetweengeneticalgorithmandrandomselectionmethodintheautomaticgenerationofte

4、stcases.Keywords:softwaretesting;dataflowtesting;geneticalgorithms;automatictestdatageneration1引言软件测试描述一种用来促进鉴定软件的正确性、完整性和质量的过程,是一种实际输出与预期输出间的比较过程。软件测试主要包含两方面的内容,测试用例生成和测试充分性准则的应用。测试充分性准则包括基于控制流和基于数据流等,是用来判定测试数据集对于被测试程序是否充分的准则。软件测试是一项费时费力且单调乏味的工作,测试用例的自动生成能有效提高软件测试的效

5、率。但是,测试用例自动生成是软件测试中的一个难点。本文利用遗传算法对测试用例的自动生成进行探讨。2测试用例自动生成技术简介2.1软件测试相关概念测试用例是为某个特殊目标编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例的设计应遵循下列原则[1]。(1)准确性:测试用例的设计必须有明确的目标,即针对需求设计测试用例。(2)可复用性:设计的测试用例应能在类似的情况下重复使用。(3)可追踪性:测试用例必须能够追溯到需求。(4)完整性:考虑到需求的完整性和逻辑完整性。测试用例自动生成方法可

6、以分为三类,随机的测试用例生成,结构导向的测试用例生成和基于数据规格说明书的测试用例生成。随机的测试用例生成从输入变量的域中随机产生测试用例。结构导向的测试用例生成基于覆盖程序中特定的结构元素,比如路径覆盖,分支覆盖和def-use覆盖等。基于数据规格说明书的测试用例生成从软件的说明书中选择测试用例。本文所使用的测试用例自动生成技术属于结构导向的测试用例自动生成技术,使用遗传算法(geneticalgorithm)迭代生成覆盖全部def-use路径的测试用例。2.2软件测试的分类软件测试按照运行状态,可以分为静态测试和动态测试。

7、其中静态测试是在不执行程序代码而寻找程序代码中可能存在的缺陷或评估程序代码的过程。动态测试则以测试数据为输入,通过执行程序来检验程序的动态行为和运行结果以发现缺陷。图1为软件测试分类的一个例子。本文的软件测试方法属于动态测试中的白盒测试,是基于数据流测试中的全定义使用覆盖。图1软件测试技术的分类Fig.1Classificationofthesoftwaretestingtechnologies3数据流分析技术程序的控制流可以表示出有向图的形式,其中每个节点表示可以顺序执行的语句,其中不包括分支,形成一个基本的语句块;每条边表示

8、节点间控制流的可能的转移。路径就是由边连接起来的节点的有限序列。完全路径指路径的第一个节点是程序的开始节点,最后一个节点是程序的终止节点。一个变量的def-clear路径指的是该路径中不包括改变量的一个新的定义。数据流分析把焦点放在变量的定义和使用上。而变量的使

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

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

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