白盒测试的方法研究

白盒测试的方法研究

论文摘要

针对软件测试中的白盒测试技术,分析了当前白盒测试的主要方法及存在的测试用例繁多,测试不充分,效率低下等问题。为了解决这些问题,重点介绍了DD图、流程图等概念,并以构造DD图无约束边集合和程序流程树为基础,给出了一个基于程序流程树的测试模型,该模型通过五个步骤来对程序代码进行测试。第一个步骤是提取程序片段,包括重要度评价与程序切分。如果是在集成测试阶段,需要分析模块复杂度,选取当前最重要的模块进行测试。如果是在单元测试阶段,可认为当前的惟一模块就是最重要模块。然后,将复杂程序代码利用程序切片技术,截取为若干有逻辑意义的代码片段。第二个步骤是程序流图构造。按照一定规则将程序流程图转换为程序流图。第三个步骤是DD图生成。在生成的DD图中提取无约束边集合,用于精简测试路径。第四个步骤是流程树获取,按照保持程序流图逻辑意义不变的原则,将程序流图转换为流程树,目的是为了化解程序流图回路,构造清晰的可测试路径。每一条从树根节点出发到叶子节点为止的路径都是一条可测试的独立路径。所有这些路径的集合覆盖了整个程序段。第五个步骤是最佳测试路径筛选。在流程树所有可测试的独立路径中,遵循尽量充分地覆盖DD图无约束边的原则,通过循环计算当前未被选中路径中包含当前未被覆盖的无约束边的个数,选择最佳测试路径,直到无约束边全部被覆盖,精简可测试路径数目,利用最少的测试路径达到最充分的覆盖。此外,分析了基于流程树的白盒测试方法同传统白盒测试方法的区别。最后结合一个实际的软件进行了测试验证。

论文目录

  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 课题的目的及意义
  • 1.2 白盒测试技术的国内外研究现状
  • 1.3 工作内容及论文结构
  • 第2章 白盒测试相关知识
  • 2.1 基本术语
  • 2.2 基本思想
  • 2.3 基本方法
  • 2.3.1 语句覆盖测试
  • 2.3.2 分支覆盖测试
  • 2.3.3 谓词覆盖测试
  • 2.4 白盒测试建模
  • 2.4.1 程序结构的复杂度
  • 2.4.2 程序切片建模
  • 2.4.3 测试路径建模
  • 2.5 本章小结
  • 第3章 流程树的相关技术研究
  • 3.1 模块复杂性的度量
  • 3.2 程序切片技术
  • 3.2.1 代码依赖关系
  • 3.3 基于DD图的路径构造
  • 3.3.1 主宰与蕴涵关系
  • 3.3.2 DD图的路径覆盖
  • 3.4 程序流程图向流程树的转换规则
  • 3.4.1 程序流程图向程序流图的转换规则
  • 3.4.2 程序流图向流程树的转换规则
  • 3.5 本章小结
  • 第4章 基于流程树的白盒测试方法
  • 4.1 基于流程树的白盒测试方法的基本思路与方法描述
  • 4.1.1 基本思路
  • 4.1.2 方法描述
  • 4.2 基于流程树的白盒测试方法的实验
  • 4.2.1 数据结构
  • 4.2.2 部分代码
  • 4.3 基于流程树的白盒测试方法特点与应用
  • 4.3.1 方法特点
  • 4.3.2 应用
  • 4.4 本章小结
  • 结论
  • 参考文献
  • 攻读硕士学位期间发表的论文和取得的科研成果
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    白盒测试的方法研究
    下载Doc文档

    猜你喜欢