bck

收藏本站

面向复杂程序结构的测试用例自动生成方法研究

【摘要】:软件测试是在程序开发阶段对程序的功能进行验证的过程,是保障软件质量的最重要手段。在软件工程领域,一个重要的研究方向就是实现软件测试的自动化。其中,被测程序的测试用例自动生成,是自动化测试的关键问题之一。程序规模和复杂程度的不断增长,给快速生成满足高覆盖要求的测试用例带来了阻碍。因此,需要根据程序本身的特点,研究相应的测试用例自动生成方法。程序结构由控制结构和数据结构两方面因素组成。循环结构是一种基本的控制结构,使实际运行时程序的语句规模成倍增长,会导致程序的路径规模发生爆炸,这为测试用例自动生成带来两方面的困难:程序路径过多导致无法在有限时间内生成充分的测试用例;不可达路径的增多会影响测试用例生成的效率。数据结构可分为基本数据结构和复杂数据结构。基本数据结构在程序的执行过程中不会改变结构,只会改变值;与之相对的,复杂数据结构在程序的执行过程中既会改变结构,又会改变值。因此基本数据结构在测试用例生成中只需要分析取值;复杂数据结构的测试用例生成既要考虑结构,又需要考虑取值。字符串类型是一种常见并且广泛使用的复杂数据结构,由于其结构化的数据模型和函数化的操作方式,导致传统的数值类型用例生成方法无法为字符串类型生成测试用例。本课题从研究复杂程序的特点出发,对自动测试用例生成的一系列关键问题进行了深入研究,主要工作包括以下内容:1)包含循环结构的程序的路径生成方法研究。包含循环结构的程序中存在的路径爆炸情况,会导致自动测试用例生成过程中难以选择测试路径的问题。本课题提出了一种启发式引导的动静结合循环处理模型作为路径生成策略,对包含循环结构的程序进行自动测试用例生成。此模型从三个角度缓解循环导致的路径爆炸问题:1.依据循环结构相对于测试目标的相对位置对循环结构进行分类,利用不同策略对循环进行路径搜索;2.综合了静态分析,动态执行和符号执行对循环结构进行路径生成;3.利用目标函数为路径搜索提供引导信息。此模型被称为“启发式引导的k+1循环处理模型”,能够集成到基于约束的自动测试用例生成框架中,对包含循环结构的程序中的目标进行测试用例自动生成。2)不可达路径分布和检测技术研究。程序中的不可达路径会影响自动测试用例生成的效率,当程序中包含循环结构时,不可达路径的数量也会增多,为自动测试用例生成带来困难。导致不可达路径的直接原因是路径上存在矛盾的约束,矛盾约束出现的位置会影响使用不同方法进行路径可达性判定的效率,但是,目前缺少对于矛盾约束出在程序中的分布规律的研究。本文对于实际工程中存在的不可达路径的经验性分析表明,大部分不可达路径存在一些共同的特征,此类特征会对程序路径的可达性造成影响。本文将此特征总结成为一个代码片段模式,并且归纳代码模式与不可达路径的矛盾约束分布之间的关联关系,统计数据验证了此代码模式的特性。针对包含此类代码模式的程序,可以利用基于符号执行技术的反向分析技术进行高效的不可达路径判定。实验结果表明,对于指定程序目标,利用反向不可达判定技术能够比正向技术更快速的判定不可达路径。此结论的意义在于,对于包含特定代码模式的程序,对其中特定的程序目标使用针对性的分析方法,可以达到更好的程序分析效果。3)字符串类型的测试用例自动生成问题研究。字符串类型是一种常见的数据类型,通常利用字符串库函数进行操作。大多数测试用例生成工具并不支持字符串函数的约束求解,因此很难生成准确的字符串类型测试用例。本文基于数组数据模型,提出了一种利用原子函数表示字符串函数约束的约束描述方法,然后利用分步骤的求解过程来得到最终的字符串类型测试数据:首先,得到满足下标约束的部分解,将字符串约束化简为数组成员约束;然后利用已有的支持数组类型的约束求解器进行求解得到字符串测试用例。此方法解决了包含字符串类型以及字符串函数的程序的测试数据自动生成问题,扩大了自动测试数据生成工具的处理能力。4)以上技术均在代码测试系统CTS中进行了实现以及进行了实验数据分析,实验结果验证了所提方法对于相应问题的应用效果。

下载App查看全文

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

支持CAJ、PDF文件格式


