掌桥专利:专业的专利平台
掌桥专利
首页

产品测试方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:28:50


产品测试方法、装置、电子设备及存储介质

技术领域

本发明实施例涉及测试技术领域,特别是涉及一种产品测试方法、一种产品测试装置、一种电子设备及存储介质。

背景技术

对于即将发布的产品,测试人员需要对产品进行测试,在测试完成后可以记录产品的测试结果。在对产品进行测试过程中有可能会因为各种原因导致出现问题,为了快速确定问题,可以根据记录的测试结果会对产品的测试过程进行复现,然而测试过程中问题的出现存在偶然性,若仅仅是根据记录的测试结果难以确定问题。

因此,如何复现产品的测试过程,以确定产品测试时存在的问题,进而快速解决问题,是本领域技术人员亟需解决的问题。

发明内容

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种产品测试方法、一种产品测试装置、一种电子设备及存储介质。

为了解决上述问题,本发明实施例公开了一种产品测试方法,所述方法包括:

获取待测试产品的业务记录数据;其中,所述业务记录数据为在对所述待测试产品进行测试时生成,所述业务记录数据至少包括命令包和所述命令包对应的记录数据;

根据所述业务记录数据生成测试用例,以根据所述测试用例再次对所述待测试产品进行测试。

可选地,所述记录数据至少包括解析协议类型,在所述根据所述业务记录数据生成测试用例之前,所述方法还包括:

根据所述解析协议类型对应的协议规则对所述命令包进行解析,得到所述命令包的解析结果;

根据所述命令包的解析结果和所述业务记录数据中的记录数据,生成所述业务记录数据对应的测试用例;

展示所述测试用例;其中,所述测试用例允许进行删除操作、禁用操作和编辑操作。

可选地,所述待测试产品至少包括命令发送方和命令接收方;所述业务记录数据为所述命令发送方在开启业务记录功能时复制所述命令发送方向所述命令接收方发送的命令包后解析生成,和/或,所述命令发送方根据预先设置的数据包抓取工具抓取所述命令包后解析生成的数据。

可选地,所述测试用例至少包括业务编码,所述展示所述测试用例,包括:

将所述业务编码转换为对应的业务功能名称;

按照所述业务功能名称展示对应的所述测试用例。

可选地,所述测试用例至少包括所述命令包和所述命令包的业务标识、解析协议类型、命令接收方地址、执行编号和命令包发送时间,所述根据所述业务记录数据生成测试用例,包括:

根据所述命令包发送时间计算各个所述命令包之间的用例执行间隔时间;

按照所述执行编号的顺序和所述用例执行间隔时间,按照所述解析协议类型对应的协议规则向所述命令接收方地址对应的命令接收方发送所述测试用例中的所述命令包;

接收所述命令接收方针对所述命令包发送的响应包;其中,所述响应包中包括所述命令包的业务标识。

可选地,所述测试用例至少包括用例状态,在所述按照所述执行编号的顺序和所述发送时间间隔,向所述命令接收方地址对应的命令接收方发送所述测试用例中的所述命令包之后,所述方法还包括:

当超过指定超时时间未接收所述命令接收方针对所述命令包发送的响应包时,将所述用例状态更新为执行失败状态,并在所述测试用例记录对应的异常信息。

可选地,在所述接收所述命令接收方针对所述命令包发送的响应包之后,所述方法还包括:

当在指定超时时间内接收所述命令接收方针对所述命令包发送的响应包时,若无法采用指定协议规则对所述响应包进行解析,则丢弃所述响应包,若能够采用指定协议规则对所述响应包进行解析,则根据所述响应包的业务标识对应的解析协议类型所对应的协议规则对所述响应包进行解析得到所述测试用例的业务响应结果;其中,所述业务响应结果包括业务操作成功或者业务操作失败;

根据所述业务响应结果对所述用例状态进行更新。

本发明实施例还公开了一种产品测试装置,所述装置包括:

获取模块,用于获取待测试产品的业务记录数据;其中,所述业务记录数据为在对所述待测试产品进行测试时生成,所述业务记录数据至少包括命令包和所述命令包对应的记录数据;

测试模块,用于根据所述业务记录数据生成测试用例,以根据所述测试用例再次对所述待测试产品进行测试。

可选地,所述装置还包括展示模块,用于:

根据所述解析协议类型对应的协议规则对所述命令包进行解析,得到所述命令包的解析结果;

根据所述命令包的解析结果和所述业务记录数据中的记录数据,生成所述业务记录数据对应的测试用例;

