测试用例精简工具的研究

被引量 : 1次 | 上传用户:yanghong098
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试是发现软件中的缺陷、提升软件质量的常用方法,并且软件测试在软件开发过程中得到广泛应用。对于大型软件或一些重要软件而言,一方面,如何生成大量的、高质量的测试用例是非常重要的,这催生了测试用例自动生成方面的方法研究和工具开发。另一方面,测试用例自动生成工具产生的测试用例往往比较庞大,动辄成百上千行,对软件开发者和测试人员验证及修复缺陷带来很大的困难。因此,对测试用例的精简可以显著提升软件测试和开发的效率,它既是当前软件测试领域的一个研究热点,同时具有较高的实用价值。Creduce是一个精简测试用例的工具,可以将具有一定特性的大型c/c++程序精简为具有相同特性的更小的程序。在Creduce中,通过调用一系列插入的、灵活的转换去生成新的变体达到精简的作用,最终生成最简化的测试用例。插入Creduce的转换实际上是一个迭代器,通过遍历测试用例来实现源代码到源代码的转变。然而,我们在研究测试用例自动生成及精简的过程中发现,在Creduce代码中,对于转换的分类处理不够精简。Creduce工具一直重复遍历转换部分的代码,且对不同的转换进行排序。这样增添了许多不必要的处理,使代码的时间复杂度变高。且作为测试用例的来源Csmith,其产生的测试用例无法直接通过Creduce进行精简。Creduce每次只能处理单个测试用例,当处理大批测试用例时,需要测试人员对其进行不断的操作。另外,尽管在Creduce2.2.0版本中增添了并行化的处理,然而对于并行化的处理不够精简,在进程完成后没有对结果进行及时的判断,存储空间也没有得到释放。本文在Creduce的基础上,针对其并行化处理、测试转换分类及批量化等方面存在的问题,设计并实现了一个测试用例精简器Crpro。本文的主要改进包括两个方面:1、对并行化的处理进行优化,在进程完成后对结果进行判断并释放空间。2、对转换的分类处理进行精简,利用Csmith产生的测试用例作为输入进行评测,且对文件进行批量处理。实验表明,Crpro在测试用例精简方面具有较高的性能和有效性。
其他文献
以科学发展观为依据,采用三维魔方图分类法对广州市进行主体功能区划,划分为禁止开发区、限制开发区、重点开发区、优化开发区和土地储备区。在此基础上以30m×30m的栅格作为
今天的教育需要的是素质教育,其目的是育人。而作为一名人类灵魂的工程师——班主任,不仅担负着授业解惑的职责,同时他还是全体学生思想的引领者。为此,通过对班主任如何利用
项目成本控制是项目管理中最重要的环节之一。电力建设项目是我国电力行业的基础性建设工程,对我国经济与社会发展都具有重要的意义。输电线路项目的成本控制与管理是一项复杂
研究背景退行性腰椎滑脱症是导致中老年人腰腿痛的常见临床骨科疾病之一,随着人们现代生活方式的改变,本病的发病人群有年轻化的趋势。中医正骨手法是非手术治疗退行性腰椎滑
随着SaaS模式在国内外的兴起,越来越多的中小企业感受到了通过SaaS模式提供软件服务所带来的便利性。由于用户需求的多样化和Web技术的不断发展,SaaS系统的功能变得越来越庞
随着SaaS(软件即服务)模式越来越成熟,租户对云计算服务的使用越来越广泛,云计算的服务质量逐渐受到人们的关注。租户将数据存储在云端,云端出现错误,比如数据丢失,系统崩溃
自2010年初国务院发布海南建设国际旅游岛相关政策以来,海南航空业迅猛发展。2013年海南地区机场吞吐量已达到2480万人次,同比2010年增加900万人次,航班和旅客量屡创新高,成
2014年在宏观经济形势增速趋缓和产品价格下降的双重背景下,LED行业继续维持高速成长态势。随着全国范围内节能环保理念的推行,通用照明市场的开启带动了LED全产业链成长。LE
目的:比较单纯球囊扩张术与球扩式支架置入术及自膨式支架置入术在颅内动脉狭窄病变治疗中的可行性、安全性及中短期预后。材料和方法:回顾性分析2011年1月至2014年1月因颅内动
司法确认程序案外人权利救济制度,是指司法确认程序案外人在其合法权益受到经司法确认程序作出的调解协议确认裁定的约束而无法正常实现之时,通过一定司法程序使权利得以恢复