首页> 中文学位 >基于依赖性分析的面向对象程序测试技术研究
【6h】

基于依赖性分析的面向对象程序测试技术研究

代理获取

目录

封面

声明

论文审阅认定书

致谢

中文摘要

英文摘要

目录

图清单

表清单

1 绪论

1.1 选题依据(Introduction)

1.2 研究目标(Research Objectives)

1.3 国内外研究现状(Current Research Situation in Domestic and Foreign)

1.4 研究内容(Research Contents)

1.5 研究意义(Research Significance)

1.6 论文的结构(Structure of the Dissertation)

1.7 本章小结(Summary)

2 软件测试技术

2.1 软件测试技术(Software Test Technology)

2.2 类单元测试(Class Unit Testing)

2.3 类簇级测试(Class Cluster/Inter-class Level Testing)

2.4 国内外主要研究机构(Main Research Organization)

2.5 程序分析和测试工具(Analysis and Testing Tools of Program)

2.6 本章小结(Summary)

3 面向对象程序依赖性分析

3.1 研究背景(Research Background)

3.2 依赖性分析相关概念(Related Concept of Dependence Analyses)

3.3 类内部控制依赖分析( Intra-class Control Dependence Anaysis)

3.4 类间依赖性分析(Aanysis of Inter-class Relationships)

3.5 系统依赖图的构建(Construction of System Dependence Graph)

3.6 在程序切片中的应用(Application in Program Slice)

3.7 实验(Experiments)

3.8 本章小结(Summary)

4 不可达基路径的静态检测

4.1 研究背景(Research Background)

4.2 基路径集生成方法(Generation Method of Basis Path Set)

4.3 基路径中不可达路径检测(Infeasible Path Detection in Basis Path Set)

4.4 实例分析(Case Study)

4.5 本章小结(Summary)

5 类单元测试中路径覆盖测试数据生成

5.1 引言(Introduction)

5.2 目标路径的表示(Expression of Target Paths)

5.3 算法设计(Algorithm Design)

5.4 实验(Experiments)

5.5本章小结(Summary)

6 基于耦合度量的类测试序的确定

6.1 引言(Introduction)

6.2 估算测试桩复杂度的耦合度量方法(Coupling Measure of Stub Complexity)

6.3 类间测试顺序的确定算法(Determination Algorithms for Inter-Class Test order)

6.4 实验(Experiments)

6.5 本章小结(Summary)

7 基于测试级的类测试序的确定

7.1 引言(Introduction)

7.2 类间的依赖关系(Inter-Class Dependency Relationships)

7.3 消除环路算法(The Algorithms of Eliminating Cycles)

7.4 测试顺序分配策略(Test Order-Assigned Strategy)

7.5 实验(Experiments)

7.6 本章小结(Summary)

8 总结与展望8 Conclusions

8.1 本论文所做的工作(Achievements of This Dissertation)

8.2 进一步研究的问题(Further Work)

参考文献

附录1

附录2

作者简历

学位论文原创性声明

学位论文数据集

展开▼

摘要

软件测试是保证软件质量的重要手段,是一项成本昂贵、耗时耗力的复杂工作。面向对象程序分为方法级、类级、类簇级和系统级四个测试级别。研究发现,方法级、类级测试(单元测试)和类簇级测试(集成测试)是软件测试中关键的研究领域。本论文分别针对类单元测试中的路径覆盖测试数据生成问题和集成测试中类测试顺序的确定问题,研究面向对象程序测试技术及应用。
  类中的方法与传统程序中的过程(或函数)有一定区别,因此,本论文首先对包含异常处理结构的面向对象程序进行类簇级依赖性分析,研究异常处理结构对依赖性信息所造成的影响,进而准确地分析出程序中的控制流、数据流、控制依赖、数据依赖等信息,为系统的结构测试等软件工程的任务提供准确的信息。
  在程序依赖性分析的基础上,提出基于条件语句相关性的不可达路径静态检测方法:首先给出基于数据流信息的条件语句相关性判定原理,再利用条件语句相关性检测程序的不可达路径。本方法的创新点在于考虑了异常处理结构和别名对数据流信息的影响。实例分析结果表明,该方法可以提高路径的可达性检测结果的精确度,为有效解决路径覆盖问题奠定了基础。
  在路径可达性检测的基础上,针对基于路径覆盖的测试数据生成问题,提出了多路径覆盖测试数据生成方法。该方法首先将被测程序表示成控制流图,对目标路径采用语句标号结合分支走向的方法表示成混合串;然后采用遗传算法,一次执行生成多条路径各自的测试数据,设计的适应度函数综合考虑个体穿越的路径与每个目标路径的匹配程度。实验结果表明,该方法避免了冗余测试,有效提高了测试数据生成效率。
  类测试顺序的确定是类簇级测试中的一个重点和难点问题。针对只考虑类间静态依赖关系的情况下集成测试中的类测试序生成问题,以要被创建的测试桩的总体复杂度作为问题的优化目标,提出一种基于耦合度量的类间集成测试顺序的确定方法。该方法将类间耦合度量与基于图的启发式算法相结合,其中,前者用于度量每一个测试桩的复杂度,后者用于在保证测试桩总体复杂度尽可能小的条件下打破环路。首先提出一种度量中使用的耦合权重的计算方法,对测试桩的复杂度进行新的耦合度量;然后提出一种用于打破环路的基于图的启发式算法。实验结果表明,较现有方法相比,总体复杂度有明显的降低,节约了测试成本。
  在类间静态依赖关系构成环路的情况下,考虑面向对象中动态绑定特性以及抽象类不可实例化等特点,以被创建的测试桩的总个数作为问题的优化目标,提出一种基于测试级的类测试顺序确定方法。首先分析类之间的静态依赖和动态依赖关系;然后提出边的删除规则以及消除由静态依赖关系和动态依赖关系形成的环路的算法,在消除环路过程中保证测试桩的数目尽可能少;在此基础上进一步提出测试顺序分配策略和算法,进而确定基于测试级的类测试序列;但是,抽象类不可实例化的特点使得一些测试级不可行,因此,我们对其做了进一步调整,得到所有可行的测试级。实验结果表明,该方法较其它方法相比,需要较少的测试桩。
  本研究提高了测试数据的生成效率,并实现了自动生成类测试顺序的目标,一定程度上丰富了软件测试理论,具有重要理论意义和实际应用价值。
  该论文有图24幅,表45个,参考文献198篇。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号