展示所述测试用例;其中,所述测试用例允许进行删除操作、禁用操作和编辑操作。

可选地,所述待测试产品至少包括命令发送方和命令接收方;所述业务记录数据为所述命令发送方在开启业务记录功能时复制所述命令发送方向所述命令接收方发送的命令包后解析生成,和/或,所述命令发送方根据预先设置的数据包抓取工具抓取所述命令包后解析生成的数据。

可选地,所述测试用例至少包括业务编码,所述展示模块,具体用于:

将所述业务编码转换为对应的业务功能名称;

按照所述业务功能名称展示对应的所述测试用例。

可选地,所述测试用例至少包括所述命令包和所述命令包的业务标识、解析协议类型、命令接收方地址、执行编号和命令包发送时间,所述测试模块,具体用于:

根据所述命令包发送时间计算各个所述命令包之间的用例执行间隔时间;

按照所述执行编号的顺序和所述用例执行间隔时间,按照所述解析协议类型对应的协议规则向所述命令接收方地址对应的命令接收方发送所述测试用例中的所述命令包;

接收所述命令接收方针对所述命令包发送的响应包;其中,所述响应包中包括所述命令包的业务标识。

可选地,所述测试用例至少包括用例状态,所述装置还包括更新模块,用于:

当超过指定超时时间未接收所述命令接收方针对所述命令包发送的响应包时,将所述用例状态更新为执行失败状态,并在所述测试用例记录对应的异常信息。

可选地,所述更新模块,用于:

当在指定超时时间内接收所述命令接收方针对所述命令包发送的响应包时,若无法采用指定协议规则对所述响应包进行解析,则丢弃所述响应包,若能够采用指定协议规则对所述响应包进行解析,则根据所述响应包的业务标识对应的解析协议类型所对应的协议规则对所述响应包进行解析得到所述测试用例的业务响应结果;其中,所述业务响应结果包括业务操作成功或者业务操作失败;

根据所述业务响应结果对所述用例状态进行更新。

本发明实施例包括以下优点:

本发明实施例获取待测试产品的业务记录数据,其中,业务记录数据为在对待测试产品进行测试时生成,业务记录数据至少包括命令包和命令包对应的记录数据,然后,可以根据业务记录数据生成测试用例,以根据测试用例再次对待测试产品进行测试。本发明实施例在对待测试产品进行测试时可以生成业务记录数据,随后,若在对待测试产品的测试过程中异常,可以获取到待测试产品的业务记录数据,以根据业务记录数据生成测试用例对待测试产品再次进行测试,由于根据在先对待测试产品测试时生成的业务记录数据生成测试用例后再次进行测试,因此可以完全复现对待测试产品测试时存在的问题,进而可以快速找到问题并解决。此外,在对待测试产品进行测试时,并不需要人为去编写测试用例,因此提高了测试效率。

附图说明

图1是本发明的一种产品测试方法实施例的步骤流程图;

图2是本发明的一种产品测试的实现环境示意图;

图3是本发明的一种基于wireshark工具抓取数据包的流程示意图;

图4是本发明的一种用例生成系统对产品测试的流程示意图;

图5是本发明的一种产品测试装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明的一种产品测试方法实施例的步骤流程图,具体可以包括如下步骤:

步骤101、获取待测试产品的业务记录数据;其中,所述业务记录数据为在对所述待测试产品进行测试时生成,所述业务记录数据至少包括命令包和所述命令包对应的记录数据。

其中,产品可以是视频会议等其他功能的产品,待测试产品可以是在进行测试后需要进行再次测试的产品。作为一个具体示例,产品至少可以包括命令发送方(客户端)和命令接收方(服务器)。以视联网中视频会议的产品为例,该视频会议的产品可以包括客户端和服务器(例如会管服务器和核心服务器等),客户端可以向服务器发起业务请求(命令包),以请求服务器对该命令包进行处理,服务器处理完成后可以向客户端返回对应的响应包。

其中,业务记录数据为基于命令发送方的命令包生成,业务记录数据至少可以包括命令包以及命令包对应的记录数据。记录数据至少可以执行编号、命令接收方地址(IP地址+端口/MAC地址等)、数据来源(0表示从产品获取,1表示数据包抓取工具获取)、解析协议类型(0表示按视联网协议解析,1表示按会管服务器的私有协议解析,2表示按其他产品私有协议解析,3……)、命令包发送时间等等。作为一个可选示例,数据包抓取工具可以是Wireshark,Wireshark一种开源的数据包抓取工具,支持用户自定义插件功能。

