bck

收藏本站

测试用例自动生成的分支限界算法及实验研究

【摘要】:作为软件测试(包括白盒测试和黑盒测试)里的一个基本问题,面向路径的测试用例自动生成则尤为重要,这是因为白盒测试中的许多诸如控制流测试和数据流测试问题以及黑盒测试中的一些问题都可以归结为面向路径的测试用例生成问题。其非形式化描述为:给定一个程序P和P中一条路径W,设P的输入空间为D,求x∈D,使得P以x为输入运行,所经过的路径为W。这个问题的实质在于约束系统的建立和求解。 约束求解是人工智能的一个传统研究方向。很多实际问题,包括面向路径的测试用例生成,都可以用约束求解问题来描述。但是测试中的很多问题都是NP-难的,甚至有可能是不可判定的问题,如何在可接受的时间内对其进行求解是一个非常棘手的问题。这样,面向路径的测试用例自动生成就转化成了如下问题:如何将约束求解中的方法移植到测试中,使得测试的过程更加高效。 本论文依托国家自然科学基金项目“基于抽象内存模型的复杂类型测试用例生成方法研究”(课题编号:61202080)、国家高技术研究发展计划(863计划)“网构化软件协同生产和运行演化集成平台及服务环境”(课题编号:2012AA011201)、国家自然科学基金重大研究计划“代码自动化覆盖测试的关键技术研究与系统研发”(课题编号:91318301)和计算机体系结构国家重点实验室开放课题“单元测试中基于分支限界的测试用例生成技术研究”(课题编号:CARCH201201),基于代码测试系统CTS(Code Testing System)的抽象内存模型,通过建立高效的约束求解引擎来进行面向路径的测试用例自动生成问题的研究。具体的研究内容包括: 1、基于分支限界算法的约束求解框架 面向路径的测试用例生成问题是一类约束满足问题,这类问题需要通过合适的搜索或寻优算法来求解。分支限界作为全局求解算法提供灵活的回溯机制,可以在局部无解时回到更高的层次以调整搜索的范围并尽量减少访问搜索树上节点的数量。并通过合适的规则扩展叶子节点,包括合理对自由变量进行排序,在尽量少的次数内给变量找到可行解或者尽快判断局部无解,以及在找到可行解后尽量多的剪枝。同时为了便于搜索算法的实施,引入了状态空间搜索来为搜索过程建模。 2、基于程序切片技术的变量初始区间削减和不相关变量移除 根据符号分析、控制流图和区间运算的特点,切片准则从相关变量集及路径条件两个角度获得。出现在同一个表达式中的变量,为了满足表达式的约束它们之间的取值互相影响。路径条件是指在区间运算过程中会产生路径分支的数据流值。通过程序切片技术获取和每个变量相关的表达式信息,建立一个变量和区间初始化值的映射字典。通过查询映射字典,在不排除部分可行解的情况下对变量初始区间进行削减。而对于待覆盖路径来说,并非所有变量的取值都会影响这条路径是否会被执行。通过程序切片技术,在状态空间搜索开始前可以提取到和路径有关的变量,而将和路径不相关的变量从搜索空间中移除,这样可以极大地缩小算法的复杂度。 3、基于迭代区间运算的不可达判定和搜索树剪枝 基于区间运算迭代向下的特点,采用迭代的区间运算策略。迭代达到稳定即是到达了两次区间运算之间的不动点。同时,迭代的区间运算策略可以在算法执行前进行路径可达性的预判,对于不可达路径可以避免后续花费在测试用例生成上的无用功。 4、基于变量级别的自由变量排序决策机制 当不同的变量具有相同的区间大小时,利用区间大小排序的决策机制会失效,则采用一种补充策略来打破这种僵局,即同区间大小的变量再通过级别排序。级别是依据区间运算所提供的启发式信息确定,即:距离程序入口越近的变量对整条路径区间运算的结果影响越大。通过快速排序得到根据区间大小排序的结果后,对于相同区间大小的变量会从入口开始沿着整个路径根据级别进行排序。一旦得出结果则随时退出,因为只要得到序列的第一个元素即可。 5、变量启发式初值选取方法 为了兼顾测试用例的多样性和算法的效率,在通过启发式规则判定初始值选取范围后随机选取初始值。通过符号分析和区间运算技术,可以提取和每个变量相关的表达式,从而对变量在这些表达式中的性质进行分析。从满足约束的角度来说,对于每个表达式,将变量分为三类:正变量、负变量和中性变量。而对于整条路径上的约束,变量也分为三类:正变量、负变量和中性变量。路径上的变量性质是对每个表达式上变量性质进行统计计算的结果。在确定了路径上的变量性质之后,可以有针对性地对每个变量的初始区间进行削减,从而减小搜索范围。 6、爬山法回退策略 爬山法作为一种局部搜索算法,具有快速收敛和实现简单的特点,但是容易陷入局部极值。考虑到测试用例生成并没有最优解的需求,引入爬山法进行局部求解,合理地定义了目标函数来引导局部搜索过程,在有解的情况下快速收敛,在无解的情况下快速退出,在分支限界的框架下充分发挥了它的优势。 实验论证本文提出的分支限界约束求解框架和各个搜索加速策略对于常见benchmark和实际工程程序所生成的测试用例都可以达到很高覆盖率。对于线性程序,可以做到基本无回溯的搜索。文中提出的爬山法,在求解严格的约束比如等式时也有非常好的效果。

