基于死锁的并发类单元测试用例自动生成.PDF
文本预览下载声明
第34卷第4期 计算机应用与软件 Vol34No.4
2017年4月 ComputerApplicationsandSoftware Apr.2017
基于死锁的并发类单元测试用例自动生成
臧 丽 娜
(北京化工大学信息科学与技术学院 北京 100029)
摘 要 自动生成多线程程序的单元测试用例是一种能节约测试成本的技术。为提高并发类单元测试用例生
成效率,先依据死锁故障的特征分析出并发类中潜在的死锁代码,然后再针对这些代码自动生成测试用例。实验
在7个常用Java类库中的并发类上进行验证。实验结果显示提出的方法(CTCG)不仅找到了现有死锁故障,而
且当检测到死锁故障时,其所生成的测试用例数更少,其所花费的时间更少,提高了并发类单元测试用例自动生
成的效率。
关键词 并发类 死锁 单元测试 测试用例生成
中图分类号 TP311.5 文献标识码 A DOI:10.3969/j.issn.1000386x.2017.04.001
AUTOMATICGENERATIONOFCONCURRENTCLASS
UNITTESTCASESBASEDONDEADLOCK
ZangLina
(CollegeofInformationScienceandTechnology,BeijingUniversityofChemicalTechnology,Beijing100029,China)
Abstract Automatedgenerationofmultithreadedprogramunittestcasesisatechnologytosavetestcosts.Inorderto
improvetheefficiencyofconcurrentunittestcasegeneration,thearticleanalyzesthepotentialdeadlockcodeinthe
concurrencyclassaccordingtothecharacteristicsofdeadlockfailure,andthenautomaticallygeneratestestcasesfor
thesecodes.Theexperimentiscarriedoutontheconcurrentclassof7commonlyusedJavaclasslibraries.Experimental
resultsshowthattheproposedmethod(CTCG)notonlyfindsanexistingdeadlockfailure,butalsogeneratesfewertest
casesandlesstimewhenadeadlockfailureisdetected,andimprovetheefficiencyoftheautomaticgenerationof
concurrentclassunittestcases.
Keywords Concurrentclass Deadlock Unittest Testsgenerating
随机地选择并发类中的两个方法生成测试用例,由于
0 引 言 该方法未考虑并发故障的特点和对象进入线程前的状
态对测试结果的影响,使得该方法在检测到一个并发
单元测试关注检查和验证组成软件系统的最小单 故障时的开销过大。S.Steenbuck等开发了 Con
元,如类、方法、模块等。单元测试已被证明在故障检 [5]
Suite 工具来生成并发类的单元测试用例,该工具使
测中有巨大价值[1]。并发故障的检测不仅依赖于程序
显示全部