参数替换测试方法及装置与流程

文档序号:12363476阅读:505来源:国知局
参数替换测试方法及装置与流程

本发明涉及计算机领域,尤其涉及一种参数替换测试方法及装置。



背景技术:

在广告投放系统与第三方的DSP(Demand-Side Platform,需求方平台)系统进行交互的过程中,为了便于统计数据,DSP系统在收到广告投放系统发送的广告投放请求之后,向广告投放系统发送包括待替换的宏参数的链接。广告投放系统在对宏参数进行参数替换之后,将包括替换参数的链接发送给DSP系统。

目前,对参数替换逻辑的测试,通常采用人工测试的方法。由工作人员触发第三方例如DSP系统发送包括待替换的宏参数的链接,并在完成参数替换之后,由工作人员检查链接包括的替换参数是否正确。但人工测试参数替换逻辑比较耗时,不能保证测试的覆盖率,回归测试时间也比较长。



技术实现要素:

技术问题

有鉴于此,本发明要解决的技术问题是,如何提高参数替换逻辑的测试效率。

解决方案

为了解决上述技术问题,根据本发明的一实施例,提供了一种参数替换测试方法,包括:

获取至少一个包括待替换的宏参数的参数请求链接;

根据参数替换逻辑,分别对各参数请求链接包括的宏参数进行参数替换,得到包括替换参数的各参数返回链接;

将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,得到所述各参数返回链接对应的替换结果;

根据所述各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行。

对于上述方法,在一种可能的实现方式中,根据参数替换逻辑,分别对各参数请求链接包括的宏参数进行参数替换,得到包括替换参数的各参数返回链接,包括:

分别查找到各参数请求链接包括的宏参数对应的标识信息;

根据参数替换逻辑和所述标识信息,将各参数请求链接包括的宏参数替换为替换参数,得到包括替换参数的各参数返回链接。

对于上述方法,在一种可能的实现方式中,将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,得到所述各参数返回链接对应的替换结果,包括:

将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,在所述替换参数与所述预设参数相同的情况下,所述替换结果为替换成功;或,

将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,在所述替换参数与所述预设参数不相同的情况下,所述替换结果为替换失败。

对于上述方法,在一种可能的实现方式中,根据所述各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行,包括:

在各参数返回链接对应的替换结果为替换成功的情况下,所述参数替换逻辑能够正常运行;或,

在各参数返回链接对应的替换结果存在替换失败的情况下,所述参数替换逻辑不能够正常运行。

对于上述方法,在一种可能的实现方式中,获取至少一个包括待替换的宏参数的参数请求链接,包括:

在发现待测试的系统的代码进行更新的情况下,触发各参数请求链接对应的业务请求链接,以获取至少一个包括待替换的宏参数的参数请求链接。

为了解决上述技术问题,根据本发明的另一实施例,提供了一种参数替换测试装置,包括:

获取模块,用于获取至少一个包括待替换的宏参数的参数请求链接;

替换模块,与所述获取模块连接,用于根据参数替换逻辑,分别对各参数请求链接包括的宏参数进行参数替换,得到包括替换参数的各参数返回链接;

比较模块,与所述替换模块连接,用于将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,得到所述各参数返回链接对应的替换结果;

确定模块,与所述比较模块连接,用于根据所述各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行。

对于上述装置,在一种可能的实现方式中,所述替换模块,包括:

查找单元,用于分别查找到各参数请求链接包括的宏参数对应的标识信息;

替换单元,与所述查找单元连接,用于根据参数替换逻辑和所述标识信息,将各参数请求链接包括的宏参数替换为替换参数,得到包括替换参数的各参数返回链接。

对于上述装置,在一种可能的实现方式中,所述比较模块,包括:

第一比较单元,用于将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,在所述替换参数与所述预设参数相同的情况下,所述替换结果为替换成功;和/或,

第二比较单元,用于将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,在所述替换参数与所述预设参数不相同的情况下,所述替换结果为替换失败。

对于上述装置,在一种可能的实现方式中,所述确定模块,包括:

第一确定单元,用于在各参数返回链接对应的替换结果为替换成功的情况下,所述参数替换逻辑能够正常运行;和/或,

第二确定单元,用于在各参数返回链接对应的替换结果存在替换失败的情况下,所述参数替换逻辑不能够正常运行。

对于上述装置,在一种可能的实现方式中,所述获取模块,具体用于

在发现待测试的系统的代码进行更新的情况下,触发各参数请求链接对应的业务请求链接,以获取至少一个包括待替换的宏参数的参数请求链接。

有益效果

本发明实施例的参数替换测试方法,根据参数替换逻辑对参数请求链接包括的待替换的宏参数进行参数替换,生成包括替换参数的参数返回链接,并根据各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行,能够提高参数替换逻辑的测试效率。

