基于FitNesse的自动化回归测试模型和工具的研究

基于FitNesse的自动化回归测试模型和工具的研究

论文摘要

软件测试在软件的整个开发过程中占有非常重要的地位,是保证软件质量、提高软件可靠性的关键步骤之一。测试自动化是软件测试的一个发展趋势,人们在自动化软件测试方面做了大量工作,研发出很多的软件测试工具,用于实现自动化测试。早期的软件自动化测试工具在技术和功能上存在的不足:这些工具通常需要手工指定被测系统(System Under Test, SUT),指定待测试方法,手工编辑和调试生成测试脚本,所以测试脚本的可重用性和可维护性较差,当被测系统发生改变后,需要调整才能正确执行原来的测试脚本。测试用例的设计与生成是软件测试过程中的重要环节。全面测试需要大量的测试用例,单纯的手动生成方式往往十分困难。因此测试用例的自动生成便成为自动化测试中的一个重要问题。本文在研究当前软件测试用例自动生成技术及常用的测试用例自动生成算法基础上,受Simon Poulding和John A.Clark提出的参数分布寻优算法的启发,提出一种基于代码逻辑结构的参数分布寻优及组合边界值分析的测试用例生成算法(An Approach For Test Case Generation Based On Optimization Of Parameter And Boundary Value Analysis,简称TCG-OPBVA)。与Simon Poulding和John A. Clark提出的参数分布寻优算法相比较,关键不同点如下:(1)从控制流图自动导出输入参数的贝叶斯网络结构。先通过工具软件解析源代码,构造程序的控制流图,然后从控制流图自动化构造程序的参数的贝叶斯网络结构。(2)适应度函数。自动化构造参数的贝叶斯网络结构后,搜索算法只需对贝叶斯网络进行参数学习,因而可以去掉差异性约束项,同时也减少了人为规定覆盖性约束项与差异性约束项之间的权重因子所造成的不确定性影响。(3)边界值组合分析。抽样出测试集合之后,再按照组合边界值分析法增加适量的测试用例,形成最终的测试用例集。为了更好的实施自动化回归测试,应用TCG-OPBVA算法,基于验收测试框架FitNesse,提出一个自动化回归测试模型。基于该模型自主设计并实现了一个实用的自动化回归测试工具(Automated Regression Testing Tool,简称ARTT),用于对Java程序实施自动化回归测试。该工具具有以下特点:(1)自动生成测试用例。ARTT逐个解析被测系统中的被测试类,提取被测试类的测试信息,同时生成用于存储待测试方法的参数信息的XML文档。手工编辑这些参数的边界值后,ARTT依据这些参数信息,应用TCG-OPBVA算法能够自动生成测试用例。(2)自动构建Fit表格。ARTT根据提取到的测试信息以及生成的测试用例,能够构建运行在FitNesse环境下的带有测试用例的Fit表格。(3)自动生成测试代码。ARTT依据提取到的测试信息及Fit表格中的信息自动构建测试代码。ARTT采用类似于数据驱动的脚本技术,将测试输入值和期望输出结果单独存储在Fit表格中。其优点是能够方便地添加、删除或修改测试数据,并在不需要修改测试代码的情况下对一个方法进行回归测试。此外,由ARTT生成的测试代码还具有可读性、可重用性以及可维护性较好等特征。接着,本文针对ARTT的特点使用了实例对其进行验证。实验结果表明,本文提出的自动化回归测试模型是可行的。同时表明,应用TCG-OPBVA算法的ARTT工具能较方便地实施对Java程序的自动化回归测试,能高效的检测软件缺陷。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题研究的背景和意义
  • 1.2 国内外研究现状
  • 1.2.1 软件测试及自动化测试综述
  • 1.2.2 自动化测试工具的研究现状
  • 1.2.3 FitNesse框架的研究现状
  • 1.3 本文的主要研究内容
  • 1.4 论文的组织结构
  • 第二章 FitNesse框架
  • 2.1 Fit框架
  • 2.1.1 Fit简介
  • 2.1.2 Fit工作原理
  • 2.1.3 Fit的Fixture
  • 2.2 FitNesse框架
  • 2.2.1 FitNesse简介
  • 2.2.2 Slim测试系统的Fit表格
  • 2.2.3 FitNesse测试流程
  • 2.3 本章小结
  • 第三章 一种新的统计测试用例生成算法
  • 3.1 统计测试
  • 3.2 参数分布寻优算法
  • 3.3 新的统计测试用例生成算法
  • 3.3.1 概率表达
  • 3.3.2 适应度函数
  • 3.3.3 贝叶斯网络结构生成算法
  • 3.3.4 参数分布函数学习算法
  • 3.3.5 边界值组合覆盖测试用例生成算法
  • 3.4 实例研究
  • 3.5 本章小结
  • 第四章 基于TCG-OPBVA算法的自动化回归测试工具ARTT
  • 4.1 一种新的自动化回归测试模型
  • 4.2 ARTT的整体设计
  • 4.2.1 ARTT的目标
  • 4.2.2 ARTT的功能模块设计
  • 4.2.3 ARTT的界面设计
  • 4.2.4 ARTT的应用范围
  • 4.3 ARTT的功能实现
  • 4.3.1 ARTT的实现环境
  • 4.3.2 SUT解析模块
  • 4.3.3 测试信息存储模块
  • 4.3.4 Fit表格构建模块
  • 4.3.5 Fixture构建模块
  • 4.4 ARTT的应用
  • 4.4.1 配置测试环境
  • 4.4.2 提取被测系统信息
  • 4.4.3 编辑参数值信息
  • 4.4.4 构建Fit表格及测试代码
  • 4.4.5 执行测试
  • 4.5 本章小结
  • 第五章 总结与展望
  • 5.1 全文总结
  • 5.2 研究展望
  • 致谢
  • 参考文献
  • 附录A 存储测试信息的文档的DTD描述文件ClassInfo.dtd
  • 附录B 文法文件ClassInfo.g
  • 附录C 被测试类Maths.java
  • 在校期间发表的论文
  • 相关论文文献

    • [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)

    标签:;  ;  

    基于FitNesse的自动化回归测试模型和工具的研究
    下载Doc文档

    猜你喜欢