一种混合接口性能测试方法和装置制造方法及图纸

技术编号:13841148 阅读:25 留言:0更新日期:2016-10-16 11:28
本发明专利技术公开了一种混合接口性能测试方法和装置,包括接收测试指令,将从所述测试指令中解析的测试数据存储到预设的测试数据库中;根据所述测试指令生成测试消息,将所述测试消息添加到预设的消息队列中;当监听到所述消息队列中的所述测试消息时,提取所述测试消息;根据所述测试消息在所述测试数据库中查找到对应的测试数据;读取所述测试数据生成测试请求,向所述测试请求指定的接口发送所述测试请求,获取所述指定接口返回的数据。因此,所述混合接口性能测试方法和装置解决现有性能测试工具无法实现对线上服务的各个接口按照实际访问量占比压测的问题。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是指一种混合接口性能测试方法和装置
技术介绍
目前,性能测试小工具采用python的gevent网络库框架,实现了混合接口指定并发次数的性能测试。其中,gevent实现了的一种协线程机制,多个事物在一个线程完成,可以设置协程的切换点,协程也可以自行切换,不需要等待IO。但在现有技术中,针对线上接口服务在一时间段内各个接口按照访问量占比压测需求,只能按照固定比例压测混合接口服务,测试结果接口压测占比不能完全和线上真正压测比例对应。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种混合接口性能测试方法和装置,解决现有性能测试工具无法实现对线上服务的各个接口按照实际访问量占比压测的问题。基于上述目的本专利技术提供混合接口性能测试方法,包括步骤:接收测试指令,将从所述测试指令中解析的测试数据存储到预设的测试数据库中;根据所述测试指令生成测试消息,将所述测试消息添加到预设的消息队列中;其中,所述测试指令包括向至少两个接口的测试数据;当监听到所述消息队列中的所述测试消息时,提取所述测试消息;根据所述测试消息在所述测试数据库中查找到对应的测试数据;读取所述测试数据生成测试请求,向所述测试请求指定的接口发送所述测试请求,获取所述指定接口返回的数据。在一些实施例中,读取所述测试数据之后,还包括:将所述测试数据进行拆分,获得至少两个接口的测试请求,并且每个接
口的测试请求包括接口的地址、并发数以及循环次数;根据所述至少两个接口的测试请求,分别向指定的接口发送测试请求。在一些实施例中,根据所述测试消息在所述测试数据库中查找到对应的测试数据之后,还包括:根据测试数据的字段,判断所述测试数据是否完整;根据判断结果,若完整则读取所述测试数据;若不完整则将所述测试数据库中的所述测试数据标记为无法测试,不执行所述测试指令。在一些实施例中,获取所述指定接口返回的数据之后,还包括:将所述测试数据库中的所述测试数据标记为完成测试;将所述返回的数据存储到预设的结果数据库中;其中,所述结果数据库中存储有测试指令信息与执行所述测试指令返回的数据的对应关系。在一些实施例中,所述测试消息包括测试指令名称、开始时间以及完成时间;提取所述测试消息之后,还包括:获取所述测试消息中的开始时间,启动监测进程;当监测到当前时间为所述的开始时间时,获取完成时间,并按照所述完成时间执行所述测试消息。在另一方面,本专利技术还提供了一种混合接口性能测试装置,包括:消息生成单元,用于接收测试指令,将从所述测试指令中解析的测试数据存储到预设的测试数据库中;根据所述测试指令生成测试消息,将所述测试消息添加到预设的消息队列中;其中,所述测试指令包括向至少两个接口的测试数据;测试数据获取单元,用于当监听到所述消息队列中的所述测试消息时,提取所述测试消息;根据所述测试消息在所述测试数据库中查找到对应的测试数据;测试执行单元,用于读取所述测试数据生成测试请求,向所述测试请求指定的接口发送所述测试请求,获取所述指定接口返回的数据。在一些实施例中,所述测试执行单元读取所述测试数据之后,还用于:将所述测试数据进行拆分,获得至少两个接口的测试请求,并且每个接口的测试请求包括接口的地址、并发数以及循环次数;根据所述至少两个接口的测试请求,分别向指定的接口发送测试请求。在一些实施例中,所述测试执行单元根据所述测试消息在所述测试数据库中查找到对应的测试数据之后,还用于:根据测试数据的字段,判断所述测试数据是否完整;根据判断结果,若完整则读取所述测试数据;若不完整则将所述测试数据库中的所述测试数据标记为无法测试,不执行所述测试指令。在一些实施例中,所述测试执行单元获取所述指定接口返回的数据之后,还用于:将所述测试数据库中的所述测试数据标记为完成测试;将所述返回的数据存储到预设的结果数据库中;其中,所述结果数据库中存储有测试指令信息与执行所述测试指令返回的数据的对应关系。在一些实施例中,所述测试消息包括测试指令名称、开始时间以及完成时间;所述测试执行单元提取所述测试消息之后,还用于:获取所述测试消息中的开始时间,启动监测进程;当监测到当前时间为所述的开始时间时,获取完成时间,并按照所述完成时间执行所述测试消息。从上面所述可以看出,本专利技术提供的混合接口性能测试方法和装置,通过接收测试指令,将从所述测试指令中解析的测试数据存储到预设的测试数据库中;根据所述测试指令生成测试消息,将所述测试消息添加到预设的消息队列中。当监听到所述消息队列中的所述测试消息时,根据所述测试消息在所述测试数据库中查找到对应的测试数据。之后,读取所述测试数据生成测试请求,向所述测试请求指定的接口发送所述测试请求,获取所述指定接口返回的数据。从而,本专利技术能够实现按照实际线上接口服务的需求进行测试,做到混合接口的压测占比基本符合线上服务真实请求比例。附图说明图1为本专利技术第一实施例中混合接口性能测试方法流程示意图;图2为本专利技术可参考实施例中混合接口性能测试方法流程示意图;图3为本专利技术实施例中混合接口性能测试装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施
例,并参照附图,对本专利技术进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。参阅图1所示,为本专利技术第一实施例中混合接口性能测试方法流程示意图,可以应用于服务器端,所述混合接口性能测试方法包括:步骤101,接收测试指令,将从所述测试指令中解析的测试数据存储到预设的测试数据库中。在实施例中,可以接收各个终端发送的测试指令。其中,所述的测试指令包括向至少两个接口的测试数据,即一个测试指令可以包括混合接口的测试任务。较佳地,通过解析测试指令可以获得注册成功的用户通过终端设置的测试数据。可以看出,在实施例中的测试数据是由用户动态设置的,不是预设、固有的。因此,根据接口的不同服务情况,可以动态设置其测试的数据。优选地,可以将所述测试指令的名称以及解析得到的测试数据一起存储到预设的测试数据库中。其中,所述的测试数据库为预先设置,并专门存储每个测试指令的测试数据。步骤102,根据所述测试指令生成测试消息,将所述测试消息添加到预设的消息队列中。作为一个实施例,可以根据所述的测试指令生成测试消息,而所述的测试消息可以包括测试指令名称、开始时间以及完成时间。其中,所述测试指令具有唯一的测试指令名称。所述的开始时间为执行所述测试消息的开始时间,而所述的完成时间是规定了必须在到达该完成时间点之前执行完所述测试指令。较佳地,所述的开始时间和完成时间从测试指令中获得,即可以由用户自己设置。当然,也可以预先设置好的,例如:所述开始时间可以为获得测试指令的时间点延时两分钟之后的时间点,所述结束时间可以为开始时间延时三分钟之后的时间点。因此,本专利技术可以设置测试数据的执行情况,使得整个测试过程更具灵活性。另外,所述的测试消息还可以包括该测试指令是第几次运行。也就是说,所述的测试指令还可以多次反复运行,而次数可以根据实际需要任意设
置。步骤10本文档来自技高网
...

