基于需求分析的两阶段测试用例集优化研究

基于需求分析的两阶段测试用例集优化研究

论文摘要

随着软件技术的飞速发展以及软件应用的广泛普及,用户对软件的可靠性和安全性提出了更深层次的要求。软件测试是保障软件质量、确保程序正确性的必经流程和必要手段。但是随着软件系统的规模日益扩大,软件结构的复杂程度不断提高,使得软件测试的工作量和消耗的成本不可避免地增长,因此,测试过程的优化研究成为减少测试工作量和降低消耗成本的一个重要途径。测试用例的数量是影响测试工作量的原因之一。一方面,数量太大会导致测试执行时间太长;另一方面,数量太少则不能保证测试的完备性。因此,测试用例集优化的目的就是找到原用例集的一个子集,使得该用例子集在保证一定的代码覆盖性和错误发现能力的基础上,规模尽可能减小。本文提出了一种基于需求分析的两阶段用例集优化方法,分为需求切片和用例集优化两个步骤,如下所述:第一阶段,提出一种根据需求形式化描述的结构程序的切片算法RDS(Requirement-driven Slicing),该算法从程序切片的思想出发,构建基础依赖表BDT(Basic Dependence Table)和函数依赖表FDT(Function Dependence Table),从需求的最终执行语句开始向前回溯,直到找到该需求的初始化位置为止。之后,计算需求切片间的相交、包含关系。相比类似的同步动态切片算法,本文提出的算法结构清晰简洁易于实现,时间和空间性能较为优越。实验证明,该算法与同步动态切片算法计算切片的精度相近,同时计算复杂度要明显低于后者。第二阶段,对于前一个阶段切片计算的结果,首先给出了公共路径约减算法PPR(Public-path reduction),该算法依据公共代码的DDGRAPH图,求出代表所有路径的最简路径。如果一个测试用例能够覆盖该代表路径,就能覆盖该段代码,从而降低了判断一个用例是否覆盖该段代码的计算复杂性。最后,给出了需求-用例调整算法,对需求集及其对应的测试用例集进行优化。实验表明,该算法的用例集约减效果优于同类的基于贪心思想的G算法和GRE算法。

论文目录

  • 摘要
  • Abstract
  • 插图索引
  • 附表索引
  • 第1章 绪论
  • 1.1 测试集优化研究的背景和意义
  • 1.2 测试集优化的国内外研究现状
  • 1.3 本文的研究内容及主要工作
  • 1.4 论文结构
  • 第2章 测试用例设计方法概述
  • 2.1 主要的测试方法
  • 2.2 测试用例的设计方法
  • 2.2.1 等价类划分
  • 2.2.2 边界值分析
  • 2.2.3 因果图
  • 2.2.4 探索性方法
  • 2.2.5 统计测试
  • 2.2.6 控制流测试
  • 2.2.7 基于控制流的用例设计方法
  • 2.2.8 数据流测试
  • 2.2.9 程序变异
  • 2.2.10 域测试
  • 2.2.11 符号测试
  • 2.2.12 程序插装
  • 2.3 小结
  • 第3章 程序切片和测试集优化算法
  • 3.1 程序切片
  • 3.1.1 程序切片的发展概述
  • 3.1.2 程序切片的相关定义
  • 3.1.3 程序序切片的分类
  • 3.1.4 程序切片在软件测试中的应用
  • 3.2 用例集优化算法
  • 3.2.1 贪心算法
  • 3.2.2 HGS 算法
  • 3.2.3 GE 算法
  • 3.2.4 GRE 算法
  • 3.2.5 整数规划
  • 3.3 小结
  • 第4章 需求切片算法和需求-用例调整算法
  • 4.1 定义和定理
  • 4.2 需求切片算法
  • 4.2.1 需求切片算法
  • 4.2.2 实验及分析
  • 4.3 求解公共路径
  • 4.4 测试用例集的约减
  • 4.4.1 DDGRAPH 定义和性质
  • 4.4.2 路径约减算法 PPR
  • 4.4.3 实例分析
  • 4.4.4 需求-用例优化算法
  • 4.4.5 实验
  • 4.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文档

    猜你喜欢