支持测试驱动开发的新型覆盖率分析系统研究与实例设计

来源 :南京大学 | 被引量 : 0次 | 上传用户:ryan_cheng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
覆盖率分析技术是评价软件测试充分性的一项重要技术,它通过对程序的执行情况进行分析统计,对已有测试用例的测试充分性给出评价,并对进一步的测试提供指导。测试驱动开发是经过长期实践演化而成的一种新的开发方法学。它倡导先写测试用例再写实现代码,由程序员书写测试用例而不是专职的测试人员。而传统的覆盖率分析工具并不能有效地支持这种新型的开发方法学,所以我们对传统的覆盖率分析工具进行重新设计,给出了一个新型的覆盖率分析工具CodeCoverage。 论文对覆盖率分析系统及相关技术做了深入的研究,主要可以总结为以下三个方面:在本文的先导部分,笔者首先概述了软件测试技术及其最新进展;其次讨论了在软件测试领域里覆盖率分析技术的意义和重要性;接着介绍了软件开发与测试技术的新方法:测试驱动开发(TestDrivenDevelopment,TDD)。 在本文的主体部分,介绍了笔者近一年以来的研究设计课题:综合性软件测试工具CodeCoverage,这是一个自行设计的JAVA程序覆盖率分析工具,它能够支持测试驱动开发(TDD)。 笔者详细剖析了设计CodeCoverage所需要的关键技术与方法,包括覆盖率分析技术、语法分析与智能工具技术、测试驱动开发方法学。在覆盖率分析技术讨论中,详细分析介绍了常见的实用覆盖率分析方法:语句覆盖、分支覆盖、条件组合覆盖、弱变化覆盖等方法。在语法分析部分讨论了语法分析所用的两类方法(自顶向下、自底向上)及与之对应的工具,并重点介绍的用于JAVA的几个常用工具。在测试驱动方法学部分,则详细分析了这种方法学的优势所在及实施它需要用到的常用模式。 CodeCoverage包括十个模块:语法分析、检测代码植入、源代码生成、编译执行、覆盖率分析、XML报表生成、即时覆盖率分析与运行信息显示、记录与文件管理、IDE/JUnit集成、Ant集成。笔者对主要模块做了详细的功能设计和结构设计描述。其中重点分析了检测代码植入、IDE/JUnit集成两个核心模块。 对检测代码植入模块,本文讨论了它的植入引擎框架,各个覆盖率分析方法的代码植入设计。对于IDE/JUnit集成则分别介绍了Eclipse与JUnit的结构,并分析了将CodeCoverage与它们进行集成所采用的方法。 在本文的结尾部分,对于综合性软件测试工具CodeCoverage的研究和设计,笔者做了总结,并且对实现该软件测试工具的下一步工作做出了规划。
其他文献
该论文对RTEMS嵌入式操作系统体系结构的分析,并在此基础上设计了它的应用开发环境.该文主要集中在对设计方案的讨论.首先,在研读RTEMS源代码的基础上,讨论了嵌入式操作系统
该文提出了一种使用时序逻辑语言XYZ/E来描述软件体系结构模型的方法,同时该文介绍了一种基于软件体系结构的软件过程模型并且通过对基于RTRSM需求分析模型的研究,给出了从需
随着超大规模集成电路(VeryLargeScaleIntegratedcircuits,VLSI)高速发展,深亚微米工艺及多层布线技术广泛应用、器件密度急剧增长、工作频率不断提高,使互连寄生效应成为制约电
该文研究工作基于华为科技基金"IPv6路由器与IPSec安全网关系统的设计与原型实现以及基于其上的安全网络的组建"和"IPSec在IPv6中的实现以及基于其上的虚拟专用网的组建",在I
为了在需求分析阶段产生正确的、无二义性的、完整的和一致的需求规格说明,该文介绍一个实时系统需求分析模型,并提出了基于这个模型的检测方法.为了尽可能早地发现需求中的
在LTE-A(Advanced)中,提高小区边缘用户的性能成为了主要的研究方向之一,而多点协作通信(Coordinated Multi-Point,简称CoMP)正是用于解决这一问题的关键技术。  在CoMP系统
为用户提供服务的时间延迟主要分为网络的通讯和带宽延迟,和服务器的处理时间延迟.针对这两个方面,服务器选择策略主要有以下几个部分:服务器负载测量;客户端到各个服务器端的
随着实时系统的飞速发展,越来越多的实时应用程序不仅要求系统满足其实时性,同时还希望系统能够提供许多过去通常只在通用操作系统中提供的功能。另一方面,一些桌面系统也开始有
多媒体会议系统在Internet和电信网中都曾经得到开发和应用.MBone上的多播会议是基于Internet的多媒体会议的代表,虽然在异构网络互连和基本应用方面取得了一定的成功,但其控
该文首先介绍当前已有的建模理论和建模语言,以及MDA的发展背景和MOF在MDA中的作用;然后论述MOF的元数据体系结构,MOF模型包的组成和描述,MOF模型包的结构;紧接着针对MOF的不