在实际中,在测试人员首次需要使用正式发布的产品,可以按照测试用例文档对产品进行测试(可以是自动测试也可以是手动测试),在对产品进行测试的过程中,可以记录对应的业务记录数据,并且,在按照测试用例文档将所有测试用例测试完成后,将在业务记录数据作为业务记录数据文件,在产品本地指定路径或者其他位置下保存,随后,若需要对该产品再次进行测试,就可以将该产品作为待测试产品,并从指定路径下获取该待测试产品对应的业务记录数据。由于本发明实施例是在产品测试的过程终稿,收集对应的业务记录数据,并且,业务记录数据中包括在先测试过程中曾经发送过的命令包,因此,后续可以基于业务记录数据复现在先的对产品测试的情形。

具体地,业务记录数据可以是通过产品本身获取,也可以是通过数据包抓取工具获取。可选地,业务记录数据为命令发送方在开启业务记录功能时复制命令发送方向命令接收方发送的命令包后解析生成,和/或,命令发送方根据预先设置的数据包抓取工具抓取命令包后解析生成的数据。

1)通过产品本身获取业务记录数据的过程为:

在本发明实施例中,测试人员部署好测试环境后,在对产品进行测试前,可以开启产品的命令发起方业务记录功能(测试用例生成前提条件是,测试环境所有产品已经运行并且可用)。其中,命令发起方的业务记录功能,主要是用于记录命令发起方向命令接收方发起业务请求时相关的业务记录数据。

例如,以视联网的控会客户端向会管服务器发起控制请求为例:控会客户端向会管服务器发送控会指令进行会议相关功能测试,则需要开启控会客户端的业务记录功能。再例如,以视联网的客户端向会管服务器发起登录请求为例:客户端启动后弹出登录界面,根据用户输入的用户名和密码封装用户登录请求指令,登录请求指令的命令包交由发包队列向会管服务器发起登录,客户端向会管服务器发送登录指令进行会议登录相关功能测试,则需要开启客户端的业务记录功能。

在命令发送方开启业务记录功能后,在命令发送方向命令接收方发送命令包之前,可以判断本地配置的业务记录功能是否启动,如果未启动,按照原有业务流程进行业务操作;如果启动,则将发送给命令接收方的命令包复制,并对命令包进行解析得到业务记录数据,其中,业务记录数据的保存格式为:执行编号、命令接收方地址(IP地址+端口/MAC地址等)、命令包详细内容(即原封不动保存的命令包)、数据来源(0表示从产品获取,1表示wireshark工具获取)、解析协议类型(0表示按视联网协议解析,1表示按会管服务器的私有协议解析,2表示按其他产品私有协议解析,3……)、命令包发送时间等等。

其中,执行编号是命令发送方向命令接收方发送了多个命令包的顺序号,例如可以是1、2、3、4……。命令包详细内容是命令发送方向命令接收方发送的命令包的全部内容,例如内容可以包括:

Json数据为:{'code':'业务码','data_len':'数据长度','data':{'user_name':

'zhangsan','pwd':'tjsbsnc4gAAAAQUMxRjZCNzk1NDcz',....}}。

2)通过数据包抓取工具获取业务记录数据的过程为:

2.1)如果产品没有业务记录功能或者产品的保密级别导致不允许抓取某些命令包,则可以使用用例生成系统提供的wireshark工具,从而可以通过wireshark工具来抓取命令包,并对命令包进行解析得到业务记录数据。

其中,可以对wireshark工具抓取的数据包(数据包可以包括命令包和响应包)进行条件过滤。测试人员可以根据当前的测试需求对提供的wireshark工具进行配置,例如,需要配置的设置项有type、value、protocol,具体地:

type=TCP,value=IP:表示只分析所有符合指定IP地址的TCP(TransmissionControl Protocol,传输控制协议)的数据包,如果value为空,则分析所有TCP协议包;

type=v2v,value=MAC地址:表示只分析所有符合指定的MAC地址的命令包,如果value为空,则分析所有符合MAC地址的数据包;

type为空,表示分析所有数据包;

protocol=0或其他值:0表示按视联网协议解析,1表示会管服务器的私有协议解析,2表示按其他产品私有协议解析,3……。

需要注意的是,type和value可组合配置,protocol主要运用特殊场景。