下载App查看全文

(如何获取全文? 欢迎:、、)

支持CAJ、PDF文件格式


【相似文献】
中国期刊全文数据库 前20条
1 陈绍英;金成姬;;性能测试用例[J];程序员;2004年11期
2 缪淮扣,占学德,刘玲;基于UML Statecharts的测试用例生成[J];小型微型计算机系统;2005年04期
3 生佳根,朱俊武,解洪成,於跃成;一种基于本体的测试用例研究与应用[J];计算机工程与应用;2005年23期
4 张德平,聂长海,徐宝文;划分测试中测试用例最优分配问题研究[J];南京大学学报(自然科学版);2005年05期
5 王崇霞;根据用例设计测试用例[J];电脑开发与应用;2005年10期
6 杨劲涛;郭荷清;;一种精简测试用例方法的研究[J];计算机科学;2005年05期
7 李冰,陈自力,马飒飒;软件测试用例生成综合策略研究[J];计算机测量与控制;2005年04期
8 吕格峰;邹北骥;周浩宇;孙家广;;一种针对交互式软件的测试用例生成模型研究与实现[J];小型微型计算机系统;2006年01期
9 杨劲涛;郭荷清;;黑盒测试用例基的研究[J];计算机工程与科学;2006年05期
10 罗清胜;黎升洪;;基于划分分析方法的测试用例生成[J];现代计算机;2006年06期
11 易海胜;;单元测试用例设计方法初探[J];武汉科技学院学报;2006年05期
12 金虎;李志蜀;李奇;;基于程序规则说明的自动测试用例生成[J];四川大学学报(自然科学版);2006年04期
13 付剑平;陆民燕;阮镰;;软件测试用例生成中的前置条件分析[J];计算机应用研究;2007年03期
14 杨劲涛;郭荷清;;基于模糊逻辑的测试用例揭错能力分析[J];计算机工程;2007年09期
15 朱海燕;范辉;谢青松;刘培强;;测试用例排序的研究[J];计算机工程与科学;2008年01期
16 余久久;;软件功能测试用例的设计过程及实践[J];电脑知识与技术;2008年32期
17 王子元;徐宝文;聂长海;;组合测试用例生成技术[J];计算机科学与探索;2008年06期
18 熊英;;类测试用例的设计与研究[J];微计算机信息;2008年03期
19 曾劲涛;陈建明;;有参数约束的两两组合覆盖测试用例生成的研究[J];苏州大学学报(自然科学版);2008年01期
20 陈策;王凤泰;赵绍才;;正交试验及其在软件测试用例设计中的应用[J];计算机应用与软件;2008年07期
中国重要会议论文全文数据库 前10条
1 王道堂;林春哲;张凯;;软件测试用例构造方法与手段[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
2 李磊;曹先彬;;基于进化的软件测试用例生成方法[A];2005年“数字安徽”博士科技论坛论文集[C];2005年
3 徐李勤;王洁宁;;基于层次有色Petri网的软件测试用例选取研究[A];全国第二届信号处理与应用学术会议专刊[C];2008年
4 林春哲;张凯;王道堂;;软件测试用例设计分析[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
5 张侠影;李志蜀;;一种优化的测试用例约简方法[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
6 张德平;聂长海;徐宝文;;划分测试用例选择策略研究[A];第五届中国测试学术会议论文集[C];2008年
7 郭从颖;;场景驱动测试用例设计及其测试自动化技术研究[A];中国计量协会冶金分会2008年会论文集[C];2008年
8 郭从颖;;场景驱动测试用例设计及其测试自动化技术研究[A];2008全国第十三届自动化应用技术学术交流会论文集[C];2008年
9 周晓燕;李兵;潘伟丰;覃叶宜;;基于错误传播概率网络的软件回归测试用例选择[A];第五届全国复杂网络学术会议论文(摘要)汇集[C];2009年
10 万琳;张威;马雪雁;陈曼青;;基于路径的测试用例自动生成技术[A];第十届全国容错计算学术会议论文集[C];2003年
中国博士学位论文全文数据库 前10条
1 李丽;航天相机主控软件测试用例自动生成技术的研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2010年
2 黄如兵;组合测试用例的自适应随机生成与优先级排序方法研究[D];华中科技大学;2013年
3 张娟;软件测试中测试用例复用的研究[D];上海大学;2012年
4 游亮;回归测试用例选择技术研究[D];华中科技大学;2012年
5 谢晓东;基于模型比较的软件测试用例生成方法研究[D];华中科技大学;2007年
6 李根;基于动态测试用例生成的二进制软件缺陷自动发掘技术研究[D];国防科学技术大学;2010年
7 邢颖;测试用例自动生成的分支限界算法及实验研究[D];北京邮电大学;2014年
8 钱思佑;图形用户界面测试中相关问题研究[D];中国科学技术大学;2010年
9 李军义;软件测试用例自动生成技术研究[D];湖南大学;2008年
10 马雪英;面向对象软件回归测试选择—测试用例最小化技术研究[D];浙江大学;2008年
中国硕士学位论文全文数据库 前10条
1 曹青;随机测试用例的自动化生成和约简[D];中国科学技术大学;2010年
2 张丽颖;基于本体的核电站生产用软件测试用例自动生成[D];上海交通大学;2009年
3 尹文洁;测试用例约简方法的研究与应用[D];太原理工大学;2011年
4 纪昌斌;基于谓词信息的测试用例生成系统设计与实现[D];南京大学;2011年
5 戴丽;组合测试用例生成技术的研究与应用[D];华南理工大学;2011年
6 吕格峰;基于功能对象的测试用例生成模型研究与实现[D];湖南大学;2005年
7 焦安涛;测试用例综合评价模型的研究[D];昆明理工大学;2009年
8 张薇;带参数约束的组合测试用例生成研究[D];安徽大学;2012年
9 邹明;组合测试用例生成技术研究[D];重庆大学;2012年
10 成亚玲;回归测试用例的优化选择研究[D];湖南大学;2012年
中国重要报纸全文数据库 前6条
1 深圳市信息无障碍研究会 戴杰;[N];人民政协报;2014年
2 谢敏 沈雪芳 戴金龙;[N];计算机世界;2005年
3 计算机世界实验室 韩勖;[N];计算机世界;2008年
4 《网络世界》记者 郑楠;[N];网络世界;2014年
5 ;[N];计算机世界;2002年
6 信息产业部软件与集成电路促进中心 于明唐仕武;[N];计算机世界;2007年
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978


{bck}| {bck体育官网}| {bck体育下载}| {bck体育app}| {bck体育}| {bckbet}| {bcksports}| {bck官网}| {bck}| {bck体育官网}| {bck体育下载}| {bck体育app}| {bck体育}| {bck}| {bck体育官网}| {bck体育下载}| {bck体育app}| {bck体育}| {bckbet}| {bcksports}| {bck官网}| {bck}| {bck体育下载}| {bck体育}| {bckbet}| {bcksports}| {bck官网}| {bck}| {bck体育下载}| {bck体育app}| {bck体育}| {bckbet}| {bck体育下载}| {bck体育app}| {bck体育}| {bckbet}| {bcksports}| {bck体育下载}| {bckbet}| {bcksports}| {bck体育官网}| {bck体育下载}| {bck体育app}| {bck体育}| {bck官网}| {bck体育下载}| {bckbet}| {bcksports}| {bck官网}| {bck体育app}| {bck体育}| {bcksports}| {bck官网}| {bck体育下载}| {bck体育}| {bckbet}| {bcksports}| {bck官网}| {bck体育}| {bcksports}| {bck官网}| {bck体育官网}| {bck体育下载}| {bck体育}| {bckbet}| {bcksports}| {bck}| {bck体育官网}| {bck体育下载}| {bck体育app}| {bck体育}| {bckbet}| {bck官网}| {bck}| {bck体育官网}| {bck体育下载}| {bck体育app}| {bcksports}| {bck官网}| {bck}| {bck体育官网}| {bcksports}| {bck体育下载}| {bck体育app}| {bckbet}|
{uc8}| {uc8体育}| {uc8官网}| {uc8老虎机}| {UC8娱乐城}| {uc8彩票}| {uc8}| {uc体育}| {uc8体育}| {UC体育}| {uc8官网}| {uc8老虎机}| {uc8体育}| {UC体育}| {uc8老虎机}| {uc8老虎机}| {UC8娱乐}| {uc8}| {uc体育}| {uc8体育}| {UC体育}| {uc8老虎机}| {uc8彩票}| {uc8}| {uc8体育}| {UC体育}| {uc8官网}| {UC8娱乐}| {UC8娱乐城}| {uc8}| {uc体育}| {uc8体育}| {UC体育}| {uc8官网}| {uc8老虎机}| {UC8娱乐}| {UC8娱乐城}| {uc8}| {uc体育}| {uc8体育}| {UC体育}| {uc8官网}| {uc8老虎机}| {UC8娱乐}| {UC8娱乐城}| {uc8}| {uc体育}| {uc8体育}| {UC体育}| {uc8官网}| {uc8老虎机}| {UC8娱乐}| {uc8彩票}| {uc8}| {uc体育}| {UC体育}| {UC8娱乐城}| {uc8}| {UC体育}| {uc8官网}| {uc8老虎机}| {uc8}| {uc体育}| {uc8体育}| {UC体育}| {uc8官网}| {uc8老虎机}| {UC8娱乐}| {UC8娱乐城}|