进一步地,本发明实施例的参数替换测试方法,可以应用于对各种类型的参数替换逻辑进行测试,能够模拟大量的参数替换场景,增加了测试的覆盖率,保证了参数替换逻辑的质量。

进一步地,在系统的代码进行更新的情况下,可以对与系统存在交互的各第三方发送的参数请求链接进行测试,能够极大提高测试效率,缩短回归测试时间,消除代码更新对参数替换逻辑的影响。

根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。

附图说明

包括在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。

图1示出根据本发明一实施例的参数替换测试方法的流程图;

图2示出根据本发明一实施例的参数替换测试方法的另一流程图;

图3示出根据本发明一实施例的参数替换测试方法的另一流程图;

图4示出根据本发明一实施例的参数替换测试方法的另一流程图;

图5示出根据本发明一实施例的参数替换测试方法的另一流程图;

图6示出根据本发明一实施例的参数替换测试方法的另一流程图;

图7示出根据本发明一实施例的参数替换测试方法的另一流程图;

图8示出根据本发明另一实施例的参数替换测试装置的结构框图;

图9示出根据本发明另一实施例的参数替换测试装置的另一结构框图;

图10示出根据本发明另一实施例的参数替换测试装置的另一结构框图;

图11示出根据本发明另一实施例的参数替换测试装置的另一结构框图;

图12示出根据本发明另一实施例的参数替换测试设备的结构框图。

具体实施方式

以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。

实施例1

图1示出根据本发明一实施例的参数替换测试方法的流程图。如图1所示,该参数替换测试方法,主要包括:

步骤101、获取至少一个包括待替换的宏参数的参数请求链接;

步骤102、根据参数替换逻辑,分别对各参数请求链接包括的宏参数进行参数替换,得到包括替换参数的各参数返回链接;

步骤103、将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,得到所述各参数返回链接对应的替换结果;

步骤104、根据所述各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行。

本发明实施例的宏参数可以包括需要替换的各种类型的批量参数,替换参数可以包括根据参数替换逻辑获取的用于将对应的宏参数进行替换的参数,本实施例不限定宏参数和替换参数的具体类型。其中,宏(Macro)可以是一种规则或模式,或称语法替换,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。这种替换在预编译时进行,称作宏展开。

具体地,宏参数可以通过带参数的宏定义实现。带参数的宏定义的一般形式如下:#define<宏名>(<参数表>)<宏体>。其中,<宏名>是一个标识符,<参数表>中的参数可以是一个,也可以是多个,视具体情况而定。<宏体>是被替换用的字符串,宏体中的字符串是由参数表中的各个参数组成的表达式。

参数请求链接可以包括在系统与第三方的交互过程中,第三方为了获取所需要的统计数据,例如,Mac(Medium Access Control,硬件地址)地址、IP(Internet Protocol,网络协议)地址等,而向系统发送的用于获取各种类型的参数的链接。参数返回链接可以包括根据参数替换逻辑对参数请求链接包括的宏参数进行替换之后,生成的包括替换参数的用于返回给第三方的链接。其中,链接可以用来传递参数和控制命令,并把它们组成一个可执行的整体过程。具体地,链接可以表示从一个网页指向一个目标的连接关系,所指向的目标可以包括另一个网页,也可以包括相同网页上的不同位置,还可以包括图片、电子邮件地址、文件、应用程序等。

作为本发明的一个示例,广告投放系统需要投一支第三方例如DSP系统的广告。在用户发来广告投放请求的情况下,广告投放系统向DSP系统发送请求信息,DSP系统在收到请求信息之后,返回应答信息。应答信息中包括DSP系统的参数请求链接。广告投放系统在收到DSP系统的参数请求链接之后,将其包括的宏参数替换,生成参数返回链接并发送给DSP系统。其中,请求信息和应答信息都可以通过例如JSON(JavaScript Object Notation)数据实现。

在一种可能的实现方式中,如图2所示,根据参数替换逻辑,分别对各参数请求链接包括的宏参数进行参数替换,得到包括替换参数的各参数返回链接(步骤102),具体可以包括:

步骤201、分别查找到各参数请求链接包括的宏参数对应的标识信息;

步骤202、根据参数替换逻辑和所述标识信息,将各参数请求链接包括的宏参数替换为替换参数,得到包括替换参数的各参数返回链接。

本发明实施例不限定宏参数的具体个数,例如,参数请求链接可以包括一个宏参数,也可以包括多个宏参数。在参数请求链接包括多个宏参数的情况下,可以查找到各宏参数对应的标识信息,例如,宏参数的名称、宏参数的地址、宏参数的编号等,在此不做限定。

