精准测试方法、装置和计算机设备制造方法及图纸

技术编号:20160233 阅读:31 留言:0更新日期:2019-01-19 00:12
本申请提供一种精准测试方法、装置和计算机设备,上述精准测试方法包括:获取待测程序的迭代后版本与迭代前版本的版本代码;根据所述迭代后版本与所述迭代前版本的版本代码的差异,获取所述迭代后版本的增量函数;根据所述迭代后版本的增量函数查询用例函数关系库,获得所述迭代后版本的增量函数对应的回归用例,所述用例函数关系库中保存用例与函数,并且用例与函数之间存在对应关系;执行所述回归用例对所述待测程序的迭代后版本进行测试。本申请可以自动推荐需要执行的回归用例,精简了测试用例,提高了迭代频繁、系统复杂情况下的测试效率。

【技术实现步骤摘要】
精准测试方法、装置和计算机设备
本申请涉及互联网
,尤其涉及一种精准测试方法、装置和计算机设备。
技术介绍
游戏广告和电商是互联网三大现金流业务,急剧增长的收入背后是不断演进的广告平台的后台系统。广告平台的后台系统经过多年迭代,在流量拓展、市场营销、资源整合和大数据能力建设等方面不断创新,系统规模和复杂度呈指数级增长,这对质量保障带来了很大的挑战。1、项目迭代频繁,周期锐减,测试效率如何同步提升;2、系统高度复杂,改动影响范围如何准确评估;3、测试依赖人工经验,可信性如何精准量化。为了解决这些问题,现有相关技术在精准测试方向上进行了深入的探索,衍生了多种精准测试方案,典型的主要有以下几种。1、基于代码调用关系和人工知识库的精准测试方案;2、基于用例聚类的用例重构精准测试方案;3、基于白盒分析的精准测试方案。但上述精准测试方案存在以下缺点:维护成本高,代码变更后用例函数库无法自动更新,需要执行的用例数量庞大,测试效率较低。
技术实现思路
为克服相关技术中存在的问题,本申请提供一种精准测试方法、装置和电子设备。本申请的实施例采用如下技术方案:第一方面,本申请实施例提供一种精准测试方法,包括:获取待测程序的迭代后版本与迭代前版本的版本代码;根据所述迭代后版本与所述迭代前版本的版本代码的差异,获取所述迭代后版本的增量函数;根据所述迭代后版本的增量函数查询用例函数关系库,获得所述迭代后版本的增量函数对应的回归用例,所述用例函数关系库中保存用例与函数,并且用例与函数之间存在对应关系;执行所述回归用例对所述待测程序的迭代后版本进行测试。上述精准测试方法中,获取待测程序的迭代后版本与迭代前版本的版本代码之后,根据上述迭代后版本与迭代前版本的版本代码的差异,获取上述迭代后版本的增量函数,然后根据上述迭代后版本的增量函数查询用例函数关系库,获得上述迭代后版本的增量函数对应的回归用例,执行上述回归用例对上述待测程序的迭代后版本进行测试,从而可以自动推荐需要执行的回归用例,精简了测试用例,提高了迭代频繁、系统复杂情况下的测试效率。第二方面,本申请实施例提供一种精准测试装置,包括:获取模块,用于获取待测程序的迭代后版本与迭代前版本的版本代码;以及根据所述迭代后版本与所述迭代前版本的版本代码的差异,获取所述迭代后版本的增量函数;查询模块,用于根据所述迭代后版本的增量函数查询用例函数关系库,获得所述迭代后版本的增量函数对应的回归用例,所述用例函数关系库中保存用例与函数,并且用例与函数之间存在对应关系;测试模块,用于执行所述查询模块获得的回归用例对所述待测程序的迭代后版本进行测试。上述精准测试装置中,获取模块获取待测程序的迭代后版本与迭代前版本的版本代码之后,根据上述迭代后版本与迭代前版本的版本代码的差异,获取上述迭代后版本的增量函数,然后查询模块根据上述迭代后版本的增量函数查询用例函数关系库,获得上述迭代后版本的增量函数对应的回归用例,测试模块执行上述回归用例对上述待测程序的迭代后版本进行测试,从而可以自动推荐需要执行的回归用例,精简了测试用例,提高了迭代频繁、系统复杂情况下的测试效率。第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的方法。第四方面,本申请实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1为本申请精准测试方法一个实施例的流程图;图2为本申请精准测试方法中获取增量函数一个实施例的示意图;图3为本申请精准测试方法中获得回归用例一个实施例的示意图;图3a为本申请精准测试方法中用例与函数的对应关系一个示例的示意图;图4为本申请精准测试方法另一个实施例的流程图;图5为本申请精准测试方法中增量覆盖报告一个实施例的示意图;图6为本申请精准测试方法再一个实施例的流程图;图7为本申请精准测试方法中增量覆盖报告另一个实施例的示意图;图8为本申请精准测试方法再一个实施例的流程图;图9为本申请精准测试方法中建立用例函数关系库一个实施例的示意图;图10为本申请精准测试方法再一个实施例的流程图;图11为本申请精准测试方法的执行方案一个实施例的示意图;图12为本申请精准测试装置一个实施例的结构示意图;图13为本申请精准测试装置另一个实施例的结构示意图;图14为本申请计算机设备一个实施例的结构示意图。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。现有相关技术中,精准测试存在维护成本高,代码变更后用例函数库无法自动更新,需要执行的用例数量庞大,测试效率较低的问题。本申请提出一种精准测试方法,通过分析待测程序迭代前后两次版本之间变更的函数,评估代码影响范围,缩小回归范围,自动推荐需要执行的回归用例,精简了需要执行的测试用例的数量,提高了迭代频繁、系统复杂情况下的测试效率。图1为本申请精准测试方法一个实施例的流程图,如图1所示,上述精准测试方法可以包括:步骤101,获取待测程序的迭代后版本与迭代前版本的版本代码。步骤102,根据上述迭代后版本与上述迭代前版本的版本代码的差异,获取上述迭代后版本的增量函数。具体地,参见图2,图2为本申请精准测试方法中获取增量函数一个实施例的示意图,在SVNDIFF层获取待测程序的迭代后版本与迭代前版本的版本(Subversion;以下简称:SVN)代码之后,可以在函数分析层根据上述迭代后版本与上述迭代前版本的版本代码的差异,分析获得上述迭代后版本的增量函数,包括添加(ADD)、删除(DELETE)和编辑(EDIT)3种变化状态。另外,还可以在数据持久层将得到的版本信息、差异函数和/或行信息等存储到本地文件。在具体实现时,可以通过SVNDIFF命令获取上述迭代后版本与上述迭代前版本的版本代码的差异,如下所示:“svndiff-r$start_revision:$end_revision$target$username$passwd>$file”。需要说明的是,通过SVNDIFF命令得到的增量函数,由于存在函数名截断,需要通过行号信息和截断文件名去源代码文件进行正则匹配,获得上述增量函数准确的函数名信息。步骤103,根据迭代后版本的增量函数查询用例函数关系库,获得上述迭代后版本的增量函数对应的回归用例,上述用例函数关系库中保存用例与函数,并且用例与函数之间存在对应关系。具体地,参见图3,图本文档来自技高网...

