基于代码块覆盖的测试用例自动生成方法研究

来源 :西安理工大学 | 被引量 : 0次 | 上传用户:surezheng12345678
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着自动化技术的不断出现,越来越多的公司去关注“测试数据、用例设计自动化”以及“测试结果分析、定位、质量自动化”等。目前,对于大型复杂软件,人工检测很容易漏测,需要一个全自动的测试系统,能够通过计算,快速的覆盖程序所有逻辑,得到输入输出,从而辅助人工生成大量测试用例,同时发现一些软件缺陷。但是,自动化测试的前提是测试用例的自动化生成。因此,尽可能代码全覆盖、简单实用、性价比高的测试用例自动化生成方法的研究将成为目前亟待解决的问题之一。
  本文通过阅读大量的国内外参考文献,针对目前自动化测试用例生成技术现状,以及对目前存在的测试用例自动生成算法的比较分析,提出了一种基于代码块覆盖的测试用例自动生成方法,并且设计与实现了一套全自动的测试用例生成工具,完成测试用例的自动化生成。本文主要工作是首先利用插桩技术,对程序进行分块,然后利用遗传算法生成测试用例,最后针对未覆盖的代码块进行再次覆盖,实现了一种基于代码块覆盖的测试用例自动生成方法,提高了测试用例生成的效率和代码的覆盖率,帮助人工测试节省大量时间。主要的研究内容如下:
  1、代码插桩技术的研究。因为目前大部分的代码插桩工具大都是商用的,很多技术都不对外公开,大部分使用的都是按行插桩,在有效的代码中插入相同的探针,而且探针的类型都是传统的函数,造成代码膨胀、效率低下。因此,本文设计并实现一种基于代码块的插桩方法,完成针对源程序的自动化代码插桩。
  2、改进遗传算法的研究。通过对目前遗传算法生成测试用例技术的分析,研究目前遗传算法的原理以及在生成测试用例方面存在的缺陷和不足之处,提出了改进的思路和具体方法。通过改进的遗传算法,提高了生成测试用例的质量和效率,从实验结果分析,改进的遗传算法较传统的遗传算法在生成测试用例的效率与质量上有很大提高。
  3、未覆盖代码块测试用例再生成方法研究。研究针对一些在测试过程中还未覆盖到的代码块。本文利用程序的静态结构分析技术,提出了一个测试用例一旦覆盖了目标代码块的邻域(目标代码块的上层节点),那么它有很大的概率覆盖到该目标块的推测思路,通过一定的计算,求出满足要求的测试用例,再次生成测试用例来实现程序逻辑的全覆盖。
  本文提出的方法不仅实现了全自动的测试用例生成工具,井且通过一定的改进算法提高了测试用例的生成效率和质量,井且通过计算的方式,能够精确定位到哪个代码块未被运行到,可以更有针对性的生成测试用例,辅助人工测试节省了大量的时间和成本实验证明,本工具不仅能够生成大量的测试用例,井且在一定程度上能够提高生成测试用例的效率。该方法己申请发明专利,井作为某产品的一部分,即将投入使用。