wireshark工具在抓取到数据包后,可以对抓取的数据包进行解析,获取数据协议格式(是TCP还是MAC等),如果数据协议格式与wireshark工具配置的type、value不匹配,则对下一条数据包进行解析。如果数据协议格式与wireshark工具配置的type、value匹配,则获取数据包的包数据并对照wireshark工具配置的protocol值,获取protocol值对应的协议规则进行数据解析,判断是否符合对应协议值,如果是则获取数据包和数据包的包数据作为业务记录数据写入本地的数据记录文件,业务记录数据的保存格式为:执行编号、命令接收方地址(IP地址+端口/MAC地址等)、命令包详细内容、数据来源(0表示从产品获取,1表示wireshark工具获取)、解析协议类型(0表示按视联网协议解析,1表示按会管服务器的私有协议解析,2表示按其他产品私有协议解析,3……)、命令包发送时间等等。

wireshark业务抓取插件具体数据分析如下,以视联网协议为例,视联协议头可以为:

例如,根据IP地址过滤出来的某一条数据包为:

21 00 01 01 00 00 01 00 0a ba 05 00 03ba 30 00 01 0a 0b 00 0c00......

wireshark工具先截取前两个字节数据(21 00),判断是否属于视联网中的业务消息类型(视联网中所有的业务都有定义固定的值),如果不是则返回解析下一条数据包;

如果是属于视联网的业务消息类型,则往下截取第3位(01)传输协议是否符合视联网协议(00连接协议,01单播协议,02组播协议),如果不符合则返回解析下一条数据包;

如果输协议符合视联网协议,则截取第4位(01)响应位是否符合视联网协议(00响应包,01命令包),如果不符合或者值为00(只记录发送的命令包,服务器返回的响应包不做记录)则返回解析下一条数据包;

如果响应位符合视联网协议,则截取第5位(00)长度类型是否符合视联网协议(00表示64字节,01表示280字节,02表示1050字节),如果不符合则返回解析下一条数据包;

如果长度类型符合视联网协议,则说明该数据包是视联网的命令包,wireshark工具获取数据包的全部内容作为业务记录数据并写入本地的业务记录数据文件,其中,业务记录数据的格式为:执行编号、命令接收方地址(IP地址+端口/MAC地址等)、命令包详细内容(21 00 01 01 00 00 01 00 0a ba05 00 03ba 30 00 01 0a 0b 00 0c 00...)、数据来源(0表示从产品获取,1表示wireshark工具获取)、解析协议类型(0表示按视联网协议解析,1表示按会管服务器的私有协议解析,2表示按其他产品私有协议解析,3……)、命令包发送时间等等。

当然,也可以采用产品本身的业务记录功能或者数据包抓取工具之外的其他方式获取业务记录数据,本发明实施例对此无需加以限制。此外,本发明实施例的产品测试方法除了可以适用于视联网之外,也可以适用其他多种网络的环境中,例如互联网、以太网、IP网或者混合网络等等,本发明实施例同样对此无需加以限制。

步骤102、根据所述业务记录数据生成测试用例,以根据所述测试用例再次对所述待测试产品进行测试。

在本发明实施例中,在获取到待测试产品的业务记录数据后,可以根据业务记录数据生成测试用例,进而可以根据测试用例再次对待测试产品进行测试。需要注意的是,由于再次进行测试时的测试用例为基于在先测试时生成的业务记录数据生成,因此可以完全复现在先测试时的测试环境,进而可以更加快速查到到异常并解决。

参照图2,是本发明的一种产品测试的实现环境示意图,本发明实施例可以应用于用例生成系统,在需要对产品进行测试时,用例生成系统可以从待测试产品中导入待测试产品的业务记录数据,然后可以根据业务记录数据生成测试用例,从而可以利用测试用例再次对待测试产品进行测试。例如,用例生成系统可以按照相同的发送顺序和时间间隔向发送待测试产品的命令接收方发送命令包。

在上述的品测试方法中,在对待测试产品进行测试时可以生成业务记录数据,随后,若在对待测试产品的测试过程中异常,可以获取到待测试产品的业务记录数据,以根据业务记录数据生成测试用例对待测试产品再次进行测试,由于根据在先对待测试产品测试时生成的业务记录数据生成测试用例后再次进行测试,因此可以复现对待测试产品测试时存在的问题,进而可以快速找到问题并解决。此外,在对待测试产品进行测试时,不需要人为去编写测试用例,因此提高了测试效率。

在本发明的一种优选实施例中,所述步骤101、获取待测试产品的业务记录数据,包括:

响应于选择请求,从若干产品中选择待测试产品;

从所述待测试产品本地中获取对应的业务记录数据。

