基于免疫遗传算法的软件测试数据的自动生成研究

来源 :安徽大学 | 被引量 : 0次 | 上传用户:yyw953
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件技术的发展,软件测试受到越来越多的重视。在软件测试中,测试数据的选择是进行结构测试的一个难题,测试数据直接关系到错误能否被预期测出。对于测试数据自动化生成方法,目前虽然有一些方法被提出并使用,但由于其局限性,在实际中还没有完善的解决方法,有时只能凭借经验判断。  本文提出使用免疫遗传算法进行了对测试数据自动生成方法的研究。该算法是在传统的遗传算法中引入免疫算子,免疫算子包括获取疫苗、注射疫苗和免疫选择。其中,疫苗不是一个成熟或完整的个体,它仅具备最佳个体局部基因位上的可能特征。通过对个体注射疫苗使得新个体以较大概率适应最优解的取值范围。在免疫选择操作中,通过计算抗体之间的亲和度来促进和抑制抗体,从而既保留较优抗体又保证抗体的多样性,避免过早收敛。  本文首先介绍了软件测试技术和遗传算法。对于软件测试技术,介绍了软件测试的概念、分类、阶段划分及测试用例的选择方法。对于遗传算法,介绍了它的产生发展、基本概念、特点和基本术语,阐述了遗传算法的一般过程,分析了影响遗传算法的因素。  本文提出了免疫遗传算法,并将该算法应用到测试数据生成领域。首先在遗传算法的基础上,提出免疫遗传算法,并介绍该算法的基本概念、一般过程,阐述算法中的算子操作。其次阐述遗传算法应用于测试数据生成的理论依据。最后提出基于免疫遗传算法的测试数据生成的模型,介绍了程序插桩方式和分支函数,及其路径覆盖中的路径选择问题。  本文研究了在面向对象程序中免疫遗传算法生成测试数据的一个难点:类对象测试数据的生成。首先介绍一种类对象编码方法,该编码能够适合于免疫遗传操作。其次在海明距离法的基础上提出一种改进的适应度函数,并用一个简单的实例说明该适应度函数的计算过程。  最后,本文最后通过对比实验,给出实验结果和结果分析与比较。实验表明,使用免疫遗传算法进行测试数据生成方法,是灵活、有效、具有一定实用价值的。
其他文献
随着生物学研究在分子水平的展开,尤其是人类基因组计划的实施完成,产生了海量的生物数据,并形成了数以百计的生物数据库。这些生物数据后面隐藏着大量的生物学知识,如何有效
随着因特网及其相关技术的发展,分布式的各组织、单位之间的合作已成为一种现实。在这种分布式多域合作环境中,访问控制问题是各合作组织最为关心的一个问题——如何促成资源
云计算是2006年由Google CEO提出的把IT能力如计算力、存储空间、开发平台等作为一种服务提供出去的概念。如今,云计算已经引领了行业的发展趋势。传统的IT公司都已经开始布局
随着企业信息化步伐的加快,企业对于自身信息安全的需求也在逐渐的加强。使用公钥基础设施(PKI)是解决此类问题的关键基础。但是,在我国PKI的发展还远远不能满足企业的需求。
随着移动终端设备的迅速普及以及移动通信技术的不断发展,移动互联网已经全面进入人们的日常工作和生活。同时,基于位置服务(Location Based Service,LBS)也越来越受到人们的重视,
僵尸网络是一种极具威胁性的恶意程序,它可用于大规模网络攻击和网络经济犯罪,对政府、企业和个人的信息安全都构成严重威胁,其复杂的网络布局和通信协议使得针对僵尸网络的防范
在信息技术迅速发展的今天,数据库面临着严峻的安全问题。访问控制是解决数据库安全问题的一种重要方法。本文结合数据库安全和操作系统安全,将基于角色的访问控制方法、文件
Flash是以流控制技术和矢量图形技术等技术为代表的一种多媒体形式。通过将矢量图、位图、音频、动画、交互动作有机地、灵活地结合在一起,Flash这种多媒体形式能够制作出美
随着互联网行业的快速发展,如何快速高效处理大规模实时数据成为当前研究重点。可持续Top-K查询算法主要是用于流数据的应用上,基于某种函数关系实时选取得分最高的K项。这种算
人脸分析是近年来计算机视觉与模式识别领域里的热点研究问题之一,因为它在身份认证、视觉监控、人机交互、娱乐动画、以及多媒体等领域有着广泛的应用前景。人脸分析的研究