软件测试用例自动生成技术研究

软件测试用例自动生成技术研究

论文摘要

软件测试的工作量很大,据统计,测试时间会占到总开发时间的40%,一些可靠性要求非常高的软件,测试时间甚至占到开发周期的60%。由于测试的许多过程是重复性的,因此一些软件测试工作可以应用自动化方法来实现。近年来,虽然软件测试自动化技术与方法有了很大的发展,但还远没有成熟,现有的测试用例自动生成技术还无法满足当前软件测试的实际需要。为此,本文研究软件测试用例自动生成技术,对于解决目前测试现状有着重要的理论意义和实用价值。本文首先综述了目前国内外在软件测试用例自动生成技术方面所做的工作,并基于已有的一些研究成果,对软件测试用例自动生成技术进行了深入研究。主要包括以下五个方面的研究内容:基于EDPN模型的测试用例自动生成研究、基于扩展EDPN模型的测试用例自动生成研究、基于程序执行和回溯策略的路径分析与测试研究、基于选择性冗余的路径分析与测试研究、基于组合匹配的测试数据自动生成研究。论文主要工作如下:1.基于EDPN模型的测试用例自动生成研究:基于面向对象软件测试的层次划分、测试方法,给出了EDPN模型的定义,设计了基于EDPN模型的类测试模型,讨论了从UML图到EDPN图的转换,提出了基于EDPN有标记的唯一输入输出(UIO)测试用例的生成方法,并设计了相应的算法,讨论了上述算法自动生成测试用例的覆盖率问题,结果表明所有的状态转移都至少被覆盖一次,因此算法能保证测试是充分的。2.基于扩展EDPN模型的测试用例自动生成研究:在分析了面向对象系统中类之间相互关系的基础上,提出了一种基于带权EDPN迭代的面向对象系统的分割算法,以迭代的方法将面向对象系统分割成不同粒度而功能独立的测试子系统。另外,针对交互测试,提出了基于组合EDPN模型的交互测试方法,并将该模型运用于OATS方法中,扩展了OATS方法。给出了一种基于扩展OATS方法的测试用例自动生成算法,解决了组合冲突问题、测试用例过多而产生的测试用例爆炸的问题以及OATS方法不易扩展的问题等。最后针对类的层次测试,提出了一种基于事件消息驱动的Petri网的协同路径生成算法,分析表明算法符合OSC测试标准。3.基于程序执行和回溯策略的路径分析与测试研究:提出了基节点、控制节点、定义节点、定义相关控制节点集的概念,并给出了定义相关控制节点集的求解算法,在有机结合分支函数线性逼近和程序DUC表达方式的基础上,提出了一种基于倒置二叉树的测试数据自动生成算法。基于自动构造的倒置二叉树,新算法能快速找出程序中所有从源节点到基节点的可行路径,同时能为每条可行路径自动生成适合的测试数据。4.基于选择性冗余的路径分析与测试研究:基于选择性冗余思想,提出了一种测试数据自动生成算法。算法首先利用分支函数线性逼近和极小化方法,在找出程序中所有可行路径的同时对部分可行路径自动生成适合的初始测试数据集;当利用分支函数线性逼近和极小化方法无法得到正确的测试数据时,则针对未被初始测试数据集覆盖的谓词和子路径,基于选择性冗余思想,进行测试数据的增补。分析表明算法减少了测试数据的数量,提高了测试性能。5.基于组合匹配的测试数据自动生成研究:在已有成对测试的测试生成策略的基础上,提出了一种新的初始测试数据自动生成算法,然后基于匹配组合的思想,提出了一种成对测试数据自动生成算法。实验结果表明:从生成的测试集的大小及测试生成的时间消耗两方面评价,新算法要优于已有的相关算法。