在具体实现中,保存有业务记录数据的产品可以有多个,测试人员可以通过向用例生成系统发送选择请求,用例生成系统可以根据选择请求从多个产品中获取需要进行测试的待测试产品,然后从该待测试产品的本地中获取对应的业务记录数据。举例来说,产品可以包括会管服务器、核心服务器等,测试人员可以根据需求选择会管服务器或者核心服务器对应的产品作为待测试产品,然后可以点击导入待测试产品对应的业务记录数据,进而用例生成系统就可以根据导入的业务记录数据自动生成测试用例。

在上述实施例中,测试人员可以根据实际需求选择对应的待测试产品,进而可以获取到待测试产品的业务记录数据生成测试用例,以根据测试用例对待测试产品进行测试,提高测试人员的测试效率。

在本发明的一种优选实施例中,所述记录数据至少包括解析协议类型,在所述步骤102、根据所述业务记录数据生成测试用例之前,所述方法还包括:

根据所述解析协议类型对应的协议规则对所述命令包进行解析,得到所述命令包的解析结果;

根据所述命令包的解析结果和所述业务记录数据中的记录数据,生成所述业务记录数据对应的测试用例;

展示所述测试用例;其中,所述测试用例允许进行删除操作、禁用操作和编辑操作。

在本发明实施例中,在获取待测试产品的业务记录数据后,用例生成系统针对每条业务记录数据,获取每条业务记录中的解析协议类型,根据解析协议类型对应的协议规则进行解析,得到解析结果,其中,解析结果至少可以包括业务消息类型(是视联网或者其他网络的数据包)或者业务编码(1表示预约会议,2表示开始会议,3表示停止会议……)、业务标识(用于唯一标识到对应的数据包),然后,可以根据命令包的解析结果和业务记录数据的记录数据,生成业务记录数据对应的测试用例,并保存到指定的用例数据库中。

作为一个具体示例,测试用例的内容至少可以包括:被测产品名称、命令接收方地址(IP地址+端口/MAC地址等)、执行编号、业务编码、业务标识、数据来源、解析协议类型、命令包详细内容、命令包发送时间、用例状态(未执行/业务中/成功/失败)、执行开始时间、耗时、异常信息等等。

进一步地,还可以在用例生成系统中为测试人员展示测试用例,测试人员则还可以根据实际需求对测试用例进行删除操作、禁用操作和编辑操作。具体地,用例生成系统展示生成的测试用例,测试人员可对无效的测试用例进行删除操作或者禁用等操作,此外,为了使得测试用例可以适应各种环境,测试人员还可对选中的测试用例进行编辑操作,具体地,对测试用例的编辑操作至少可以包括:1)可对单个测试用例或一键对所有测试用例的命令接收方地址进行修改;2)可对单个测试用例某个参数进行替换:用例生成系统获取该测试用例的详细数据,根据解析协议类型对应的协议规则解析出命令包中的每一项值,并在参数编辑界面展示,测试人员可以对其修改和保存;3)可一键对指定的单个或多个属性参数进行修改(如对user_name、token_id属性等):逐条解析所有测试用例的中业务包(命令包),根据协议查找业务包中内容里是否有需要修改的属性名,如果有替换成测试人员修改后的值。

在上述实施例中,根据解析协议类型对应的协议规则对命令包进行解析,得到命令包的解析结果,进而可以根据命令包的解析结果和业务记录数据中的记录数据,生成业务记录数据对应的测试用例并展示,其中,生成的测试用例允许测试人员进行删除操作、禁用操作和编辑操作,因此可以根据实际情况更好地完成对产品的测试,提高测试效率。

在本发明的一种优选实施例中,所述测试用例至少包括业务编码,所述展示所述测试用例,包括:

将所述业务编码转换为对应的业务功能名称;

按照所述业务功能名称展示对应的所述测试用例。

在具体实现中,每个测试用例都分别具有其对应的业务功能,在测试用例中通过业务编码进行标识,例如1表示预约会议,2表示开始会议,3表示停止会议……。

在本发明实施例中,可以将业务编码转换为对应的业务功能名称,即预约会议、开始会议或者停止会议等等,然后在用例生成系统中按照业务功能名称展示对应的测试用例,便于测试人员更好地根据测试用例的业务功能进行产品测试。

在上述实施例中,将测试用例的业务编码转换为对应的业务功能名称,并按照业务功能名称展示对应的测试用例,使得测试人员可以快速确认各个测试用例的业务功能,提高了测试效率。

