新型软件测试技术研究与实现

新型软件测试技术研究与实现

论文摘要

软件测试是保证软件质量和可靠性的主要手段,而测试数据的设计是软件测试的重要环节,测试数据的自动生成是其关键和难点。随着软件技术的发展,程序的规模逐渐增大,复杂度也逐渐增加。在软件的开发过程中,完全依靠人力进行分析测试效率太低,而且不能保证软件质量。测试过程中的一个主要问题是生成具有一定覆盖度的测试数据,并且这些数据不属于等价类。如果有一种工具能自动地分析程序并且生成测试数据,将大大地提高软件的可靠性并且节约大量的人力。目前自动生成测试数据的工具已有很多,但是大多数都有一定的局限性,不能完全自动地生成测试数据,所能处理的数据类型也有限,也只能用于局部的单元测试。本文首先简要介绍该领域的研究进展,阐述了软件自动化的基本理论,着重对软件测试的试探法的遗传算法和马尔科夫链模型进行了深入研究,并在此基础上提出了改进,给出了新的测试用例的设计方法以及如何根据该方法自动生成测试用例。本文在遗传算法的基础上分析了自适应遗传算法,提出改进了的自适应遗传算法,并对它们分别进行了仿真分析。同时引入了遗传算法与模拟退火算法相结合的遗传模拟退火算法,验证了遗传模拟退火算法在搜索最优问题上的优越性。利用遗传模拟退火算法提出了面向路径的测试用例数据自动生成方法和基于覆盖率的测试用例方法。马尔科夫链使用模型是用随机过程模型来描述软件的使用方式,基于马尔科夫链模型的软件统计测试方法首先构造出软件的马尔科夫链使用模型,描述软件的使用方式,并结合遗传模拟退火算法自动生成状态转移概率矩阵,用于指导测试用例的生成。最后把遗传算法和马尔科夫链使用模型结合起来,实现高科软件测试的自动化测试工具系统的原型系统。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 研究背景及意义
  • 1.2 国内外研究现状
  • 1.3 课题来源和作者的主要工作
  • 1.4 论文结构
  • 1.5 本章小结
  • 第二章 软件测试技术
  • 2.1 软件测试的概念
  • 2.2 软件测试的过程
  • 2.3 传统软件测试的问题
  • 2.4 软件自动化测试技术
  • 2.4.1 自动化测试的生命周期
  • 2.4.2 适合自动化测试的活动
  • 2.4.3 自动化体系结构
  • 2.4.4 自动化测试优点
  • 2.4.5 自动化测试用例生成技术
  • 2.5 本章小结
  • 第三章 遗传算法及遗传算法的改进
  • 3.1 遗传算法
  • 3.1.1 遗传算法原理
  • 3.1.2 遗传算法技术在软件测试中的研究现状
  • 3.1.3 遗传算法的优缺点
  • 3.1.4 遗传算法与传统方法的比较
  • 3.1.5 遗传算法的设计
  • 3.2 遗传算法的改进
  • 3.2.1 自适应遗传算法
  • 3.2.2 模拟退火算法
  • 3.2.3 遗传模拟退火算法
  • 3.3 本章小结
  • 第四章 遗传模拟退火算法在自动测试上的运用
  • 4.1 面向路径的测试用例
  • 4.1.1 面向路径的测试用例设计
  • 4.1.2 面向路径的测试用例分析
  • 4.2 基于覆盖率的测试方法
  • 4.2.1 基于覆盖率的测试用例设计
  • 4.2.2 基于覆盖率的测试用例分析
  • 4.3 本章小结
  • 第五章 马尔科夫链模型在自动测试上的运用
  • 5.1 马尔科夫链概述
  • 5.2 马尔科夫链模型组成
  • 5.3 马尔科夫链与软件测试
  • 5.3.1 马尔科夫链使用模型的构建
  • 5.3.2 马尔科夫链使用模型参数分析
  • 5.3.3 马尔科夫链使用模型与测试覆盖
  • 5.3.4 马尔科夫链使用模型自动生成测试用例
  • 5.3.5 马尔科夫链使用模型测试用例生成分析
  • 5.4 本章小结
  • 第六章 高科软件测试系统原型
  • 6.1 测试工具工作原理
  • 6.2 模型转移矩阵自动生成模块
  • 6.3 遗传算法与模型转移矩阵连接模块
  • 6.4 遗传算法测试用例生成模块
  • 6.5 利用测试工具生成的一个实例
  • 6.6 本章小结
  • 第七章 论文总结
  • 7.1 本文的工作
  • 7.2 未来的工作
  • 致谢
  • 参考文献
  • 个人简历、在学期间的研究成果及发表的学术论文
  • 相关论文文献

    标签:;  ;  ;  ;  

    新型软件测试技术研究与实现
    下载Doc文档

    猜你喜欢