基于演化的测试数据生成

来源 :中山大学 | 被引量 : 0次 | 上传用户:lulswhzx512
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试作为软件开发过程中的重要一环,对于保障软件质量起着至关重要的作用。随机测试技术是软件测试的重要技术之一,也是目前函数式程序测试的主要方法。而测试数据自动生成方法的正确性和有效性,是随机测试的根本。因此,测试数据生成方法的研究,对于测试技术乃至整个软件测试过程来说,都有着非常重要的意义。   QuickCheck、SmallCheck和LazySmallCheck等都是函数式程序语言Haskell的测试工具。SmallCheck和LazySmallCheck都是使用穷举测试方法,在某些情况下,测试时需要大量时间。而在测试一些需要前置条件的函数时,QuickCheck就不能够产生足够的数据来对相关的函数性质进行测试,从而出现“Argumentsexhausted”的问题。本文从这点出发,提出了利用演化思想的测试数据生成方法,提供了一个Haskell程序的自动化测试工具--ECheck。实验结果表明:ECheck在测试需要前置条件的函数性质上取得了比QuickCheck和SmallCheck更好的效果,不仅可以生成足够的数据,而且在有效性和时间效率上都得到了改进。最后,文章探讨了演化测试技术和一些优化智能算法在函数式程序测试中的应用。
其他文献
信息隐藏技术作为一种既古老而又年轻的技术,已成为信息安全领域的一个重要组成部分,是现代社会迫切需要解决信息秘密传输的一种途径。其作为一门覆盖大范围科学领域的学科,
敏捷软件开发方法是近年来软件行业提出的一种新方法,它能够适应迅速变化的需求,并能够快速开发出高质量的软件产品。敏捷软件开发方法是轻量型的开发方法,它没有严格的过程
人脸属性识别是模式识别和计算机视觉领域中的重要问题,包括了年龄估计、性别分析、头部姿态估计、人脸表情识别等等,在人机交互、安全系统、检索应用、智能交通等各个领域得
利用数据挖掘技术进行地震预测是一个令人感兴趣的学术研究领域,有着重要的学术价值和现实意义。本文探索基于数据挖掘技术的余震时间预测和震级预测的新途径,探索将流形学习
算法的参数自适应是数据挖掘领域一个重要的研究课题,它的目标是使算法参数能够进行自动调整,从而消除用户在算法参数设置经验方面的不足及差异,使用户能够方便地使用算法并得到
血管类疾病已经成为了世界范围内高死亡率、高致残率、高医疗风险的疾病之一。现代医学对血管类疾病的诊断和治疗常常需要借助一些成像工具对获取的血管数据进行成像和观察,
文件布局是文件系统的重要组成部分,其作用是保存文件的逻辑位置到物理位置的映射关系。良好的文件布局机制能有效缩短访问文件所需磁盘寻道时间,是提高并行文件系统数据访问
智能化供电系统是某大型数字处理机系统的重要组成部分,数字处理机系统能否可靠、稳定地工作,供电系统是关键因素之一,实现供电系统的智能化是提高供电系统工作性能的重要保证。
轨道车辆管理信息系统是一套供铁道部及铁路局铁路轨道车主管部门、业务管理机关,基层段等多层次使用的,信息集成与共享的,具有一定辅助决策支持功能的网络化的管理信息系统
入侵检测系统作为一种积极主动的安全防护系统,是防火墙的有益补充,提供了对信息的实时保护,能够在信息系统遭受攻击之前拦截和响应入侵。然而现状是入侵检测系统还不够成熟,
学位