在本发明的一种优选实施例中,所述测试用例至少包括所述命令包和所述命令包的业务标识、解析协议类型、命令接收方地址、执行编号和命令包发送时间,所述步骤102、根据所述业务记录数据生成测试用例,包括:

根据所述命令包发送时间计算各个所述命令包之间的用例执行间隔时间;

按照所述执行编号的顺序和所述用例执行间隔时间,按照所述解析协议类型对应的协议规则向所述命令接收方地址对应的命令接收方发送所述测试用例中的所述命令包;

接收所述命令接收方针对所述命令包发送的响应包;其中,所述响应包中包括所述命令包的业务标识。

在本发明实施例中,读取用例数据库中保存的测试用例,根据各个测试用例的执行编号升序排序,然后根据测试用例中的命令包发送时间计算每条测试用例的用例执行间隔时间(即一个测试用例执行后,等待多久再执行下一个测试用例,其中,例执行间隔时间也可以由测试人员自定义)。

获取测试用例中的命令接收方地址和命令包,用例生成系统根据命令接收方地址判断是否与该服务器存在连接,如果不存在连接,则根据命令接收方地址创建通信连接(如根据IP地址和端口创建TCP socket(套接字)通信连接),如果存在连接,则使用已存在通信连接发送测试用例中的命令包到命令接收方地址对应的命令接收方。其中,用例生成系统可以获取测试用例中的业务标识,用例生成系统通过与命令接收方创建的通信连接,从而可以将测试用例中包含业务标识的命令包发送到对应的命令接收方中。命令接收方在接收到命令包后进行相应处理,并向用例生成系统返回命令包对应的响应包,其中,响应包中包括命令包的业务标识。

在本发明实施例中,在测试用例执行完成后,生成测试用例的用例执行报告,其中,用例执行报告中至少可以包括用例执行结果、耗时等信息。

在上述实施例中,在根据业务记录数据生成测试用例后,可以基于测试用例的业务标识、解析协议类型、命令接收方地址、执行编号和命令包发送时间,确定如何将测试用例中的命令包发送至命令接收方,由于命令包可以通过在先测试时相同的条件发送至命令接收方,因此可以复现在先测试的过程,快速找到产品存在的问题并解决。

在本发明的一种优选实施例中,所述测试用例至少包括用例状态,在所述按照所述执行编号的顺序和所述发送时间间隔,向所述命令接收方地址对应的命令接收方发送所述测试用例中的所述命令包之后,所述方法还包括:

当超过指定超时时间未接收所述命令接收方针对所述命令包发送的响应包时,将所述用例状态更新为执行失败状态,并在所述测试用例记录对应的异常信息。

在本发明实施例中,用例生成系统记录业务标识对应测试用例中的命令包的发送时间,如果基于发送时间确定在指定超时时间内(默认10s)未收到命令接收方返回命令包对应的响应包,说明命令接收方对该响应包的处理失败,则用例生成系统记录该测试用例的用例状态为执行失败状态,并记录该测试用例的错误信息(异常信息)为:等待响应超时。

在上述实施例中,可以根据命令接收方对测试用例的命令包的执行情况,来更新对应的测试用例的用例状态,例如,若超过指定超时时间未接收命令接收方响应包则可以将对应的用例状态更新为执行失败状态,并记录测试用例的异常信息,以便于后续找到存在的问题或者继续测试。

在本发明的一种优选实施例中,在所述接收所述命令接收方针对所述命令包发送的响应包之后,所述方法还包括:

当在指定超时时间内接收所述命令接收方针对所述命令包发送的响应包时,若无法采用指定协议规则对所述响应包进行解析,则丢弃所述响应包,若能够采用指定协议规则对所述响应包进行解析,则根据所述响应包的业务标识对应的解析协议类型所对应的协议规则对所述响应包进行解析得到所述测试用例的业务响应结果;其中,所述业务响应结果包括业务操作成功或者业务操作失败;

根据所述业务响应结果对所述用例状态进行更新。

在本发明实施例中,如果基于发送时间确定在指定超时时间内接收命令接收方针对命令包发送的响应包,则用例生成系统可以进一步对该响应包进行处理,以确定对应的测试用例的用例执行状态。具体地,用例生成系统在指定超时时间内命令接收方返回的响应包,然后根据用例生成系统中存储的解析协议类型对应的协议规则(例如视联网协议、会管服务器的私有协议、其他产品的私有协议等等)进行匹配校验,如果响应包不符合所有协议规则,则丢弃不处理。如果符合某个协议规则,则根据该协议规则对响应包进行解析得到业务响应结果,其中,业务响应结果可以包括业务类型、业务标识以及业务响应结果,如果业务响应结果中result(或者协议中有其他能判断出业务处理结果的字段)字段为0表示业务操作成功,result字段为其他数值则表示业务操作失败,如果业务操作失败,可以获取返回的异常信息。