作为本发明的一个示例,在广告投放系统接收到参数请求链接的情况下,根据例如宏参数的名称查找到宏参数。举例而言,参数请求链接为:http://www.sina.com.cn/yes/90003?mac=MAC,其中,MAC就是宏参数。然后,广告投放系统根据参数替换逻辑,将该宏参数替换为广告投放的设备的Mac地址,例如40-A8-F0-45-90-0B,生成包括该Mac地址的参数返回链接,例如http://www.sina.com.cn/yes/90003?mac=40-A8-F0-45-90-0B。

在一种可能的实现方式中,如图3所示,将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,得到所述各参数返回链接对应的替换结果(步骤103),具体可以包括:

步骤301、将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,在所述替换参数与所述预设参数相同的情况下,所述替换结果为替换成功;或,

步骤302、将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,在所述替换参数与所述预设参数不相同的情况下,所述替换结果为替换失败。

在一种可能的实现方式中,如图4所示,根据所述各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行,包括:

步骤401、在各参数返回链接对应的替换结果为替换成功的情况下,所述参数替换逻辑能够正常运行;或,

步骤402、在各参数返回链接对应的替换结果存在替换失败的情况下,所述参数替换逻辑不能够正常运行。

需要说明的是,参数替换逻辑可以是预先设计好的,因此生成的参数返回链接所包括的替换参数通常应当遵循参数替换逻辑。进一步地,将参数返回链接所包括的替换参数和预设参数进行比较,在替换参数与预设参数相同的情况下,说明生成的参数返回链接所包括的替换参数遵循参数替换逻辑,参数替换成功。在替换参数与预设参数不相同的情况下,说明生成的参数返回链接所包括的替换参数没有遵循参数替换逻辑,参数替换失败。

作为本发明的一个示例,如图5和图6所示,参数替换测试方法的具体流程如下:

S1、把不同的参数请求链接放在同一个数组中,例如数组A中。具体地,数组A中包括的各参数请求链接可以用于测试参数替换逻辑。本示例不限定数组A中包括的参数请求链接的个数和类型。一般而言,用于测试参数替换逻辑的参数请求链接的个数越多、类型越广,参数替换逻辑的测试越准确。

S2、本示例不限定每一个参数请求链接进行测试的具体顺序,例如,可以是串行测试,依次读取数组A中包括的参数请求链接,分别对每一个参数请求链接进行参数替换测试;也可以是并行测试,对数组A中包括的全部参数请求链接同时进行参数替换测试。其中,串行测试可以通过单线程的参数替换测试实现,并行测试可以通过多线程的参数替换测试实现。

S3、检查获取的链接是否是数组A中包括的参数请求链接,在获取的链接不属于数组A的情况下,视为数组A中包括的参数请求链接已经测试完毕。同时,这意味着在这之前的每一个参数返回链接对应的替换结果都为替换成功,进一步地,参数替换逻辑能够正常运行(步骤S6)。在获取的链接属于数组A的情况下,继续对该获取的链接执行步骤S4。

S4、执行参数替换测试。具体的,在步骤S4中,如图6所示,还包括如下子步骤:

S41、对包括待替换的宏参数的参数请求链接,根据参数替换逻辑进行参数替换。例如,对于参数请求链接,广告投放系统根据宏参数的名称例如Mac地址查找到宏参数。然后,根据参数替换逻辑,将该宏参数替换为广告投放的设备的Mac地址,例如40-A8-F0-45-90-0B,进一步地,生成包括该Mac地址的参数返回链接。

S42、检查参数返回链接是否替换正确。例如,在步骤S41中,广告投放系统将参数返还链接包括的Mac地址40-A8-F0-45-90-0B与实际投放的设备的Mac地址进行比较。

S43、若广告实际投放的设备的Mac地址为40-A8-F0-45-90-0B,通过步骤S42的比较,发现参数返还链接包括的替换参数与预设参数相同,则参数替换成功。

S44、若广告实际投放的设备的Mac地址为40-A8-F0-45-80-0A,通过步骤S42的比较,发现参数返还链接包括的替换参数与预设参数不相同,则参数替换失败。

S5、判断参数替换测试是否成功。在当前测试的参数返回链接对应的替换结果为替换成功的情况下,执行步骤S2,获取数组A中下一个待测试的参数请求链接。在当前测试的参数返回链接对应的替换结果为替换失败的情况下,进一步地,参数替换逻辑不能够正常运行(步骤S7)。

在一种可能的实现方式中,如图7所示,获取至少一个包括待替换的宏参数的参数请求链接(步骤101),包括:

步骤701、在发现待测试的系统的代码进行更新的情况下,触发各参数请求链接对应的业务请求链接,以获取至少一个包括待替换的宏参数的参数请求链接。

在本发明实施例中,通过触发业务请求链接,可以向第三方发送业务请求,从而引起第三方返回参数请求链接。作为本发明的一个示例,通过触发广告投放系统的广告投放请求链接(业务请求链接),广告投放系统可以向第三方例如DSP系统发送广告投放请求。进一步地,DSP系统在接收到广告投放请求之后,向广告投放系统发送替换Mac地址请求连接(参数请求链接)。

