一种模拟无线节点的自动化测试的方法及装置转让专利

申请号 : CN201710595533.2

文献号 : CN107466035B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王欣洋高鸿磊白敏

申请人 : 奇安信科技集团股份有限公司

摘要 :

本发明的实施例公开了一种模拟无线节点的自动化测试的方法及装置,该方法通过注册在服务端的地址信息,模拟无线节点,将生成的与每一无线节点对应的测试数据进行加密处理得到加密数据,通过这些无线节点发送加密数据。服务端接收到加密数据后,对加密数据进行解密,并对解密后的测试数据进行相应的处理,同时生成日志。该方法根据服务端生成的日志得到对服务端进行测试的测试结果。相比与传统的测试方法,该方法对测试数据进行加密处理,能够满足具有加解密要求的场景。另一方面,工作人员可以根据对服务端进行测试的要求,自行设置测试数据的测试内容,能够实现对测试数据的灵活控制。

权利要求 :

1.一种模拟无线节点的自动化测试的方法,其特征在于,包括:

获取至少一个注册在服务端的地址信息,针对根据每一所述地址信息模拟生成的无线节点,生成对应于所述无线节点的测试数据;

将所述测试数据进行加密处理,得到加密数据,将所述加密数据发送至所述服务端;

根据所述服务端生成的日志确定对所述服务端进行测试的测试结果;

其中,所述日志包括所述服务端对所述加密数据进行解密的解密信息、所述服务端接收到所述加密数据后,记录的所述无线节点和所述服务端的通信状态的状态信息、以及所述服务端对所述测试数据进行处理的处理信息。

2.根据权利要求1中所述的方法,其特征在于,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:根据所述解密信息判断是否存在解密失败的加密数据,若存在,则判定所述服务端的解密端口异常,否则,判定所述服务端的解密端口功能正常。

3.根据权利要求1中所述的方法,其特征在于,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:根据所述状态信息计算在预设时间段内,与所述服务端建立了通信连接的无线节点的第一数量;

获取在所述预设时间段内,向所述服务端发送的加密数据对应的无线节点的第二数量;

若所述第一数量小于所述第二数量,则判定所述第一数量为所述服务端能接入所述无线节点的最大数量;

若所述第一数量等于所述第二数量,则从注册在所述服务端的注册地址中获取新的注册地址,作为所述地址信息,直到所述第一数量小于所述第二数量。

4.根据权利要求1中所述的方法,其特征在于,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:针对每一所述测试数据,获取所述测试数据对应的数据类型;

若所述数据类型为业务数据,且所述处理信息为识别出所述业务数据对应的业务,则判定所述服务端识别所述业务数据的功能正常,否则,判定所述服务端识别所述业务数据的功能异常;

若所述数据类型为异常数据,且所述处理信息为识别出所述异常数据,则判定所述服务端识别所述异常数据的功能正常,否则,判定所述服务端识别所述异常数据的功能异常;

若所述数据类型为攻击检测数据,且所述处理信息为识别出所述攻击检测数据,则判定所述服务端识别所述攻击检测数据的功能正常,否则,判定所述服务端识别所述攻击检测数据的功能异常。

5.一种模拟无线节点的自动化测试的装置,其特征在于,包括:

生成模块,用于获取至少一个注册在服务端的地址信息,针对根据每一所述地址信息模拟生成的无线节点,生成对应于所述无线节点的测试数据;

发送模块,用于将所述测试数据进行加密处理,得到加密数据,将所述加密数据发送至所述服务端;

确定模块,用于根据所述服务端生成的日志确定对所述服务端进行测试的测试结果;

其中,所述日志包括所述服务端对所述加密数据进行解密的解密信息、所述服务端接收到所述加密数据后,记录的所述无线节点和所述服务端的通信状态的状态信息、以及所述服务端对所述测试数据进行处理的处理信息。

6.根据权利要求5中所述的装置,其特征在于,所述确定模块还用于根据所述解密信息判断是否存在解密失败的加密数据,若存在,则判定所述服务端的解密端口异常,否则,判定所述服务端的解密端口正常。