随后,用例生成系统根据业务标识找到对应的测试用例,并更改该测试用例的用例状态,以及记录该测试用例的用例执行结果信息。比如,如果业务响应结果为业务操作成功,则将测试用例的用例状态更新为用例执行成功,如果业务响应结果为业务操作失败,则将测试用例的用例状态更新为用例执行失败。

在上述实施例中,可以根据命令接收方对测试用例的命令包的执行情况,来更新对应的测试用例的用例状态,例如,若指定超时时间接收命令接收方响应包且通过对响应包的解析得到的业务响应结果为业务操作成功,则将对应的用例状态更新为执行失败,若指定超时时间接收命令接收方响应包且通过对响应包的解析得到的业务响应结果为业务操作失败,则将对应的用例状态更新为执行失败,便于测试人员理解测试用例的执行情况。

为了使本领域技术人员更好地理解本发明实施例的技术方案,下面通过具体示例进行示例性说明。

参照图3,是本发明的一种基于wireshark工具抓取数据包的流程示意图,在测试人员首次对产品进行测试时,可以开启产品的业务记录功能,或者通过wireshark工具抓取命令包,其中,若是通过wireshark工具抓取命令包,则可以针对wireshark工具进行配置,使得wireshark工具可以从多个数据包中获取符合条件的命令包,用于后续生成测试用例。

具体地,假设配置为wireshark工具需要抓取视联网的命令包,则wireshark工具抓取数据包的流程可以包括:

Wireshark工具抓取的数据包,然后根据指定条件(例如IP地址、端口/mac地址)等条件过滤;根据视联网协议判断数据包是否是视联网的数据包,若数据包不是视联网的数据包,则继续根据视联网协议判断下一个数据包是否是视联网的数据包;若数据包是视联网的数据包,则确定该数据包是否是命令包,若该数据包不是命令包,则继续根据视联网协议判断下一个数据包是否是视联网的数据包,若该数据包是命令包,则可以对该命令包进行解析,得到对应的业务记录数据。

参照图4,是本发明的一种用例生成系统对产品测试的流程示意图,具体地,用例生成系统主要可以分为三个模块,分别是用例生成模块、用例发包模块、用例执行结果分析模块,其中:

用例生成模块:主要对加载的业务记录数据进行解析并生成测试用例;

用例发包模块:主要是在对执行测试用例时,根据测试用例向对应的命令接收方进行发送命令包的操作;

用例执行结果分析模块:主要收集每条测试用例的响应包,并根据协议规则解析响应包,获取业务响应结果以及错误详情等记录到用例数据库中。

具体地,用例生成系统中各个模块实现内容包括:

1)用例生成模块:测试人员选择生成业务记录文件对应的产品(比如会管服务器、核心服务器等)后,点击导入业务记录文件按钮,用例生成系统则根据导入的业务记录文件自动生成测试用例,测试用例生成流程如下:

a、读取业务记录文件中的每条业务记录数据,获取每条业务记录数据的解析协议类型,根据对应的协议规则获取业务记录数据中命令包的业务消息类型或者业务编码、业务标识,并将业务编码翻译成对应的业务功能名称(例如预约会议或者结束会议等等),然后将这些数据作为测试用例存入用例数据库中,具体包括:被测产品名称、命令接收方地址(IP地址+端口/MAC地址等)、执行编号、业务编码、业务标识、数据来源、解析协议类型、命令包详细内容、命令包发送时间、用例状态(未执行/业务中/成功/失败)、执行开始时间、耗时、异常信息等等。

b、展示生成的测试用例,测试人员可以对无效的测试用例进行删除操作或禁用擦走等其他操作。

c.、为了使得测试用例适应各种环境,测试人员还可对选中的测试用例进行编辑操作。

2)用例发包模块,主要对生成的测试用例进行执行如下内容:

a、读取用例数据库中保存的用例列表,根据用例列表中各个测试用例的执行编号升序排序,根据用例执行编号顺序获取每条测试用例的参数,即业务标识、命令包发送时间、命令接收方地址、命令包等等;

b、根据命令包发送时间计算每条测试用例之间的用例执行间隔时间;

c、将测试用例中的命令包发送到命令接收方地址对应的命令接收方;

3)用例执行结果分析模块:

