基于数据流准则的测试用例生成方法.pdf
文本预览下载声明
第 44卷 第 2期 计 算 机 科 学 Vo1.44No.2
2017年 2月 COMPUTER SCIENCE Feb.2017
基于数据流准则的测试用例生成方法
陈洁琼 姜淑娟 张争光
(中国矿业大学计算机科学与技术学院 徐州221116)
摘 要 针对基于控制流的测试充分性准则易错失面向对象程序中的状态依赖关系,提出一种基于数据流准则的测
试用例 自动生成方法。通过数据流分析获取待覆盖的目标定义使用对,利用遗传算法 自动生成覆盖定义使用对的测
试用例,根据适应度函数指导测试用例的进化。将该方法与基于分支覆盖和语句覆盖的方法相比较。实验结果表明,
与其他方法相比,该方法可以检测 出更多的变异体,适应度函数的设计降低 了进化代数。
关键词 面向对象程序 ,数据流准则,测试用例生成,适应度函数
中图法分类号 TP311 文献标识码 A DOI 10.11896/j.issn.1002—137X.2017.02.015
ApproachforTestCaseGenerationBasedonDataFlow Criterion
CHENJi~ ong J~ANGSh叫uan ZHANGZheng-guang
(SchoolofComputerScienceandTechnology,ChinaUniversityofMiningandTechn ology,Xuzbou221116,China)
Abstract Controlflowcriterionmaymissthestatedependentrelationsinobjectorientedprogram easily.Thispaper
presentedanapproachforautomatictestcasegenerationbasedondataflow criterion,usingdataflow analysistoget
definitionusepairsthattestsuiteshouldcover,usinggeneticalgorithm togeneratetestsuiteautomaticallyandevolving
thetestcasesaccordingtofitnessfunction.Theexperimentalresultsindicatethatthetestcasesgeneratedbyourap—
proachcandetectmoremutantscomparingwithapproachesbasedonbranchandstatementcriterion,andfitnessfunc—
tiondesignedinourapproachmakesthenumberofgenerationsdecraesed.
Keywords Objectorientedprogram,Dataflowcriterion,Testcasegeneration,Fitnessfunction
码展示了一个方法间的状态依赖关系。在类 DrinkMachine
1 引言
中,方法 addMoney定义了变量 paid(第 16行),方法 get-
软件测试是保障软件可靠性的重要手段。根据考虑的代 Drink使用了该变量 (第 7行),这两个方法可能存在交互关
码元素的不同,结构性测试准则可以分为基于控制流的测试 系。经典的数据流覆盖准则需要一个测试用例来调用方法
充分性准则和基于数据流的测试充分性准则[1。其中基于 addMoney,并最终调用方法 getDrink。后一个方法对变量
控
显示全部