7.根据权利要求5中所述的装置,其特征在于,所述确定模块还用于根据所述状态信息计算在预设时间段内,与所述服务端建立了通信连接的无线节点的第一数量;获取在所述预设时间段内,向所述服务端发送的加密数据对应的无线节点的第二数量;若所述第一数量小于所述第二数量,则判定所述第一数量为所述服务端能接入所述无线节点的最大数量;若所述第一数量等于所述第二数量,则从注册在所述服务端的注册地址中获取新的注册地址,作为所述地址信息,直到所述第一数量小于所述第二数量。

8.根据权利要求5中所述的装置,其特征在于,所述确定模块还用于针对每一所述测试数据,获取所述测试数据对应的数据类型;若所述数据类型为业务数据,且所述处理信息为识别出所述业务数据对应的业务,则判定所述服务端识别所述业务数据的功能正常,否则,判定所述服务端识别所述业务数据的功能异常;若所述数据类型为异常数据,且所述处理信息为识别出所述异常数据,则判定所述服务端识别所述异常数据的功能正常,否则,判定所述服务端识别所述异常数据的功能异常;若所述数据类型为攻击检测数据,且所述处理信息为识别出所述攻击检测数据,则判定所述服务端识别所述攻击检测数据的功能正常,否则,判定所述服务端识别所述攻击检测数据的功能异常。

9.一种电子设备,其特征在于,包括:

至少一个处理器、至少一个存储器、通信接口和总线;其中,

所述处理器、存储器和通信接口通过所述总线完成相互间的通信;

所述通信接口用于该电子设备和服务端的通信设备之间的信息传输;

所述存储器存储有可被所述处理器执行的程序,所述处理器调用所述程序能够执行如权利要求1至4中任一项所述的方法。

10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至4中任一项所述的方法。

说明书 :

一种模拟无线节点的自动化测试的方法及装置

技术领域

[0001] 本发明涉及服务端测试技术领域,尤其是涉及一种模拟无线节点的自动化测试的方法及装置。

背景技术

[0002] 实际应用模拟环境中,无法搭建大批量的无线接入点注册到server端,以及无法实现大量的无线用户进行访问,从而无法实现对server端接收大量数据的模拟测试。这样一来,通过真实的环境对server端进行负载测试,包括进行数据库的测试,成为测试评估的“痛点”,发现不到性能的瓶颈以及稳定性的问题。
[0003] 传统的模拟方法,通过仪表捕获无线的报文后生成业务流量,按照上线注册的无线接入点变化(IP和MAC),利用仪表进行回放,主要针对报文二层/三层的变化,传输层采用非交换式的UDP传输。然而,仪表回放的上层数据较固定且单一无变化,写入数据库后只是单一的更新,无法实现数据库写入大量的数据。这种采用仪表对服务端进行检测的方法,无法满足针对上层数据加解密的场景需求,以及采用TCP的交互式的传输协议,且无法对上层数据进行自定义,数据变化难度大。
[0004] 在实现本发明实施例的过程中,发明人发现现有的对服务端进行检测的方法,测试数据单一,且无法满足加解密的场景需求。

发明内容