a.接收命令接收方返回的响应包,根据已存储的协议规则进行匹配校验(例如视联网协议),如果响应包不符合视联网协议,则丢弃不处理;

b、如果符合视联网协议且响应包是在指定超时时间内接收到,则根据视联网协议获取业务类型、业务标识以及业务响应结果,并根据业务标识找到用例列表中对应的测试用例,更改该测试用例的用例状态(执行成功状态或者执行失败状态)。

c、如果符合视联网协议但响应包不是在指定超时时间内接收到,说明命令接收方处理失败,则更新测试用例的用例状态为执行失败状态,并记录错误详情:等待响应超时。

d、生成测试用例执行报告,测试用例执行报告中标出用例执行结果、耗时等信息。

本发明实施例可以通过相同的操作,复现在先产品测试中存在的问题,并且测试人员在对产品再次进行测试时,不需要人为去编写测试用例,提高测试效率。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图5,示出了本发明的一种产品测试装置实施例的结构框图,具体可以包括如下模块:

获取模块501,用于获取待测试产品的业务记录数据;其中,所述业务记录数据为在对所述待测试产品进行测试时生成,所述业务记录数据至少包括命令包和所述命令包对应的记录数据;

测试模块502,用于根据所述业务记录数据生成测试用例,以根据所述测试用例再次对所述待测试产品进行测试。

在本发明的一种优选实施例中,所述待测试产品至少包括命令发送方和命令接收方;所述业务记录数据为所述命令发送方在开启业务记录功能时复制所述命令发送方向所述命令接收方发送的命令包后解析生成,和/或,所述命令发送方根据预先设置的数据包抓取工具抓取所述命令包后解析生成的数据。

在本发明的一种优选实施例中,所述获取模块501,具体包括:

响应于选择请求,从若干产品中选择待测试产品;

从所述待测试产品本地中获取对应的业务记录数据。

在本发明的一种优选实施例中,所述装置还包括展示模块,用于:

根据所述解析协议类型对应的协议规则对所述命令包进行解析,得到所述命令包的解析结果;

根据所述命令包的解析结果和所述业务记录数据中的记录数据,生成所述业务记录数据对应的测试用例;

展示所述测试用例;其中,所述测试用例允许进行删除操作、禁用操作和编辑操作。

在本发明的一种优选实施例中,所述测试用例至少包括业务编码,所述展示模块,具体用于:

将所述业务编码转换为对应的业务功能名称;

按照所述业务功能名称展示对应的所述测试用例。

在本发明的一种优选实施例中,所述测试用例至少包括所述命令包和所述命令包的业务标识、解析协议类型、命令接收方地址、执行编号和命令包发送时间,所述测试模块502,具体用于:

根据所述命令包发送时间计算各个所述命令包之间的用例执行间隔时间;

按照所述执行编号的顺序和所述用例执行间隔时间,按照所述解析协议类型对应的协议规则向所述命令接收方地址对应的命令接收方发送所述测试用例中的所述命令包;

接收所述命令接收方针对所述命令包发送的响应包;其中,所述响应包中包括所述命令包的业务标识。

在本发明的一种优选实施例中,所述测试用例至少包括用例状态,所述装置还包括更新模块,用于:

当超过指定超时时间未接收所述命令接收方针对所述命令包发送的响应包时,将所述用例状态更新为执行失败状态,并在所述测试用例记录对应的异常信息。

在本发明的一种优选实施例中,所述更新模块,用于:

当在指定超时时间内接收所述命令接收方针对所述命令包发送的响应包时,若无法采用指定协议规则对所述响应包进行解析,则丢弃所述响应包,若能够采用指定协议规则对所述响应包进行解析,则根据所述响应包的业务标识对应的解析协议类型所对应的协议规则对所述响应包进行解析得到所述测试用例的业务响应结果;其中,所述业务响应结果包括业务操作成功或者业务操作失败;

根据所述业务响应结果对所述用例状态进行更新。

本发明实施例在对待测试产品进行测试时可以生成业务记录数据,随后,若在对待测试产品的测试过程中异常,可以获取到待测试产品的业务记录数据,以根据业务记录数据生成测试用例对待测试产品再次进行测试,由于根据在先对待测试产品测试时生成的业务记录数据生成测试用例后再次进行测试,因此可以复现对待测试产品测试时存在的问题,进而可以快速找到问题并解决。此外,在对待测试产品进行测试时,不需要人为去编写测试用例,因此提高了测试效率。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种产品测试方法、一种产品测试装置、一种电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术分类

06120115925244