具体地,可以将本发明实施例的参数替换测试方法包装成测试模块。进一步地,可以通过例如Robot Framework框架编写测试平台,调用测试模块对待测试的参数请求链接进行测试。其中,Robot Framework是一款Python编写的功能自动化测试框架,其具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。

此外,还可以通过Jenkins监控持续集成的情况。待测试的系统的代码进行更新的情况下,触发各参数请求链接对应的业务请求链接,以获取至少一个包括待替换的宏参数的参数请求链接。在系统的修改比较频繁的情况下,可以节省大量的测试时间。其中,Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能可以包括持续的软件版本发布/测试项目,以及监控外部调用执行的工作。

本发明实施例的参数替换测试方法,根据参数替换逻辑对参数请求链接包括的待替换的宏参数进行参数替换,生成包括替换参数的参数返回链接,并根据各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行,能够提高参数替换逻辑的测试效率。

进一步地,本发明实施例的参数替换测试方法,可以应用于对各种类型的参数替换逻辑进行测试,能够模拟大量的参数替换场景,增加了测试的覆盖率,保证了参数替换逻辑的质量。

进一步地,在系统的代码进行更新的情况下,可以对与系统存在交互的各第三方发送的参数请求链接进行测试,能够极大提高测试效率,缩短回归测试时间,消除代码更新对参数替换逻辑的影响。

实施例2

图8示出根据本发明另一实施例的参数替换测试装置的结构框图。如图8所示,该参数替换测试装置,主要包括:获取模块11,用于获取至少一个包括待替换的宏参数的参数请求链接。替换模块13,与所述获取模块11连接,用于根据参数替换逻辑,分别对各参数请求链接包括的宏参数进行参数替换,得到包括替换参数的各参数返回链接。比较模块15,与所述替换模块13连接,用于将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,得到所述各参数返回链接对应的替换结果。确定模块17,与所述比较模块15连接,用于根据所述各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行。具体原理和示例可以参见实施例1以及图1的相关描述。

在一种可能的实现方式中,如图9所示,所述替换模块13,包括:查找单元131,用于分别查找到各参数请求链接包括的宏参数对应的标识信息。替换单元133,与所述查找单元131连接,用于根据参数替换逻辑和所述标识信息,将各参数请求链接包括的宏参数替换为替换参数,得到包括替换参数的各参数返回链接。具体原理和示例可以参见实施例1以及图2的相关描述。

在一种可能的实现方式中,如图10所示,所述比较模块15,包括:第一比较单元151,用于将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,在所述替换参数与所述预设参数相同的情况下,所述替换结果为替换成功;和/或,第二比较单元153,用于将所述各参数返回链接包括的替换参数与参数替换逻辑对应的预设参数进行比较,在所述替换参数与所述预设参数不相同的情况下,所述替换结果为替换失败。具体原理和示例可以参见实施例1以及图3的相关描述。

在一种可能的实现方式中,如图11所示,所述确定模块17,包括:第一确定单元171,用于在各参数返回链接对应的替换结果为替换成功的情况下,所述参数替换逻辑能够正常运行;和/或,第二确定单元173,用于在各参数返回链接对应的替换结果存在替换失败的情况下,所述参数替换逻辑不能够正常运行。具体原理和示例可以参见实施例1以及图4、图5和图6的相关描述。

在一种可能的实现方式中,所述获取模块,具体用于在发现待测试的系统的代码进行更新的情况下,触发各参数请求链接对应的业务请求链接,以获取至少一个包括待替换的宏参数的参数请求链接。具体原理和示例可以参见实施例1以及图7的相关描述。

本发明实施例的参数替换测试装置,根据参数替换逻辑对参数请求链接包括的待替换的宏参数进行参数替换,生成包括替换参数的参数返回链接,并根据各参数返回链接对应的替换结果,确定所述参数替换逻辑是否能够正常运行,能够提高参数替换逻辑的测试效率。

进一步地,本发明实施例的参数替换测试装置,可以应用于对各种类型的参数替换逻辑进行测试,能够模拟大量的参数替换场景,增加了测试的覆盖率,保证了参数替换逻辑的质量。

进一步地,在系统的代码进行更新的情况下,可以对与系统存在交互的各第三方发送的参数请求链接进行测试,能够极大提高测试效率,缩短回归测试时间,消除代码更新对参数替换逻辑的影响。

实施例3

图12示出根据本发明另一实施例的参数替换测试设备的结构框图。所述参数替换测试设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。

所述参数替换测试设备1100包括处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。

通信接口1120用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。

处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器1130用于存放文件。存储器1130可能包括高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。

在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:实现实施例1中的各步骤。

本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1