[0005] 本发明所要解决的技术问题是如何解决现有的对服务端进行检测的方法,测试数据单一,且无法满足加解密的场景需求的问题。
[0006] 针对以上技术问题,本发明的实施例提供了一种模拟无线节点的自动化测试的方法,包括:
[0007] 获取至少一个注册在服务端的地址信息,针对根据每一所述地址信息模拟生成的无线节点,生成对应于所述无线节点的测试数据;
[0008] 将所述测试数据进行加密处理,得到加密数据,将所述加密数据发送至所述服务端;
[0009] 根据所述服务端生成的日志确定对所述服务端进行测试的测试结果;
[0010] 其中,所述日志包括所述服务端对所述加密数据进行解密的解密信息、所述服务端接收到所述加密数据后,记录的所述无线节点和所述服务端的通信状态的状态信息、以及所述服务端对所述测试数据进行处理的处理信息。
[0011] 可选地,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:
[0012] 根据所述解密信息判断是否存在解密失败的加密数据,若存在,则判定所述服务端的解密端口异常,否则,判定所述服务端的解密端口功能正常。
[0013] 可选地,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:
[0014] 根据所述状态信息计算在预设时间段内,与所述服务端建立了通信连接的无线节点的第一数量;
[0015] 获取在所述预设时间段内,向所述服务端发送的加密数据对应的无线节点的第二数量;
[0016] 若所述第一数量小于所述第二数量,则判定所述第一数量为所述服务端能接入所述无线节点的最大数量;
[0017] 若所述第一数量等于所述第二数量,则从注册在所述服务端的注册地址中获取新的注册地址,作为所述地址信息,直到所述第一数量小于所述第二数量。
[0018] 可选地,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:
[0019] 针对每一所述测试数据,获取所述测试数据对应的数据类型;
[0020] 若所述数据类型为业务数据,且所述处理信息为识别出所述业务数据对应的业务,则判定所述服务端识别所述业务数据的功能正常,否则,判定所述服务端识别所述业务数据的功能异常;
[0021] 若所述数据类型为异常数据,且所述处理信息为识别出所述异常数据,则判定所述服务端识别所述异常数据的功能正常,否则,判定所述服务端识别所述异常数据的功能异常;
[0022] 若所述数据类型为攻击检测数据,且所述处理信息为识别出所述攻击检测数据,则判定所述服务端识别所述攻击检测数据的功能正常,否则,判定所述服务端识别所述攻击检测数据的功能异常。
[0023] 第二方面,本发明的实施例提供了一种模拟无线节点的自动化测试的装置,包括:
[0024] 生成模块,用于获取至少一个注册在服务端的地址信息,针对根据每一所述地址信息模拟生成的无线节点,生成对应于所述无线节点的测试数据;
[0025] 发送模块,用于将所述测试数据进行加密处理,得到加密数据,将所述加密数据发送至所述服务端;
[0026] 确定模块,用于根据所述服务端生成的日志确定对所述服务端进行测试的测试结果;
[0027] 其中,所述日志包括所述服务端对所述加密数据进行解密的解密信息、所述服务端接收到所述加密数据后,记录的所述无线节点和所述服务端的通信状态的状态信息、以及所述服务端对所述测试数据进行处理的处理信息。
[0028] 可选地,所述确定模块还用于根据所述解密信息判断是否存在解密失败的加密数据,若存在,则判定所述服务端的解密端口异常,否则,判定所述服务端的解密端口正常。
[0029] 可选地,所述确定模块还用于根据所述状态信息计算在预设时间段内,与所述服务端建立了通信连接的无线节点的第一数量;获取在所述预设时间段内,向所述服务端发送的加密数据对应的无线节点的第二数量;若所述第一数量小于所述第二数量,则判定所述第一数量为所述服务端能接入所述无线节点的最大数量;若所述第一数量等于所述第二数量,则从注册在所述服务端的注册地址中获取新的注册地址,作为所述地址信息,直到所述第一数量小于所述第二数量。
[0030] 可选地,所述确定模块还用于针对每一所述测试数据,获取所述测试数据对应的数据类型;若所述数据类型为业务数据,且所述处理信息为识别出所述业务数据对应的业务,则判定所述服务端识别所述业务数据的功能正常,否则,判定所述服务端识别所述业务数据的功能异常;若所述数据类型为异常数据,且所述处理信息为识别出所述异常数据,则判定所述服务端识别所述异常数据的功能正常,否则,判定所述服务端识别所述异常数据的功能异常;若所述数据类型为攻击检测数据,且所述处理信息为识别出所述攻击检测数据,则判定所述服务端识别所述攻击检测数据的功能正常,否则,判定所述服务端识别所述攻击检测数据的功能异常。
[0031] 第三方面,本发明的实施例还提供了一种电子设备,包括:
[0032] 至少一个处理器、至少一个存储器、通信接口和总线;其中,
[0033] 所述处理器、存储器和通信接口通过所述总线完成相互间的通信;
[0034] 所述通信接口用于该电子设备和服务端的通信设备之间的信息传输;
[0035] 所述存储器存储有可被所述处理器执行的程序,所述处理器调用所述程序能够执行以上所述的方法。
[0036] 第四方面,本发明的实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行以上所述的方法。
[0037] 本发明的实施例提供了一种模拟无线节点的自动化测试的方法及装置,该方法通过注册在服务端的地址信息,模拟无线节点,将生成的与每一无线节点对应的测试数据进行加密处理得到加密数据,通过这些无线节点发送加密数据。服务端接收到加密数据后,对加密数据进行解密,并对解密后的测试数据进行相应的处理,同时生成日志。该方法根据服务端生成的日志得到对服务端进行测试的测试结果。相比与传统的测试方法,该方法对测试数据进行加密处理,能够满足具有加解密要求的场景。另一方面,工作人员可以根据对服务端进行测试的要求,自行设置测试数据的测试内容,能够实现对测试数据的灵活控制。

