2023年6月29日发(作者:)
第3卷第1期 2013年2月 智能计算机与应用 INTELLIGENT COMPUTER AND APPLICATIONS V01.3 No.1 Feb.2013 成 朱玲莉,刘丽娜,汤创为 (南华大学计算机科学与技术学院,湖南衡阳421001) 摘 要:程序似然不变量是程序中隐含的属性,可以应用于程序验证、软件测试技术、逆向工程等领域。针对自动化测试工具c++ Test产生的测试用例集,利用程序不变量分析工具Daikon判断这些测试用例是否改变了当前的不变量;并将两种工具结合生产一 种自动化测试用例集约简工具CDRT(c++Test And Dmkon Reduction Testing),从而达到约简测试用例集的效果,再通过变异测试 工具INSURE++对简化后的测试用例集进行评估。实验结果表明,CDRT工具能有效地约简测试用例集。 关键词:Daik0n:c++Test;测试用例集约简:变异测试 中图分类号:TP391 文献标识码: A 文章编号:2095—2163(2013)O1—0039—04 The Test Case Suite l duction Tools based on Daikon and C++Test ZHU Lingli,LIU Lina,TANG Chuangwei (Computer science and technology college,University of South China,Hengyang Hunan 421001,China) Abstract:The pogram likely invariant is implied in the program properties,and can be applied to hte range ofprogram verification nad so.vale test.According to hte Test case suite generated by Test automation tool C++Test,the paper USeS Daikon to judge whether htese test cases changes hte invariant,then combines hte two tools ot produce naother tool called CDRT,SO as ot achieve hte effect oftest suite re- duction.At last,the reduced etst case suites ale sasessed yb Insure++.The experimental results show that hte CDRT is effective. Key words:Daikon;C++-Test:Test Case Suite Reduction;Mutation Testing ’ 0引言 静态和动态分析,大量的覆盖率报告,并支持异构多平台开 测试用例贯穿于软件测试的整个过程,是软件测试的 发环境。 核心,随着软件测试技术的不断发展,测试工具的自动化也 C++Test分析类或者函数,然后自动地生成测试框架、 得到了普及与推广。如今,大部分的软件测试工具都可以实 测试用例和需要的桩函数。在C++Test中,将源函数加入工 现测试用例集的自动生成,这在一定程度上减轻了手工操 程编译且运行后,即可对源函数进行测试,并自动生成一定 作的负担,然而在这些自动化生成的测试用例集中,往往会 数目的测试用例。同时也可将测试用例导入和导出。 产生大量的等价输入而导致出现大批重复的用例或者不满 1.2不变量提取工具Daikon工作原理 足测试需求的测试用例,从而引发资源的浪费和效率的低 DaikonI3]是在2000年由MIT的Michael Ernst主持 下。因此,如何判断和找出等价输入,精简测试用例集,提高 开发的一款动态不变量提取工具,能够从C/C++、Java等语 自动化测试工具的覆盖率,已成为一个重要的研究方向。 言编写的程序中提取不变量。Daikon的输出是按照程序执 程序似然不变量可以从大量的自动生成用例中筛选出 行轨迹统计调整而得到的似然不变量集合。这一结果可被 有用的子集,丢弃重复的测试用例【t1。似然不变量【 则是这样 用作文档,加入到程序源码中作为断言,或者作为其它工具 kon提取的似然不变量集合作为编 一些断言,描述的是在程序的多次运行中,保持不变的这 的输入。本文即用Dai种性质。似然不变量对理解程序和许多其它应用是非常有 写程序的输入,为测试用例集的约简提供规则。图1是 效的,包括测试用例生成,预测集成组件的不兼容性,修复 Daikon基本工作原理图。 不兼容的数据结构,检查数据流的有效性等。因此可以通过 由图1中可以看出,Daikon工具提取似然不变量的工 程序似然不变量来表示程序中数据覆盖程度等有价值的信 作过程基本上可以分为4个阶段:(1)插装阶段;(2)运 行;(3)检测不变量;(4)筛选不变量。 息,从而有助于消除无用测试用例,实现测试用例集约简。 本文通过在C++Test中调用不变量提取工具Dakion,从而 1.3 CDRT自动测试用例集约简工具 CDRT就是将C++Test与Daikon这两款工具进行接合 实现自动化工具CDRT来约简测试用例集。 后的自动化测试用例集约简工具的简称。在1.1和1。2节中 1测试用例自动约简工具CDRT 分别介绍了C++Test与Daikon的工作原理,因此要实现自 1.1测试用例生成工具C++Test 动化工具CDRT,关键是如何在C++Test中实现对于Daikon Parasofi c++Test是一款为C/c++开发团队自动进行 的自动调用,而无需用户手动干预,因此在本文中根据设计 代码分析和单元测试的产品。C++Test的特点是自动化生成 模式中的Command模式。即通过命令调用方式来使用D秘一 收稿日期:2013—01-08 作者简介:朱玲莉(1987一),女,湖南益阳人,硕士研究生,主要研究方向:软件测试; 刘丽娜(1987一),女,湖南沅江人,硕士研究生,主要研究方向:软件测试; 汤创为(1986一),男,湖南沅江人,硕士研究生,主要研究方向:可信网络。
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688018597a67213.html
评论列表(0条)