单元测试中自动打桩技术的研究与实现

来源 :北京邮电大学 | 被引量 : 11次 | 上传用户:lv_yj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
为了提高测试效率,缩短软件开发周期,自动化软件测试受到越来越多的关注。单元测试作为测试工作的第一步,对软件中的最小单元模块进行测试。任何模块都不是独立的,可能需要调用其它模块完成目标功能。单元测试一般采用打桩技术对被调用模块进行处理,现有打桩技术都存在自动化程度低或者影响测试覆盖率的缺点,需要进行进一步研究。论文围绕提高打桩的自动化程度和满足高覆盖率要求进行了如下工作:(1)提出了一种面向路径的自动化打桩方法,该方法以数据流分析技术、路径敏感的区间运算技术和符号执行技术为核心,确定函数调用的影响失效点,计算路径对函数各调用点的限定条件,桩函数根据路径限定条件和调用点的上下文信息动态调整输出,保证待测程序能够按照目标路径执行,提高单元测试的覆盖率。(2)为了对单元回归测试进行支持,定义了一种基于JSON文法的桩函数后置信息中间表示格式,并设计了相应的序列化和反序列化算法,实现桩函数后置信息反馈和持久存储,回归测试时,根据数据库中保存的信息驱动自动化桩代码生成,实现对回归测试的支持。作者在单元自动化测试系统(Unit Automatic Test System, UATS)中实现了上述方法,对大型开源程序进行测试的结果表明,该方式将平均覆盖率由50%提高到81%,对于等价表达式较多的函数,覆盖率提高了10倍,并能对单元回归测试进行有效支持,验证了其在单元测试中的作用。
其他文献
物联网具有广阔的发展前景,建立共性平台是未来物联网发展的重要趋势,也是物联网规模产业化的制高点。作为物联网感知层的核心组成部分,数据采集终端(简称“数采终端”)完成传感
团购是指将原本单独购买某种商品或服务的消费者组织起来,在一个较短的时间段内集中与商家发生交易,以求得更低折扣或者更优服务的一种购物方式。网络团购是以互联网作为媒介,将
随着计算机应用的深入开展和业务需求的增长,企业对IT系统的发布提出了更高的要求。传统的人工手动部署反应慢、过程复杂和不可控制,造成上线周期过长,导致了新功能的堆积、系统
双隐层主题模型是主题模型的一个变种。传统的主题模型方法比如LDA,PLSA都是单一隐层,对应着文本的主题变量,因而能够对文档的主题进行建模。而双隐层主题模型具有双隐变量,分别
碰撞检测技术是指检测虚拟场景中两个或多个物体对象之间是否碰撞,何时碰撞,何处碰撞等问题。碰撞检测技术在计算机游戏,物理仿真,虚拟技术,计算动画等领域得到广泛的应用。因其算
面向对象的组件开发方法采用全新的方法论,对很多经验不足的程序员来说,难以理解。加上结构化思想的干扰,使很多采用面向对象方法的应用开发并不能体现出优势。在这种情况下,采用
分布式总账自2009年由中本聪首次提出后,经过短短几年时间就取得了巨大发展,并自2013年起引起了学术界和工业界的广泛关注。与传统银行总账不同,分布式总账采用去中心化方式管理
随着互联网上的信息不断膨胀以及信息形式的日渐多元化,通用搜索引擎所需要采集、索引和查询的内容越来越多,然而面对庞大的搜索返回结果,用户寻找自己所需要的信息是一件很
随着互联网的飞速发展,不仅改变了人们的生活方式,也产生了巨大的信息资源。如何从海里的信息资源中高效准确地获取到知识成为了大数据时代亟需解决的问题。在众多的知识获取方
车辆监控系统的研究是集全球卫星定位系统(GPS)、地理信息系统(GIS)和无线通讯技术为一体产生的一个崭新的领域。它从系统的角度,考虑了人、路、车以及环境四个方面的因素。