高覆盖率自动测试数据生成工具的研制

[复制链接]
查看: 308|回复: 0

2万

主题

3万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
76894
发表于 2023-10-10 08:07:27 | 显示全部楼层 |阅读模式
目:


雅宝题库答案
****此区域为收费内容****    需支付 1 知识币后可查看,1币=0.01元查看答案


雅宝题库解析:
软件测试是构建可靠的软件产品过程中十分重要的阶段。面对日益复杂的软件系统,传统的手工测试越来越力不从心。自动测试工具大幅提高了测试的充分性和有效性,如何自动生成高覆盖率的测试数据是相关工具开发中重点关注的题目。现有结构化测试数据生成工具包括基于符号执行技术的静态工具、基于启发式搜索技术的动态工具和集成了随机技术的混合工具,但是它们分别面临执行代价高、覆盖率低和冗余数据等诸多题目。因此,本文设计了在合理的计算代价下,生成有较高覆盖率测试数据集的生成框架,并在框架下实现了自动测试数据生成工具。    本文提出的高覆盖率自动测试数据生成框架将测试数据生成过程分为随机测试和混合测试两阶段进行。随机测试阶段生成随机数据实际地执行被测程序,力求遍历更多的程序结构。混合测试阶段以静态方法中符号执行技术为核心,重点关注随机测试阶段未覆盖的程序结构,有针对性的生成路径,符号执行构造约束系统,约束求解得到测试数据。最后,将两阶段生成的测试数据整合,获得最终的测试数据集。    符号执行虽然能有效覆盖执行概率很低的语句,但是在时间和空间上运行成本较高,原因之一是生成路径过长或者路径集包含的路径数过多导致符号执行难以进行。此外,即便符号执行完成并且构造出使用程序输入表示的约束系统,由于约束本身的复杂性,求解代价较高,甚至难以求解。本文针对以上技术难点,引入了面向谓词的路径化简技术——路径切片,以及多策略的路径约束求解模式——启发式约束搜索求解模式两项新技术,降低符号执行的开销,提高测试覆盖率。    最后,在本文提出的高覆盖率自动测试生成框架下,使用路径切片和启发式约束搜索求解模式两项技术,针对C语言子集描述的程序,实现了自动测试数据生成工具Casper。实验表明,路径切片在不影响到程序的覆盖率的条件下,能有效压缩路径的长度并降低路径的复杂度;实现了启发式约束搜索求解模式的Casper在对多类对象的实验中,与静态方法和动态方法相比能够达到更高的分支覆盖率,有着更稳定的表现。





上一篇:稀土Er对Ti-16Al-27Nb合金组织和性能的影响
下一篇:建筑紧急疏散数值仿真系统的设计与实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐
|网站地图|网站地图