附图说明

[0038] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1是本发明一个实施例提供的模拟无线节点的自动化测试的方法的流程示意图;
[0040] 图2是本发明另一个实施例提供的模拟无线节点的自动化测试的方法的流程示意图;
[0041] 图3是本发明另一个实施例提供的模拟无线节点的自动化测试的方法的实现拓扑图;
[0042] 图4是本发明另一个实施例提供的模拟无线节点的自动化测试的方法的流程示意图;
[0043] 图5是本发明另一个实施例提供的模拟无线节点的自动化测试的装置的结构框图;
[0044] 图6是本发明另一个实施例提供的电子设备的结构框图。

具体实施方式

[0045] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 图1是本实施例提供的一种模拟无线节点的自动化测试的方法,参见图1,该方法包括:
[0047] 101:获取至少一个注册在服务端的地址信息,针对根据每一所述地址信息模拟生成的无线节点,生成对应于所述无线节点的测试数据;
[0048] 102:将所述测试数据进行加密处理,得到加密数据,将所述加密数据发送至所述服务端;
[0049] 103:根据所述服务端生成的日志确定对所述服务端进行测试的测试结果;
[0050] 其中,所述日志包括所述服务端对所述加密数据进行解密的解密信息、所述服务端接收到所述加密数据后,记录的所述无线节点和所述服务端的通信状态的状态信息、以及所述服务端对所述测试数据进行处理的处理信息。
[0051] 需要说明的是,该方法由用于对服务端进行测试的设备执行,或者是能够通过上述方法向服务端发送测试数据的设备执行即可,本实施例对此不作具体限制。
[0052] 在测试之前,需要在服务端注册多个注册地址,且保证注册地址的唯一性。测试时,获取一个或者多个注册地址,作为地址信息,根据该地址信息模拟无线节点(一个地址信息对应一个无线节点)。生成相应的测试数据,对测试数据进行加密得到加密数据,通过该无线节点发送至服务端。服务端接收到加密数据后,进行相应的处理,并生成日志。该方法通过服务端生成的日志对服务端的性能进行判断。
[0053] 可理解的是,在服务端进行注册的注册地址是IP地址或者MAC地址。测试数据可以是普通的业务数据,服务端对该业务数据进行解密后,进行相应的业务处理,从服务端生成的日志即可反应服务端处理该业务数据的功能是否正常。测试数据还可以是异常数据,例如,将业务数据的格式或者某些字符进行更改后生成的数据,服务端对该异常数据进行解密后,若能识别出该异常数据,则说明服务端对该异常数据的处理功能正常,相应地,从服务端生成的日志即可反应服务端处理该异常数据的功能是否正常。测试数据还可以是攻击检测数据,例如,攻击检测数据是服务端的数据进行窃取或者对服务端的某项功能进行干扰的病毒数据,服务端对该攻击检测数据进行解密后,若能识别出该攻击检测数据,则说明服务端对该攻击检测数据的处理功能正常,相应地,从服务端生成的日志即可反应服务端处理该攻击检测数据的功能是否正常。
[0054] 对测试数据进行加密由API接口实现,通过socket和服务端建立TCP连接后,将加密数据发送至服务端。服务端接收到加密数据后,会在日志中记载发送该加密数据的无线节点和服务端之间建立了通信连接,且该无线节点和服务端之间的通信的状态正常的状态信息。可理解的是,若在日志中查询不到该无线节点发送的加密数据,则说明该无线节点和服务端之间的连接建立失败。服务端的API接口对加密数据进行解密,若解密成功则记录对该加密数据解密成功的解密信息,若不成功,则记录对该加密数据解密失败的解密信息。对加密数据解密成功后,得到测试数据,对测试数据的数据类型(业务数据、异常数据或攻击检测数据)进行识别,并将识别结果写入日志。可理解的是,对测试数据的处理过程也会记录在日志中。
[0055] 可理解的是,测试结果的获取可以是通过服务端上的程序更具服务端生成的日志来确定,也可以由服务端将生成的日志发送到相应的测试设备上,由测试设备根据日志确定相应的测试结果。本实施例对此不作具体限制。
[0056] 例如,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:接收所述服务端发送的日志,根据所述日志确定对所述服务端进行测试的测试结果。
[0057] 本发明的实施例提供了一种模拟无线节点的自动化测试的方法,该方法通过注册在服务端的地址信息,模拟无线节点,将生成的与每一无线节点对应的测试数据进行加密处理得到加密数据,通过这些无线节点发送加密数据。服务端接收到加密数据后,对加密数据进行解密,并对解密后的测试数据进行相应的处理,同时生成日志。该方法根据服务端生成的日志得到对服务端进行测试的测试结果。相比与传统的测试方法,该方法对测试数据进行加密处理,能够满足具有加解密要求的场景。另一方面,工作人员可以根据对服务端进行测试的要求,自行设置测试数据的测试内容,能够实现对测试数据的灵活控制。
[0058] 更进一步地,在上述实施例的基础上,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:
[0059] 根据所述解密信息判断是否存在解密失败的加密数据,若存在,则判定所述服务端的解密端口异常,否则,判定所述服务端的解密端口功能正常。
[0060] 需要说明的是,解密信息为日志中记载的对加密数据解密成功或者解密失败的信息,在通过日志判断服务端的解密功能时,查看日志中是否记载了对某个加密数据解密失败的信息,若存在,则判定该服务端的解密端口(例如,API接口)的解密功能异常。
[0061] 本实施例提供的模拟无线节点的自动化测试的方法中,根据日志中是否记载了对某个加密数据解密失败的记录判断服务端的解密端口是否正常。该方法中,只要日志中存在对某个加密数据解密失败的记录,则判定该服务端的解密端口异常,实现了对服务端解密接口的功能检测。
[0062] 更进一步地,在上述各个实施例的基础上,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:
[0063] 根据所述状态信息计算在预设时间段内,与所述服务端建立了通信连接的无线节点的第一数量;
[0064] 获取在所述预设时间段内,向所述服务端发送的加密数据对应的无线节点的第二数量;
[0065] 若所述第一数量小于所述第二数量,则判定所述第一数量为所述服务端能接入所述无线节点的最大数量;
[0066] 若所述第一数量等于所述第二数量,则从注册在所述服务端的注册地址中获取新的注册地址,作为所述地址信息,直到所述第一数量小于所述第二数量。
[0067] 需要说明的是,预设时间段为预先设定的一段时间,例如,预设时间段为两个小时或者50分钟。服务端接收到某个无线节点发送的加密数据后,会在日志中记载该发送该加密数据的无线节点和服务端之间建立了通信连接,且该无线节点和服务端之间的通信的状态正常的状态信息。那么根据服务端生成的日志,便可以计算出预设时间段内和服务端建立了通信连接的无线节点的数据数量,也就是第一数量。
[0068] 相应的,测试设备向服务端发送加密数据时也会记载发送了加密数据的信息,通过测试设备的记载,也能计算出在预设时间段内测试设备向服务端发送的所有加密数据多对应的无线节点的数量,也就是第二数量。
[0069] 如果第一数量小于第二数量,就说明服务端当前最多可以承担和第一数量的无线节点建立通信连接。可理解的是,如果第一数量等于第二数量,则说明服务端能接入的无线节点的数量可能是第一数量,也可能大于第一数量。为了确定服务端能接入的无线节点的最大数量,测试设备可以继续从服务端获取新的注册地址,根据新的注册地址模拟无线节点,继续重复上述测试方法,直到第一数量小于第二数量,从而准确的确定出服务端能接入的无线节点最大数量。
[0070] 本实施例提供的模拟无线节点的自动化测试的方法中,根据日志中记载的状态信息,得到预设时间段内和服务端建立了通信连接的无线节点的第一数量,通过第一数量和测试设备发送的测试数据对应的无线节点的第二数量的对比,最终精确的确定出该服务端能够介入的无线节点的最大数量。
[0071] 更进一步地,在上述各个实施例的基础上,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果,包括:
[0072] 针对每一所述测试数据,获取所述测试数据对应的数据类型;
[0073] 若所述数据类型为业务数据,且所述处理信息为识别出所述业务数据对应的业务,则判定所述服务端识别所述业务数据的功能正常,否则,判定所述服务端识别所述业务数据的功能异常;
[0074] 若所述数据类型为异常数据,且所述处理信息为识别出所述异常数据,则判定所述服务端识别所述异常数据的功能正常,否则,判定所述服务端识别所述异常数据的功能异常;
[0075] 若所述数据类型为攻击检测数据,且所述处理信息为识别出所述攻击检测数据,则判定所述服务端识别所述攻击检测数据的功能正常,否则,判定所述服务端识别所述攻击检测数据的功能异常。
[0076] 需要说明的是,根据各个无线节点生成的测试数据可以由工作人员根据需要对服务端进行测试的内容来编写相应的代码。例如,业务数据指的是对服务端处理业务的功能进行检测,例如,针对微信业务,当对微信的发送消息这一功能进行检测时,则业务数据中包括了对微信发送消息进行检查的代码。异常数据相对于正常的数据(例如,正常的业务数据)而言,异常数据可能是代码格式上的异常,也可能是逻辑上的异常,当需要检测服务端对异常数据的识别功能时,可以采用异常数据作为检测数据,若服务端能够对异常数据进行识别,则说明服务端对异常数据进行识别的功能正常。攻击检测数据可以是病毒,攻击检测数据的目的是为了检测服务端对病毒的识别能力。
[0077] 在判断服务端对检测数据的处理是否异常时,需要从检测设备获知该检测数据的数据类型,进而通过日志中的处理信息判断服务端是否对检测数据做出了相应的处理。
[0078] 本实施例提供的模拟无线节点的自动化测试的方法中,根据日志中记载的处理信息,判断服务端是否正确的识别了相应的测试数据,进而对测试数据进行了相应的处理,判断出服务端针对测试数据处理的功能是否异常,实现了对服务端对接收到数据的处理功能是否异常的判断。
[0079] 更进一步地,所述根据所述服务端生成的日志确定对所述服务端进行测试的测试结果之后,还包括:
[0080] 显示所述测试结果;
[0081] 在判定所述服务端的解密端口异常、识别所述业务数据的功能异常、识别所述异常数据的功能异常、或者识别所述攻击检测数据的功能异常时,发出提示信息。
[0082] 需要说明的是,显示所述测试结果可以由相应的显示设备实现。提示信息可以是通过向相应的工作人员发送邮件或者短信的方式实现,本实施例对此不作具体限制。
[0083] 作为一种具体的实施例,图2示出了本实施例提供的模拟无线节点的自动化测试的方法的流程示意图,参见图2,该方法主要包括:
[0084] 模拟生成无线用户数据(测试数据),传输原始数据(测试数据)进行处理,数据处理(对测试数据进行加密处理,得到加密数据),传输处理后数据(加密数据)至传输数据层,对处理后的数据进行封装(例如,按照一定的传输协议,基于状态交互TCP或非状态UDP进行数据封装),将封装后的加密数据传输至服务端。首先加密数据会传输至交换机进行数据交互,并进行无线节点模拟的模拟上线认证过程(为了保证发送加密数据的无线节点均在服务端进行了注册)。交换机的数据经数据传输至管理服务器(服务端),从而进行数据的还原处理(对加密数据进行解密)。还原处理后的还原数据(解密后的测试数据)进行还原数据存储,数据存储后,通过存储的数据(日志)得到数据检测异常统计信息(测试结果)。
[0085] 本实施例提供的测试方法,通过生成可识别的规范数据(测试数据),来模拟不同用户的访问行为,数据按照一定的协议标准或非协议标准(如:HTTP)。通过多方面考虑(如:安全),传输的数据需要进行处理,对生成数据利用一定加密算法或哈希算法等进行处理(如:安全性考虑,采用加密),按照一定的传输协议,基于状态交互TCP或非状态UDP进行数据封装传输。当服务器接收到数据后,对传输数据进行还原(如:解密),并对数据进行存储(存储类如:mysql)。
[0086] 图3示出了本实施例提供的模拟无线节点的自动化测试的方法的实现拓扑图,参见图3,本实施例模拟的无线节点为Ap1、AP2至APn的n个无线节点。在正常的通信过程中,无线节点(也即无线接入点/采集点)是用于将无线用户上传的数据发送至服务端的节点,本实施例提供的测试方法中,模拟无线节点Ap1、AP2至APn,然后针对每一无线节点,生成测试数据,将测试数据发送至SW(交换机,用于将无线节点上传的数据通过server和SW之间的接口上传至server),SW将无线节点上传的测试数据发送至服务端(Server),进而存储至数据库,通过对服务端生成的日志确定对服务端进行测试的测试结果。
[0087] 其中,测试数据可以是常规数据上报(例如,业务数据)、异常数据上报或者检测数据上报(例如,攻击检测数据),工作人员可以根据对服务端进行测试的具体内容编写相应的测试数据,实现对服务端的测试。
[0088] 具体地,图4示出了本实施例提供的模拟无线节点的自动化测试的方法的流程示意图,参见图4,该方法包括:
[0089] 1)进程模拟无线节点注册上线,持续模拟发送hello报文,保活机制。该步骤中批量模拟无线节点注册上线,在模拟无线节点的过程中,变化无线节点的IP/MAC,保证唯一性。在服务端注册无线节点后,服务端保存了无线节点的注册信息(AP注册信息)。即通过脚本模拟n无线接入点上线,并成功在服务端注册(注册信息包含无线接入点的IP/MAC)。
[0090] 2)通过对测试的服务端网卡注册的多个IP地址,模拟多个无线节点(如图4中的Ap1、AP2至APn),且每一个无线节点对应一个注册的IP。
[0091] 3)创建payload数据(测试数据),针对每一无线节点根据需要对服务端进行测试的测试内容通过数据自定义创建payload数据(例如,payload数据可以为常规数据上报、异常数据上报或者检测数据上报)。
[0092] 4)调用API加密接口对创造的数据进行加密,得到加密数据。加密数据作为模拟多个无线节点上报的用户数据。
[0093] 由于传输数据协议标准为开发自定义私有,非HTTP等,可以通过socket实现TCP连接,通过开发提供的生成传输的数据标准格式进行自定义payload,然后调用API加密接口加密后传输。
[0094] 需要说明的是,开发提供设计文档,可对上层数据进行分析,从而正确构造变换上层数据(如:无线用户MAC/IP等)模拟多用户,多节点上传数据。开发不提供C源码的条件下,可以将其封装成.so库文件,可以考虑通过swig或者ctyps进行封装后,进行import导入模块后,python直接调用执行加解密过程。
[0095] 5)Socket与server创建连接并发送加密数据。
[0096] 6)Server端收到加密数据后,调用API解密接口进行数据解密,收集日志,并将日志写入数据库。其中,日志中至少记载了加密数据对应的无线节点和服务端的通信状态(状态信息)、API接口是否对加密数据解密成功的解密信息、服务端对解密后的测试数据进行处理的处理信息。
[0097] 需要说明的是,可以直接从数据库读取日志,得到对服务端进行测试的测试结果。或者,服务端可以将日志发送至测试设备,由测试设备对日志进行解析,得到对服务端进行测试的测试结果。
[0098] 本实施例提供的测试方法主要适用于模拟大量的无线接入点,以及模拟大量的无线用户上报有效数据的性能测试,从而发现问题,解决问题。实现对真实环境的模拟测试。主要解决了模拟大量无线用户产生数据;模拟大量的无线接入点注册到server端(服务端);数据库性能评估;负载稳定性;压力测试瓶颈等几个方面的问题。
[0099] 图5示出了本发明的实施例提供的模拟无线节点的自动化测试的装置的结构框图,参见图5,本实施例提供的模拟无线节点的自动化测试的装置500,包括生成模块501、发送模块502和确定模块503,其中,
[0100] 生成模块501,用于获取至少一个注册在服务端的地址信息,针对根据每一所述地址信息模拟生成的无线节点,生成对应于所述无线节点的测试数据;
[0101] 发送模块502,用于将所述测试数据进行加密处理,得到加密数据,将所述加密数据发送至所述服务端;
[0102] 确定模块503,用于根据所述服务端生成的日志确定对所述服务端进行测试的测试结果;
[0103] 其中,所述日志包括所述服务端对所述加密数据进行解密的解密信息、所述服务端接收到所述加密数据后,记录的所述无线节点和所述服务端的通信状态的状态信息、以及所述服务端对所述测试数据进行处理的处理信息。
[0104] 本发明的实施例提供了一种模拟无线节点的自动化测试的装置,该装置通过注册在服务端的地址信息,模拟无线节点,将生成的与每一无线节点对应的测试数据进行加密处理得到加密数据,通过这些无线节点发送加密数据。服务端接收到加密数据后,对加密数据进行解密,并对解密后的测试数据进行相应的处理,同时生成日志。该装置根据服务端生成的日志得到对服务端进行测试的测试结果。该装置对测试数据进行加密处理,能够满足具有加解密要求的场景。另一方面,工作人员可以根据对服务端进行测试的要求,自行设置测试数据的测试内容,能够实现对测试数据的灵活控制。
[0105] 第三方面,图6是示出本实施例提供的电子设备的结构框图。
[0106] 参照图6,所述电子设备包括:处理器(processor)601、存储器(memory)602、通信接口(Communications Interface)603和总线604;
[0107] 其中,
[0108] 所述处理器601、存储器602和通信接口603通过所述总线604完成相互间的通信;
[0109] 所述通信接口603用于该电子设备与服务端的通信设备之间的信息传输;
[0110] 所述处理器601用于调用所述存储器602中的程序,以执行上述各方法实施例所提供的方法,例如包括:获取至少一个注册在服务端的地址信息,针对根据每一所述地址信息模拟生成的无线节点,生成对应于所述无线节点的测试数据;将所述测试数据进行加密处理,得到加密数据,将所述加密数据发送至所述服务端;根据所述服务端生成的日志确定对所述服务端进行测试的测试结果;其中,所述日志包括所述服务端对所述加密数据进行解密的解密信息、所述服务端接收到所述加密数据后,记录的所述无线节点和所述服务端的通信状态的状态信息和所述服务端对所述测试数据进行处理的处理信息。
[0111] 第四方面,本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取至少一个注册在服务端的地址信息,针对根据每一所述地址信息模拟生成的无线节点,生成对应于所述无线节点的测试数据;将所述测试数据进行加密处理,得到加密数据,将所述加密数据发送至所述服务端;根据所述服务端生成的日志确定对所述服务端进行测试的测试结果;其中,所述日志包括所述服务端对所述加密数据进行解密的解密信息、所述服务端接收到所述加密数据后,记录的所述无线节点和所述服务端的通信状态的状态信息和所述服务端对所述测试数据进行处理的处理信息。
[0112] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0113] 以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0114] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0115] 最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。