动态数据结构的测试数据自动生成方法研究

来源 :北京化工大学 | 被引量 : 0次 | 上传用户:nisshei5zd
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试是保证软件质量和正确性的重要手段。随着人们对其重要性的认识越来越深刻,它在整个软件开发周期中所占的比重日益增大。其中,测试数据生成是软件测试的核心与关键,直接影响到软件测试的效率和效果,而手工生成测试数据,将花费大量的人力和物力。因此,研究测试数据自动生成方法,具有十分重要的理论意义和广阔的应用前景。目前测试数据自动生成方法多是针对数值型数据,如整型数据、实型数据等。但在实际应用中,指针和动态数据结构使用较为广泛,并且现有的一些方法在处理动态数据结构、解决指针别名等方面的效率较低,这在一定程度上限制了软件测试数据生成方法的应用。为此,本课题针对动态数据结构,探讨了一种新的测试数据自动生成方法。本方法以面向目标为测试准则,共包含四个主要部分:测试路径生成、路径约束收集、路径约束解决和测试数据生成。首先,本课题探讨了一种新的测试路径生成方法,根据程序控制流分析和数据流分析的结果,对被测程序中的各个分支进行分类,依据分类的结果自动生成能够到达目标语句的路径。其次,针对动态数据结构预先不可知的特点,本课题探讨了一种新的测试数据生成方法,该方法通过模拟被测程序的实际执行来记录程序的执行信息,然后收集并解决选定路径的路径约束,最终在解决路径约束的过程中获得满足给定测试要求的测试数据,或判定目标语句为不可执行语句。课题的难点主要涉及以下两个方面:第一,针对软件测试中面向目标的测试,如何自动生成能够到达目标语句的可行路径;第二,针对动态数据结构,如何解决路径约束,并自动生成测试数据。实验表明,本方法可以快速地寻找到能够到达目标语句的路径,并高效地收集路径约束并有效地解决该约束,或者判断出目标语句是不可执行语句。生成的结果既满足了测试的需要,又可以在一定程度上指导软件缺陷的发现,从而提高了测试的效率。
其他文献
学位
自然语言处理是人工智能和语言学领域的分支学科。在这个领域中探讨如何处理及运用自然语言实现特定的应用。本文提出了一种实现自然语言处理应用的方法,称为面向应用的受限
随着信息技术的发展,越来越多的图像和视频出现在人们的生活中和互联网上。如何有效的管理和组织这些多媒体数据成为一个亟待解决的问题。对多媒体内容进行分析与理解,进而对
随着吸烟人群的增加及环境污染的严重化,慢性阻塞性肺病(Chronic Obstructive Pulmonary Disease, COPD)的发病率越来越高,其早期诊断与治疗方法的研究受到越来越高的重视。
计算机是人类最伟大的科学技术发明之一,其应用已非常普遍,也使得计算机软件的应用也越来也广泛。软件作为信息的载体,包含了许多应用中的私密数据和重大的商业价值。为此,软件安
伴随着Internet的飞速发展,Web上出现了海量的信息资源,如何从这些浩如烟海的信息资源中寻找并获取有价值的信息和知识模式,已经成为信息处理领域的一个亟待解决的问题。本体
传感器技术、无线通信技术和嵌入式技术的进步推动了传感器网络的产生和快速发展。传感器网络作为一个全新的研究领域,向科技工作者提出了大量的挑战性研究课题,而数据管理作为
随着计算机软硬件的高速发展,使得计算机模拟仿真技术也得到了长足的进步。目前这种技术已经广泛应用于航空(海)、医学、电力工业、建筑业、军事等多个领域,尤其在虚拟制造方
蛋白质序列之间的远程同源检测和蛋白质相互作用预测是计算生物学中一个中心的问题。诸如支持向量机(support vector machine, SVM)一类的分类器方法是目前使用最广泛、也是最
近年来,机器翻译自动评价的研究一直是国内外机器翻译界的研究热点。翻译自动评价不仅能够快速的评价机器翻译的质量,研究者们还可以把翻译评价的结果作为反馈信息来调整其机