随机测试用例的自动化生成和约简

随机测试用例的自动化生成和约简

论文摘要

软件作为计算机的灵魂,在国民经济和社会生活等各方面都起着举足轻重的作用。软件质量问题直接影响各行业的正常运作,软件错误轻则给用户带来不便,重则造成巨大经济损失甚至人员伤亡。软件测试是保证软件质量和可靠性的重要手段,是软件开发中不可或缺的环节。随着用户对软件产品质量的要求不断提高以及软件工程技术的日益成熟,软件测试在整个软件开发周期中所占的比重越来越大。而设计测试用例是软件测试的核心问题,软件测试的好坏很大程度上取决于测试用例的质量和数量。设计测试用例往往需要手工完成,耗时长且效率低。因此,设计实现一种高质量的测试用例自动化生成工具,对于提高软件测试的效率和质量具有重要的研究意义和应用价值。本文针对测试用例生成这一核心问题,整合随机测试和不变量提取技术,设计实现了一个完全自动化的测试用例生成框架工具。在分析了随机测试优缺点的基础上,着重利用随机测试自动化程度高的优点,1)使用预设值技术来提高随机测试的覆盖率,且支持用户自定义预设值,可扩展性强;2)实现了复杂类型数据的递归生成,适用范围更广;3)引入错误测试用例过滤机制,保证测试用例的正常执行;4)不变量是程序执行过程中保持不变的逻辑断言,是对程序属性的一种描述。利用这一特性,实现了基于不变量变化的约简算法,对随机生成的测试用例进行有效的约简,使得最终生成的测试用例规模适度;5)为测试用例生成提供了新的终止标准,解决了以往以时间为限制条件的缺点。最终的程序输出包括三部分:可用于人工排错或回归测试的正常测试用例,能够揭示程序缺陷的错误测试用例,以及揭示程序属性的不变量。通过实验证明,本文实现的随机测试用例生成技术,可以在无任何人工干预的情况下,完全自动化的生成规模适度的测试用例;基于不变量技术的测试用例约简算法效果突出;输出的错误测试用例可以有效的揭示程序中的错误;与纯随机技术相比,带预设值的测试用例代码覆盖率显著提高;变异测试充分度达到不低于同类测试用例生成工具的水平。