其他文献
在研讨系统中,专家之间围绕一个主题进行研究讨论,以一种相互发送争议的劝说对话形式解决冲突、达成共识。劝说对话可以分为两种类型,一种是争议之间逻辑性较强、确定性的对话;一种是争议之间推测较多,极具不确定性的对话。在一次研讨中,由于专家知识的局限性,会出现研讨不充分导致达成的共识不够理性的情况。提取相关主题研讨历史中一致性的知识并构建为知识库可以给专家提供辅助支持作用。因此一次研讨中不仅需要得到研讨的
学位
信息技术的高速发展和数据爆炸性增长,越来越多的互联网用户选择使用云服务,云计算技术的发展也达到了前所未有的新高度。由于资源有限,企业和个人已经无法在本地对数据进行存储和计算,外包云计算技术应运而生。外包计算技术允许用户外包海量数据存储或耗时科学计算任务给存储和计算能力强大的云服务器。但是,外包计算为人们提供方便的同时,也不可避免地带来了一些新的安全挑战和问题。  模指数运算以及双线性对运算在密码学
学位
随着计算机技术的迅猛发展与不断革新和攻击手段的日益复杂化,网络攻击事件的频发对国家、社会造成的危害越来越恶劣。传统的安全技术面临着难以满足对网络全方位保障和对其状况精确掌握等问题。网络安全态势评估能够从整体上掌握网络环境的安全威胁变化,帮助决策人员正确分析安全变化情况并制定有效的应对策略,这对提高网络监测能力、威胁处理能力和保护信息安全方面具有关键性作用。因此,网络安全态势评估具有重大的研究意义。
随着信息技术的发展,当前医疗机构电子化越来越普及,为了更好地提供或得到医疗服务,实现临床信息的共享和交换必不可少。但是目前医疗系统间异构,数据标准、传输格式、数据格式不统一的问题严重阻碍了临床信息传递与交换,患者的临床信息无法得到充分利用,造成了医疗机构之间无法进行沟通。临床信息的交换与共享,可以使医疗服务人员获得病人任何时间、任何地点的相关信息。并且,临床数据的集成是实现分布式环境下临床决策支持
入侵检测系统作为防火墙的补充,可以通过主动防御的方式提前预判网络环境中存在的安全隐患并及时做出响应,协助防火墙保障网络安全。入侵检测系统的核心技术在于检测算法。高效、稳定的检测算法能通过较少的特征数据对网络中的连接进行精准识别,达到提前预警的目的。  本文针对入侵检测系统中的检测算法进行研究,在学习和研究同类算法的基础上展开讨论。全文主要工作如下:  (1)介绍了入侵检测系统的技术背景,国内外研究
学位
随着云计算和海量存储以及新的网络技术的急速发展,网络的安全与维护面临着许多的问题。首先,网络规模日趋庞大,网络带宽增长迅速,现有的网络监控设施缺乏足够的监测手段和扩展性来应对这种变化。其次,网络应用越来越丰富,以及各类潜在于流量中的网络威胁,使得网络资源变得匮乏,导致网络性能不断下降乃至崩溃,我们必须尽早预测出风险并展开适当的风险评估,进而保护网络资源。因此,实时有效地对网络资源风险进行预测及评估
学位
近年来,在嵌入式技术的推动下,可穿戴设备与可穿戴式系统得到了较大的发展。随着人们对于自身健康关注度的提高、对生活质量要求的提高和对电子产品接纳度的提高,与手表、服饰等日常用品相结合的可穿戴设备应用的研究成为当前国内外研究的热潮。而将可穿戴设备应用于医疗健康领域,逐渐得到人们的重视,尤其在我国老龄化逐渐增大的国情之下,设计与实现能够应用于日常健康检测的可穿戴式人体生理特征检测系统对于解决老年人的健康
共享单车于2014年开始爆发式地投放,解决了大学校园出行不方便的问题并不断向全体市民普及。虽然共享单车解决了城市居民出行问题,但共享单车爆发式的出现,共享单车的管理未能跟上步伐,共享单车的用户管理、定价结构、服务体系、运营资金管理、交通管理、停放管理以及维修管理等都诸多管理问题突显。本论文通过平台大数据分析,查找共享单车管理中存在的问题,优化服务体系、构建运营新模型,以细分市场、细分用户,实行针对
学位
随着云计算的日渐成熟,愈来愈多的用户把数据存储在云服务器上。由于云服务器不完全可信,保护数据的机密性同时提供查询的隐私性就成为云存储中的热点研究问题。可搜索加密技术的提出为云存储中这一难题的解决提供了可行的途径。然而,模糊关键词的可搜索加密,尤其是面向中文的模糊关键词可搜索加密仍然是值得深入研究的课题。  本文针对模糊中文关键词的可搜索加密方案展开研究工作,主要工作成果包括以下三个方面。  首先,
随着移动互联网的飞速发展,人们对基于位置服务的需求越来越强烈,室内定位技术越来越成为研究热点。室内定位在设备、人员的监控和管理等领域已经广泛应用。针对一种室内定位技术的定位精度不高的问题,本文研究了WIFI和蓝牙技术融合的定位方法。  首先,针对基于WIFI的位置指纹算法在室内定位中的关键问题进行了分析,室内复杂环境下WIFI信号强度波动较大,指纹特征和匹配算法是影响算法精度的两大因素。具体研究中
学位