【相似文献】
中国期刊全文数据库 前20条
1 于海;杨月;王莹;张伟;朱志良;基于风险分析的回归测试用例优先级排序[J];计算机学报;2017年期
2 曹小鹏;张莹;唐煜;;混合测试用例自动生成算法[J];计算机技术与发展;2018年09期
3 徐鹏;刘嘉勇;林波;孙慧颖;雷斌;基于循环神经网络的模糊测试用例生成[J];计算机应用研究;2019年10期
4 王曙燕;陈朋媛;孙家泽;;基于变异分析的测试用例约简方法[J];计算机应用;2017年12期
5 杨军;卢彩霞;黄辰;王婷;;测试用例复用在电子采购交易平台中的应用[J];计算机与数字工程;2018年01期
6 范会联;曾广朴;;融入自适应迁移的路径覆盖测试用例进化生成[J];计算机应用研究;2016年12期
7 程雪梅;翟宇鹏;;测试用例修复的方法与工具综述[J];现代计算机(专业版);2017年02期
8 赵鹤;高婉玲;;基于模型的软件测试用例生成方法比较研究[J];现代计算机(专业版);2017年04期
9 曾嘉彦;;符号执行技术在测试用例生成中的应用[J];现代计算机(专业版);2017年04期
10 张功杰;谢春丽;;面向测试用例生成的集合进化算法实现[J];牡丹江师范学院学报(自然科学版);2017年02期
11 魏长安;王钢;盛云龙;张永卓;;组合测试用例自动生成软件设计[J];自动化技术与应用;2017年05期
12 臧丽娜;;基于死锁的并发类单元测试用例自动生成[J];计算机应用与软件;2017年04期
13 杨芳;丁晓明;;多目标测试用例优先级排序研究进展[J];重庆工商大学学报(自然科学版);2017年03期
14 颜丽;;基于消息交互的测试用例编写方法的实现[J];萍乡学院学报;2017年03期
15 李萍;郭伟全;;基于变力度组合覆盖的信号处理软件测试用例生成[J];微电子学与计算机;2017年06期
16 王瑾;;C语言软件错误定位的测试用例库构建[J];太原师范学院学报(自然科学版);2015年04期
17 蔡景媛;任志磊;胡燕;朴勇;江贺;;基于聚类算法的测试用例排序[J];计算机工程与应用;2016年05期
18 付文豪;虞慧群;范贵生;;一种提高错误定位效率的测试用例选择方法[J];华东理工大学学报(自然科学版);2016年04期
19 居美云;;软件测试用例设计[J];信息与电脑(理论版);2016年12期
20 曾茂希;陆璐;;基于正交试验设计的测试用例选择方法[J];计算机与数字工程;2016年08期
中国重要会议论文全文数据库 前10条
1 周晓燕;李兵;潘伟丰;覃叶宜;;基于错误传播概率网络的软件回归测试用例选择[A];第五届全国复杂网络学术会议论文(摘要)汇集[C];2009年
2 王道堂;林春哲;张凯;;软件测试用例构造方法与手段[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
3 林春哲;张凯;王道堂;;软件测试用例设计分析[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
4 张侠影;李志蜀;;一种优化的测试用例约简方法[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
5 张德平;聂长海;徐宝文;;划分测试用例选择策略研究[A];第五届中国测试学术会议论文集[C];2008年
6 王斌;;软件测试用例相关问题探讨[A];中国原子能科学研究院年报 2013[C];2014年
7 周瑞杰;江国华;;基于遗传算法的面向对象类测试用例生成研究[A];2010通信理论与技术新发展——第十五届全国青年通信学术会议论文集(下册)[C];2010年
8 邱程;邬小鲁;何聪;范志容;李凯;;基于黑盒测试的车载影音娱乐系统测试用例设计方法[A];2016中国汽车工程学会年会论文集[C];2016年
9 章靠;丁佐华;;基于事件图的并发软件测试[A];第四届中国软件工程大会论文集[C];2007年
10 王新光;万定生;张希伟;;浅谈程序设计语言教学中工程能力的培养[A];2005全国计算机程序设计类课程教学研讨会论文集[C];2005年
中国博士学位论文全文数据库 前10条
1 张旭舟;面向复杂程序结构的测试用例自动生成方法研究[D];北京邮电大学;2018年
2 张功杰;基于集合进化与占优关系的变异测试用例生成[D];中国矿业大学;2017年
3 张慧;基于测试用例的错误定位技术研究[D];东南大学;2016年
4 刘玲;基于面向对象形式规格说明的测试用例生成技术[D];上海大学;2004年
5 占学德;基于UML statecharts测试方法的研究[D];上海大学;2005年
6 金虎;自动化软件测试技术研究[D];四川大学;2006年
7 李军义;软件测试用例自动生成技术研究[D];湖南大学;2008年
8 游亮;回归测试用例选择技术研究[D];华中科技大学;2012年
9 李丽;航天相机主控软件测试用例自动生成技术的研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2010年
10 邢颖;测试用例自动生成的分支限界算法及实验研究[D];北京邮电大学;2014年
中国硕士学位论文全文数据库 前10条
1 张磊;基于解空间树的组合测试并行测试算法的研究[D];哈尔滨工程大学;2015年
2 方正;基于碰撞域的自动化测试用例生成算法研究[D];南昌航空大学;2018年
3 张宇;面向数据类标准的测试用例自动生成方法研究及应用[D];北方工业大学;2018年
4 张伟;无人机航空软件测试用例自动生成方法研究与实现[D];电子科技大学;2018年
5 郭紫梦;基于果蝇算法的路径覆盖测试用例生成方法研究[D];安徽大学;2018年
6 邓秋辉;基于UVM验证平台的回归测试集生成和最小化研究[D];浙江大学;2017年
7 孙伟立;LED检测及Bin库的系统软件黑盒测试用例设计[D];华中科技大学;2016年
8 王砺磊;基于多项式约束求解的程序路径测试用例生成研究[D];华东师范大学;2017年
9 罗思放;基于改进粒子群算法的嵌入式软件测试用例自动生成技术[D];浙江大学;2017年
10 黄勤涛;基于支持向量机的测试用例生成方法研究[D];南昌航空大学;2017年
中国重要报纸全文数据库 前10条
1 本报记者 王欣;[N];通信产业报;2017年
2 罗德与施瓦茨(中国)科技有限公司;[N];通信产业报;2017年
3 特约撰稿 张勇;[N];计算机世界;2011年
4 计算机世界实验室 韩勖;[N];计算机世界;2008年
5 ;[N];计算机世界;2002年
6 信息产业部软件与集成电路促进中心 于明唐仕武;[N];计算机世界;2007年
7 谢敏 沈雪芳 戴金龙;[N];计算机世界;2005年
8 刘昶;[N];中国电子报;2007年
9 罗德与施瓦茨中国有限公司 刘昶;[N];通信产业报;2006年
10 罗德与施瓦茨中国有限公司产品支持部;[N];通信产业报;2013年
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 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娱乐城}|