论文目录

  • 摘要
  • ABSTRACT
  • 目录
  • 图目录
  • 表目录
  • 第1章 绪论
  • 1.1 课题背景及研究意义
  • 1.1.1 课题背景
  • 1.1.2 测试用例的重要性
  • 1.2 随机测试与程序不变量
  • 1.2.1 随机测试
  • 1.2.2 程序不变量
  • 1.3 现状分析及发展趋势
  • 1.3.1 软件测试发展现状及未来
  • 1.3.2 随机测试发展现状及未来
  • 1.3.3 不变量现状及未来
  • 1.4 本文的工作
  • 1.5 本文的结构组织
  • 1.6 本章小结
  • 第2章 相关理论与实践基础
  • 2.1 Java 反射机制
  • 2.1.1 反射机制介绍
  • 2.1.2 相关类及函数表单
  • 2.2 Daikon 工具介绍
  • 2.3 设计模式
  • 2.4 现有随机测试工具
  • 2.4.1 Randoop
  • 2.4.2 JCrahser
  • 2.4.3 Eclat
  • 2.5 本章小结
  • 第3章 随机测试用例生成器
  • 3.1 JRT 概述
  • 3.1.1 JRT 使用简介
  • 3.1.2 JRT 的工厂方法设计模式
  • 3.2 测试用例生成
  • 3.2.1 生成器设计
  • 3.2.2 生成步骤
  • 3.3 预设值的设定
  • 3.4 随机值的生成及复杂数据类型生成
  • 3.5 错误用例的过滤
  • 3.6 数据结构的使用
  • 3.7 本章小结
  • 第4章 基于动态不变量的约简
  • 4.1 Daikon 的自动化执行
  • 4.2 约简算法
  • 4.3 约简算法示例
  • 4.4 程序不变量
  • 4.5 本章小结
  • 第5章 实验分析与评估
  • 5.1 实验平台和测试对象
  • 5.2 阈值 N 实验
  • 5.2.1 阈值N 对JRT 结果的影响
  • 5.2.2 如何设定阈值N
  • 5.3 约简算法实验
  • 5.4 错误测试用例过滤实验
  • 5.5 预设值实验
  • 5.6 变异测试充分度分析
  • 5.7 本章小结
  • 第6章 总结
  • 6.1 全文总结
  • 6.2 今后研究展望
  • 参考文献
  • 致谢
  • 在读期间发表的学术论文与取得的研究成果
  • 相关论文文献

    • [1].不可数群上理想的基数不变量(英文)[J]. 四川师范大学学报(自然科学版) 2020(05)
    • [2].仿高阶矩的结点不变量及其组成的图不变量[J]. 计算机科学 2018(08)
    • [3].几何中的不变量剖析[J]. 林区教学 2013(04)
    • [4].彩色图像矩不变量理论研究进展[J]. 长春师范大学学报 2016(12)
    • [5].图的多项式不变量的一个推广[J]. 辽宁师范大学学报(自然科学版) 2014(04)
    • [6].抓不变量[J]. 小学生学习指导 2020(08)
    • [7].核心素养视角下物理观念的培养策略——以《探究碰撞中的不变量》为例[J]. 湖南中学物理 2020(01)
    • [8].挖出隐含不变量 熟练解答物理题[J]. 物理教学探讨 2011(07)
    • [9].面积法:一种不变量分析法[J]. 中学数学教学参考 2017(08)
    • [10].探求不变量 巧解动态题[J]. 福建中学数学 2018(03)
    • [11].不变量解题四功能[J]. 上海中学数学 2014(Z1)
    • [12].抓住不变量 优化解题过程[J]. 中学数学教学 2014(05)
    • [13].探求不变量 巧解动点问题[J]. 中学数学杂志 2014(10)
    • [14].不变量结论的借用[J]. 物理教学 2009(08)
    • [15].“探究碰撞中的不变量”教学设计[J]. 物理通报 2010(10)
    • [16].抓住题中不变量列方程[J]. 小学生学习指导 2016(28)
    • [17].以新的时空观念面对物理现象——辩证的绝对时空观[J]. 科学中国人 2017(02)
    • [18].用数量守恒解题[J]. 数理天地(初中版) 2016(03)
    • [19].动点问题三则(初三)[J]. 数理天地(初中版) 2016(09)
    • [20].以“退”为“进” 巧解物理问题[J]. 理科考试研究 2017(01)
    • [21].木杆滑动问题中的不变量及应用(初二)[J]. 数理天地(初中版) 2017(02)
    • [22].以“不变量”为解题突破口[J]. 数学小灵通(5-6年级版) 2016(10)
    • [23].解动态问题要关注题中的不变量(初三)[J]. 数理天地(初中版) 2016(07)
    • [24].第3讲 浓度与利润[J]. 课堂内外(小学智慧数学) 2017(Z2)
    • [25].分清单位“1” 抓住不变量[J]. 数学小灵通(5-6年级版) 2017(Z2)
    • [26].从科学守恒到数学不变量——一种数学文化的视角[J]. 语数外学习(高中版上旬) 2017(02)
    • [27].巧找不变量 妙解应用题[J]. 中学生数理化(七年级数学)(配合人教社教材) 2014(12)
    • [28].利用不变量原理解数论问题[J]. 中等数学 2014(09)
    • [29].从不变量入手[J]. 数学大世界(小学五六年级适用) 2013(11)
    • [30].以不变应万变——用方程解决不变量问题[J]. 读写算(小学高年级) 2013(11)

    标签:;  ;  ;  ;  

    随机测试用例的自动化生成和约简
    下载Doc文档

    猜你喜欢