论文目录

  • 摘要
  • Abstract
  • 第1章 绪言
  • 1.1 选题背景及意义
  • 1.2 论文研究内容
  • 1.3 本文结构
  • 第2章 相关技术及研究现状
  • 2.1 软件测试技术相关概念
  • 2.1.1 软件质量保证与软件测试
  • 2.1.2 软件测试技术分类
  • 2.1.3 软件测试阶段
  • 2.2 软件测试技术研究现状
  • 2.2.1 基于结构的测试用例生成技术
  • 2.2.2 基于功能的测试用例生成技术
  • 2.2.3 面向对象的测试及测试用例生成
  • 2.3 小结
  • 第3章 基于EDPN 模型的测试用例自动生成
  • 3.1 面向对象软件测试
  • 3.1.1 面向对象软件的特点及其对软件测试的影响
  • 3.1.2 面向对象软件测试的层次划分及测试方法
  • 3.1.3 UML 图与面向对象软件测试
  • 3.2 事件驱动的PETRI 网测试模型
  • 3.2.1 EDPN 模型描述
  • 3.2.2 基于EDPN 模型的类测试
  • 3.2.3 基于EDPN 模型的测试流程
  • 3.3 基于EDPN 模型的类的状态测试用例自动生成算法
  • 3.3.1 UML 状态图到EDPN 图的转换
  • 3.3.2 测试用例自动生成算法
  • 3.3.3 算法分析
  • 3.4 小结
  • 第4章 基于扩展EDPN 模型的测试用例自动生成
  • 4.1 基于带权EDPN 模型的测试方法
  • 4.1.1 面向对象系统的结构分析
  • 4.1.2 面向对象系统的带权EDPN 模型描述
  • 4.1.3 基于带权EDPN 的迭代分割算法
  • 4.2 基于组合EDPN 模型的类交互测试用例自动生成算法
  • 4.2.1 类交互测试中的组合问题
  • 4.2.2 基于正交阵列测试系统的测试数据
  • 4.2.3 用组合EDPN 模型优化正交阵列测试系统
  • 4.2.4 算法分析
  • 4.3 基于EMDPN 模型的类层次测试用例自动生成算法
  • 4.3.1 基于EMDPN 的交互图(EMDPNIG)模型
  • 4.3.2 基于EMDPN 模型的继承测试
  • 4.3.3 算法分析
  • 4.4 小结
  • 第5章 基于程序执行和回溯策略的路径分析与测试
  • 5.1 基于程序执行的路径分析
  • 5.1.1 分支函数与谓词切片
  • 5.1.2 控制节点与控制路径
  • 5.1.3 倒置二叉树
  • 5.2 基于回溯策略的测试数据自动生成算法
  • 5.2.1 基于倒置二叉树的测试数据自动生成算法
  • 5.2.2 “定义相关控制节点集”求解算法
  • 5.3 算法分析
  • 5.4 小结
  • 第6章 基于选择性冗余的测试数据生成
  • 6.1 测试集简约与选择性冗余
  • 6.2 基于选择性冗余的测试数据自动生成算法
  • 6.2.1 初始测试数据集的生成算法
  • 6.2.2 测试数据的增补算法
  • 6.3 算法分析与实验
  • 6.4 小结
  • 第7章 基于成对测试的测试数据自动生成
  • 7.1 成对测试原理
  • 7.2 现有成对测试方法分析
  • 7.2.1 基于递归方法的成对测试数据生成策略
  • 7.2.2 基于简约方法的成对测试数据生成策略
  • 7.3 基于匹配组合的成对测试数据自动生成算法
  • 7.4 算法分析与实验
  • 7.5 小结
  • 结论
  • 参考文献
  • 致谢
  • 附录A 攻读学位期间发表论文目录
  • 附录B 攻读学位期间主持与参与的项目
  • 相关论文文献

    • [1].一种动态约简的多目标测试用例优先级排序方法[J]. 计算机科学 2019(12)
    • [2].一种面向路径覆盖的测试用例进化生成方法[J]. 牡丹江师范学院学报(自然科学版) 2020(01)
    • [3].航天软件测试用例设计质量的评估及提升[J]. 质量与可靠性 2020(02)
    • [4].基于运行剖面的测试用例分配与选择方法[J]. 计算机工程 2020(06)
    • [5].基于测试用例库的复用方法研究[J]. 电脑知识与技术 2018(32)
    • [6].基于变异分析的测试用例约简方法[J]. 计算机应用 2017(12)
    • [7].测试用例复用在电子采购交易平台中的应用[J]. 计算机与数字工程 2018(01)
    • [8].融入自适应迁移的路径覆盖测试用例进化生成[J]. 计算机应用研究 2016(12)
    • [9].测试用例修复的方法与工具综述[J]. 现代计算机(专业版) 2017(02)
    • [10].基于模型的软件测试用例生成方法比较研究[J]. 现代计算机(专业版) 2017(04)
    • [11].符号执行技术在测试用例生成中的应用[J]. 现代计算机(专业版) 2017(04)
    • [12].面向测试用例生成的集合进化算法实现[J]. 牡丹江师范学院学报(自然科学版) 2017(02)
    • [13].组合测试用例自动生成软件设计[J]. 自动化技术与应用 2017(05)
    • [14].基于死锁的并发类单元测试用例自动生成[J]. 计算机应用与软件 2017(04)
    • [15].多目标测试用例优先级排序研究进展[J]. 重庆工商大学学报(自然科学版) 2017(03)
    • [16].基于消息交互的测试用例编写方法的实现[J]. 萍乡学院学报 2017(03)
    • [17].基于变力度组合覆盖的信号处理软件测试用例生成[J]. 微电子学与计算机 2017(06)
    • [18].C语言软件错误定位的测试用例库构建[J]. 太原师范学院学报(自然科学版) 2015(04)
    • [19].基于聚类算法的测试用例排序[J]. 计算机工程与应用 2016(05)
    • [20].一种提高错误定位效率的测试用例选择方法[J]. 华东理工大学学报(自然科学版) 2016(04)
    • [21].软件测试用例设计[J]. 信息与电脑(理论版) 2016(12)
    • [22].基于正交试验设计的测试用例选择方法[J]. 计算机与数字工程 2016(08)
    • [23].一种基于蜕变关系的测试与失效测试用例定位模型[J]. 计算机科学 2016(10)
    • [24].基于需求特征的软件测试用例设计模型研究[J]. 高技术通讯 2013(08)
    • [25].基于开发思维的功能测试用例设计方法[J]. 汽车电器 2016(10)
    • [26].基于状态图的航天器测试用例设计[J]. 航天器工程 2014(06)
    • [27].软件测试用例管理方法初探[J]. 电子技术与软件工程 2015(05)
    • [28].一种测试用例库的建设方法研究与实践[J]. 电子制作 2015(06)
    • [29].优化遗传算法在软件测试用例方面的应用[J]. 科技创新导报 2015(08)
    • [30].测控软件测试用例库管理系统的研发[J]. 质量与可靠性 2015(03)

    标签:;  ;  ;  ;  ;  ;  ;  

    软件测试用例自动生成技术研究
    下载Doc文档

    猜你喜欢