基于内部状态检查的单元测试工具的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:chhy6266746
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试作为保证软件质量和可靠性的一种重要技术,开销在整个软件开发成本中占有很大比重。随着测试驱动开发的流行,开发者需要花大量时间在测试和调试工作上。对于开发者,编写测试用例和根据测试的失败信息去进行调试排错是一个非常耗费精力和时间的任务,如何有效地进行开发者测试,减轻开发人员的负担,成为了测试领域的一个重要问题。  本文基于程序插桩技术设计和实现了一个单元测试工具,针对Java语言,扩展了单元测试工具JUnit。用户可以根据需要,在测试用例中定义所关心的对象执行到代码中特定位置所必须满足的约束。从而,在测试用例中实现了被测代码内部状态的检查。通过内部状态的检查,可以提高测试用例的测试效率,帮助开发者在同等测试用例的情况下,发现更多的错误。  工具分为五个主要功能模块:用户交互模块、表达式解析模块、程序插桩模块、实时模块和执行模块。其中,表达式解析模块和程序插桩模块是工具的核心。表达式解析模块负责解析用户输入的约束,并在获取到相关的信息后,负责对约束求值验证。程序插桩模块负责在被测代码的特定位置插入额外的代码,用以获取被测代码执行时的相关信息。为了提高工具的效率,工具采用在被测代码执行时,对其可执行代码进行插桩。  最后,给出了两个使用示例,展示了工具的使用过程。通过示例,展示工具可以提高测试用例的测试效率,在同等情况下发现更多的错误。以及展示了怎样帮助使用者完成对被测代码逻辑的切分,使开发者在调试的时候更快地确定错误的位置。  
其他文献
与计算机相比,人眼属于高度进化的生物视觉系统,而视觉信号又是人类获取周边环境信息的最主要和最直观的来源,现实生活中80%以上的感官数据来源于视觉。所以我们可以非常轻易
数据存储技术是利用计算机硬件资源和软件技术对数据进行有效采集、处理和存储的过程,目的是为应用提供数据支持。随着数据数量的急剧增加及应用需求的多样化,数据存储技术面临
随着社会经济水平的不断提高,城市居民出行的需求也在不断攀升,为缓解交通需求与供给之间的矛盾,城市轨道交通新线不断建设并投入使用。为了在新线接入前定量化评价新线开通对路
随着时代的发展,云计算引起信息技术的获取与服务模式发生革命性变革,它提供高性能计算资源服务和大规模的廉价共享资源,通过虚拟化技术为众多用户构建虚拟资源环境,在当前各
随着3G网络通讯技术的发展,移动互联网的应用越来越广泛,移动互联网和传统的互联网相融合成为未来的发展趋势。越来越多的人们希望通过接入移动互联网获耿自己需要的信息,而不受
基于二维断层扫描医学图像的三维重建属于医学图像处理与分析领域重要研究内容,其通过对二维断层数据进行分析和处理,还原出被检物体的三维模型,便于医生从多角度、多层次进行观
分布式哈希表(Distributed Hash Table,简称DHT)是结构化对等网络组网方式的核心,广泛应用于各种大规模的分布式系统,例如目前主流文件共享应用eMule和BT等。DHT提供了一种去中心
随着移动互联网技术的不断发展,移动应用已经越来越广泛。目前移动终端已经拥有了强大的处理和存储能力,移动终端正在从简单的通话工具变为一个综合信息处理平台。这也给移动应
近年来,计算机技术和计算机图形技术正以十分迅猛的速度发展,在软硬件技术的带动下,三维虚拟服装设计与展示系统也呈现出繁荣的景象,并且对服装行业市场产生了深远的影响。服装设
运动目标检测是计算机视觉领域的一个重要研究课题,在智能视频监控、人机交互、视觉导航等许多领域有着广泛的应用。当场景中的光照有变化,特别是突然变化时,运动目标检测会变的