
论文摘要
在软件测试中,测试数据(Test Data)的选择是进行结构测试的一个难题,它的合适与否直接关系到错误能否被预期测出。随着软件系统规模的日益扩大,传统测试方法的局限性也越来越明显。在此背景下,本文将数据流(Data-Flow)技术和遗传算法(Genetic Algorithm, GA)结合起来,进行对测试数据自动生成技术的研究。本文首先介绍了软件测试的基本概念,方法和数据流测试技术。然后阐述了遗传算法的基本原理、步骤、特点以及其在软件测试中的运用,从而进一步根据二者优势互补的特性,提出基于数据流的测试数据自动生成算法。该算法扩展了数据流技术,它根据遗传算法进行参数的编码设计并构建初始种群,采用测试需求路径中的节点信息构造新的适应度函数评价个体优劣,再通过遗传算子完成进化过程,为待测程序生成能够覆盖测试需求的最优测试数据。最后为了证明本文所提出算法的高效性,将其与基于随机算法的控制流测试技术(简称为随机法)分别对3个程序进行了研究对比。实验结果表明,本文算法在覆盖率、搜索时间、迭代次数以及生成的测试数据规模上均优于随机法,构造的适应度函数能够充分利用数据流图中的节点信息,合理反映了对应解的优劣程度,能够以较高的成功率生成高质量的测试数据。
论文目录
摘要ABSTRACT第一章 绪论1.1 选题背景1.2 国内外研究现状1.3 论文主要研究工作第二章 软件测试技术概述2.1 软件测试的定义2.2 软件测试的目的2.3 软件测试思想2.3.1 软件测试过程2.3.2 软件测试技术分类2.4 测试数据自动生成技术2.4.1 测试数据生成技术2.4.2 遗传算法在测试数据生成中的应用2.5 本章小结第三章 遗传算法与数据流技术3.1 遗传算法概念3.2 遗传算法基本原理3.2.1 遗传算法的操作3.2.2 遗传算法的特点3.3 数据流技术原理3.4 本章小结第四章 基于数据流的测试数据自动生成技术4.1 数据流覆盖标准4.2 数据流应用4.2.1 数据流图4.2.2 静态数据流测试4.2.3 动态数据流测试4.3 遗传算法与数据流结合4.3.1 编码策略4.3.2 构造基于数据流的适应度函数4.3.3 选择、交叉、变异策略4.3.4 基于数据流的测试数据生成算法4.4 本章小结第五章 测试实验及分析5.1 数据流测试模块设计5.1.1 系统框架概述5.1.2 覆盖标准选择5.2 测试实现与结果评估5.2.1 待测试程序5.2.2 数据流图5.2.3 测试需求5.2.4 实验结果分析5.3 本章小结第六章 总结与展望6.1 总结6.2 本文创新点6.3 展望致谢参考文献攻读硕士期间所取得的相关科技成果
相关论文文献
标签:软件测试论文; 数据流论文; 遗传算法论文; 测试数据论文;