【技术保护点】
1.一种精准测试方法,其特征在于,包括:获取待测程序的迭代后版本与迭代前版本的版本代码;根据所述迭代后版本与所述迭代前版本的版本代码的差异,获取所述迭代后版本的增量函数;根据所述迭代后版本的增量函数查询用例函数关系库,获得所述迭代后版本的增量函数对应的回归用例,所述用例函数关系库中保存用例与函数,并且用例与函数之间存在对应关系;执行所述回归用例对所述待测程序的迭代后版本进行测试。

【技术特征摘要】
1.一种精准测试方法,其特征在于,包括:获取待测程序的迭代后版本与迭代前版本的版本代码;根据所述迭代后版本与所述迭代前版本的版本代码的差异,获取所述迭代后版本的增量函数;根据所述迭代后版本的增量函数查询用例函数关系库,获得所述迭代后版本的增量函数对应的回归用例,所述用例函数关系库中保存用例与函数,并且用例与函数之间存在对应关系;执行所述回归用例对所述待测程序的迭代后版本进行测试。2.根据权利要求1所述的方法,其特征在于,所述执行所述回归用例对所述待测程序的迭代后版本进行测试之后,还包括:获取所述回归用例对所述待测程序的迭代后版本的增量覆盖报告,以及根据所述迭代后版本的增量函数确定所述迭代后版本的新增功能;确定所述迭代后版本的新增功能中未被所述回归用例覆盖的功能;根据未被所述回归用例覆盖的功能设置对应的新增用例;执行所述新增用例对未被所述回归用例覆盖的功能进行测试。3.根据权利要求2所述的方法,其特征在于,所述执行所述新增用例对未被所述回归用例覆盖的功能进行测试之后,还包括:从所述新增用例对所述待测程序的迭代后版本的增量覆盖报告中,获取所述新增用例对所述待测程序的迭代后版本的增量覆盖率;以及,从所述回归用例对所述待测程序的迭代后版本的增量覆盖报告中,获取所述回归用例对所述待测程序的迭代后版本的增量覆盖率;如果所述回归用例和所述新增用例的增量覆盖率在预先设定的置信区间中,则解析所述新增用例的执行数据,获取所述新增用例覆盖的函数;建立所述新增用例与所述新增用例覆盖的函数的对应关系,并将所述对应关系保存到所述用例函数关系库中。4.根据权利要求3所述的方法,其特征在于,还包括:如果所述回归用例和所述新增用例的增量覆盖率在预先设定的置信区间中,则解析所述回归用例的执行数据,获取所述增量函数中所述回归用例覆盖的函数;根据所述回归用例与所述回归用例覆盖的函数的对应关系,更新所述用例函数关系库中保存的对应关系。5.一种精准测试装置,其特征在于,包括:获取模块,用于获取待测程序的迭代后版本与迭代前版本的版本代码;以及根据所述迭代后版本与所述迭代前版本的版本代码的差异,获取所述迭代后版本的增量函数;查询模块,用于根据所述迭代后版本的增量函数查询用例函数关系库,获得所述迭代后版本的增量函数对应的回归用例,所述用例函数关系库中保...

【专利技术属性】
技术研发人员:魏贤全黄琳张晶晶
申请(专利权)人:腾讯科技北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1