【技术保护点】
一种混合接口性能测试方法,其特征在于,包括步骤:接收测试指令,将从所述测试指令中解析的测试数据存储到预设的测试数据库中;根据所述测试指令生成测试消息,将所述测试消息添加到预设的消息队列中;其中,所述测试指令包括向至少两个接口的测试数据;当监听到所述消息队列中的所述测试消息时,提取所述测试消息;根据所述测试消息在所述测试数据库中查找到对应的测试数据;读取所述测试数据生成测试请求,向所述测试请求指定的接口发送所述测试请求,获取所述指定接口返回的数据。

【技术特征摘要】
1.一种混合接口性能测试方法,其特征在于,包括步骤:接收测试指令,将从所述测试指令中解析的测试数据存储到预设的测试数据库中;根据所述测试指令生成测试消息,将所述测试消息添加到预设的消息队列中;其中,所述测试指令包括向至少两个接口的测试数据;当监听到所述消息队列中的所述测试消息时,提取所述测试消息;根据所述测试消息在所述测试数据库中查找到对应的测试数据;读取所述测试数据生成测试请求,向所述测试请求指定的接口发送所述测试请求,获取所述指定接口返回的数据。2.根据权利要求1所述的方法,其特征在于,读取所述测试数据之后,还包括:将所述测试数据进行拆分,获得至少两个接口的测试请求,并且每个接口的测试请求包括接口的地址、并发数以及循环次数;根据所述至少两个接口的测试请求,分别向指定的接口发送测试请求。3.根据权利要求1所述的方法,其特征在于,根据所述测试消息在所述测试数据库中查找到对应的测试数据之后,还包括:根据测试数据的字段,判断所述测试数据是否完整;根据判断结果,若完整则读取所述测试数据;若不完整则将所述测试数据库中的所述测试数据标记为无法测试,不执行所述测试指令。4.根据权利要求3所述的方法,其特征在于,获取所述指定接口返回的数据之后,还包括:将所述测试数据库中的所述测试数据标记为完成测试;将所述返回的数据存储到预设的结果数据库中;其中,所述结果数据库中存储有测试指令信息与执行所述测试指令返回的数据的对应关系。5.根据权利要求1至4任意一项所述的方法,其特征在于,所述测试消息包括测试指令名称、开始时间以及完成时间;提取所述测试消息之后,还包括:获取所述测试消息中的开始时间,启动监测进程;当监测到当前时间为所述的开始时间时,获取完成时间,并按照所述完成时间执行所述测试消息。6.一种混合接口性能测试装置,其特征在于,包括:消息生成单元...

【专利技术属性】
技术研发人员:康丽敏
申请(专利权)人:乐视控股北京有限公司乐视网信息技术北京股份有限公司
类型:发明
国别省市:北京;11

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

1