基于数据流的测试数据自动生成技术研究

基于数据流的测试数据自动生成技术研究

论文摘要

在软件测试中,测试数据(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 展望
  • 致谢
  • 参考文献
  • 攻读硕士期间所取得的相关科技成果
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于数据流的测试数据自动生成技术研究
    下载Doc文档

    猜你喜欢