CN112256557B - 程序回归测试方法、装置、系统、计算机设备及存储介质 - Google Patents

程序回归测试方法、装置、系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN112256557B
CN112256557B CN202010974683.6A CN202010974683A CN112256557B CN 112256557 B CN112256557 B CN 112256557B CN 202010974683 A CN202010974683 A CN 202010974683A CN 112256557 B CN112256557 B CN 112256557B
Authority
CN
China
Prior art keywords
plaintext
message
sampled
test
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010974683.6A
Other languages
English (en)
Other versions
CN112256557A (zh
Inventor
沈国辉
李精华
苏长谦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Mushroom Iot Technology Co ltd
Original Assignee
Guangdong Mushroom Iot Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Mushroom Iot Technology Co ltd filed Critical Guangdong Mushroom Iot Technology Co ltd
Priority to CN202010974683.6A priority Critical patent/CN112256557B/zh
Publication of CN112256557A publication Critical patent/CN112256557A/zh
Application granted granted Critical
Publication of CN112256557B publication Critical patent/CN112256557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及边缘计算,公开了程序回归测试方法,包括:获取测试指令;根据测试指令,获取抽样对象列表;向抽样对象列表中的待抽样对象发送请求上报指令,以使待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端;接收报文和明文,获取与报文和明文版本一致的解析协议,将报文、明文和解析协议打包成测试数据包,并保存至云端数据库;响应电子设备的下载指令,将测试数据包从云端数据库拷贝至电子设备,以使电子设备上的程序对测试数据包中的报文进行解析测试,将解析后的明文与测试数据包中的明文进行比对,将比对结果作为测试报告输出。本发明还提出程序回归测试装置、系统、计算机设备及存储介质。本申请能实现程序测试的全面性。

Description

程序回归测试方法、装置、系统、计算机设备及存储介质
技术领域
本申请涉及边缘计算技术领域,尤其涉及一种程序回归测试方法、装置、系统、计算机设备及存储介质。
背景技术
边缘计算是一种分散式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。它是将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到边缘节点去处理。对于边缘计算的运行逻辑,原始报文的解析是最关键的环节。因为边缘端控制设备的判断依据就是设备上报上来的运行数据,如果运行数据解析错误了,就会导致整个逻辑紊乱,所以边缘程序的每次发版前都需要对报文解析模块做充分的测试。由于该测试是重复性的工作,每次都会耗费大量的人力和时间,同时也未必能保证测试全面。而且由于测试用例有限,往往会将某些临界值或特殊值给漏测了。导致尽管在测试环境下测试通过了,但上了生产环境就会出现各种问题。
发明内容
本申请提供一种程序回归测试方法、装置、系统、计算机设备及存储介质,以解决现有技术中解析测试不全面且会漏测某些临界值或特殊值的问题。
为解决上述问题,本申请提供的一种程序回归测试方法,包括:
获取测试指令;
根据所述测试指令,获取抽样对象列表;
向所述抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端;
接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;
响应电子设备的下载指令,将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。
进一步的,所述向所述抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端包括:
基于消息队列遥测传输协议与待抽样对象建立连接;
在建立所述连接后,通过发布/订阅的方式向待抽样对象发送所述请求上报指令。
进一步的,在所述接收所述报文和明文之后,还包括:
对所述报文和明文的接收状态进行确认。
进一步的,所述对所述报文和明文的接收状态进行确认具体包括:
当接收到所述报文和明文时,标记对应的待抽样对象,并对未进行标记的待抽样对象,再发送请求上报指令,直至接收到所有所述待抽样对象发送的所述报文和明文。
进一步的,所述获取与所述报文和明文版本一致的解析协议包括:
解析待抽样对象的固定字段信息;
调取所述固定字段信息中的解析协议,作为与所述报文和明文版本一致的解析协议。
进一步的,在所述接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库之后,还包括:
创建与电子设备进行通信的接口;
响应电子设备的接口调用请求,对所述接口调用请求进行验签,对所述接口调用请求的验签方式为RSA非对称加密;
在所述验签通过时,调用所述接口进行所述测试数据包的下载。
为解决上述问题,本申请还提供一种程序回归测试装置,所述装置包括:
获取模块,用于获取测试指令;
解析模块,用于根据所述测试指令,获取抽样对象列表;
发送模块,用于向所述抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端;
打包保存模块,用于接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;
对接模块,用于响应电子设备的下载指令,将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。
为解决上述问题,本申请还提供一种程序回归测试系统,所述系统包括:
云端、待抽样对象以及电子设备;
所述电子设备接收用户指令和目标测试对象,并基于所述目标测试对象生成抽样对象列表,将所述用户指令及抽样对象列表组成测试指令发送至云端;
所述云端接收所述测试指令,并根据所述测试指令获取所述抽样对象列表;向所述抽样对象列表中的待抽样对象发送请求上报指令;
所述待抽样对象响应所述请求上报指令,将采集当前各节点的报文和解析后的明文反馈至所述云端;
所述云端从所述待抽样对象获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;
所述云端设置有与所述电子设备进行通信的接口;
所述电子设备通过接口下载所述测试数据包,提取测试数据包中的报文对所述电子设备上的程序进行解析测试,并将解析后的明文与测试数据包中的明文进行比对,将比对结果作为测试报告输出。
为解决上述问题,本申请还提供一种计算机设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述所述的程序回归测试方法。
为解决上述问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的程序回归测试方法。
根据本申请实施例提供的程序回归测试方法、装置、系统、计算机设备及存储介质,与现有技术相比至少具有以下有益效果:
根据获取到的测试指令,来获取到抽样对象列表,所述云端向抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端,通过该步骤可获取到现有的待抽样对象运行时的所有数据,为后续测试提供基础;并且接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,为了数据和协议的一致性,将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。通过上述测试来对程序的性能进行判断,并且上述利用的数据是待抽样对象的目前运行实时产生的数据,所以利用上述数据对程序进行测试能保证解析测试的全面性,且能测出某些临界值或特殊值。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图做一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的程序回归测试方法的流程示意图;
图2为本申请一实施例提供的程序回归测试装置的模块示意图;
图3为本申请一实施例提供的程序回归测试系统的示意图;
图4为本申请一实施例的计算机设备的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是是相同的实施例,也不是与其它实施例相互排斥的独立的或备选的实施例。本领域技术人员显式地或隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面介绍本申请涉及的消息队列遥测传输协议(MQTT协议),消息队列遥测传输协议是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,消息队列遥测传输协议可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
下面结合本申请实施例中对附图对本申请实施例进行描述。
本申请提供一种程序回归测试方法。参照图1所示,为本申请一实施例提供的程序回归测试方法的流程示意图。
在本实施例中,应用于云端,程序回归测试方法包括:
S1、获取测试指令;
具体的,通过获取电子设备发送的测试指令,云端开始进行程序回归测试的准备工作。
而电子设备发送的测试指令包括:用户指令和抽样对象列表。
所述待抽样对象列表为基于用户在前端页面选择的待抽样对象而组成的列表,所述待抽样对象为设备。
S2、根据所述测试指令,获取抽样对象列表;
具体的,如上所述,测试指令包含有抽样对象列表和用户指令,所以通过解析所述测试指令,来获取抽样对象列表,所述抽样对象列表为根据用户在电子设备上选择的待抽样对象而生成的。
S3、向所述抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端;
具体的,云端与待抽样对象建立连接,并向抽样对象列表中的待抽样对象发送请求上报指令,以使待抽样对象将采集到的各节点的报文和解析后的明文打包成json格式的数据包后反馈至云端。
在本申请的一些实施例中,还可以通过设定期限来对待抽样对象发送请求上报指令,来收集报文和明文;并且可设定在待抽样对象的数量处理量超过平均水平等特殊时间,在该时间段,云端向所述待抽样对象发送请求上报指令,来收集报文和明文。
通过上述方式来收集报文和明文,能满足数据的丰富性,利用上述数据对程序进行测试能测出某些临界值或特殊值,保证了程序解析测试的全面性
进一步的,在本申请的一些实施例中,S3包括:
基于消息队列遥测传输协议与待抽样对象建立连接;
在建立所述连接后,通过发布/订阅的方式向待抽样对象发送所述请求上报指令。
具体的,云端与待抽样对象间基于消息队列遥测传输协议(MQTT协议)建立连接,在建立连接后,云端通过发布/订阅的方式,向待抽样对象发送请求上报指令,即当云端作为发布者,待抽样对象作为订阅者,云端发送请求上报指令,通过代理,待抽样对象作为订阅者接收到请求上报指令,发布者与订阅者不需要建立直接联系,云端通过代理与待抽样对象间接连接。同样的云端也可作为订阅者,待抽样对象作为发布者,待抽样对象反馈报文和明文,通过代理,云端将接收所述报文和明文。
通过采用消息队列遥测传输协议(MQTT协议),使云端与待抽样对象建立间接连接,并通过发布/订阅的方式,能使云端向多个待抽样对象发送信息,并且有新的待抽样对象加入时,不需要修改云端的行为,可以便捷的实现一对多情况下的消息的接收和发送。
S4、接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;
具体的,所述也是通过发布/订阅的方式,云端接收待抽样对象发送的报文和明文。并且由于报文和解析后的明文的版本与解析协议的版本一致,所以在对新程序进行测试准备时,需将与报文和明文版本一致的解析协议、报文和明文打包成json格式的测试数据包并保存至云端数据库。
其目的是为了数据与协议的一致性。
由于每次收集起来的报文、明文和解析协议这些数据样本都保存至云端的数据库中的,可以用于重复测试,所以在后续测试时,能实现将某些临界值和特殊值检测出,保证了测试的全面性。
进一步的,在本申请的一些实施例中,在步骤S4之后,还包括:
对所述报文和明文的接收状态进行确认。
具体的,云端收集好待抽样对象发送的报文和明文后,会将已接收到的待抽样对象发送的报文和明文进行确认,来确认是否有待抽样对象对应的报文或明文未被接收。
通过对报文和明文接收状态的确认,判断有无待抽样对象未发送所述报文和明文,以实现后续对未发送报文和明文的待抽样对象的进一步处理。
再进一步的,在本申请的一些实施例中,所述报文和明文的接收状态进行确认具体包括:
当接收到所述报文和明文时,标记对应的待抽样对象,并对未进行标记的待抽样对象,再发送请求上报指令,直至接收到所有所述待抽样对象发送的所述报文和明文。
具体的,当接收到待抽样对象对应的报文和明文时,将所述待抽样对象标记为“请求成功”,而对于未标记的待抽样对象,云端将再次发送请求上报指令,直至抽样对象列表中所记录的待抽样对象对应的报文和明文被云端全部接收,才停止发送请求上报指令。
例如:在抽样对象列表中将对应的待抽样对象标记为“请求成功”,从而确定所述待抽样对象对应的报文和明文已被成功接收;未被接收的不进行标记,而后将再发送请求上报指令,直至所有待抽样对象对应的报文和明文全被云端接收。
通过上述方法,实现对数据的完整收集,利用完整全面的数据为实现某些临界值或特殊值的检测提供基础。
进一步的,在本申请的一些实施例中,步骤S4包括,
解析待抽样对象的固定字段信息;
调取所述固定字段信息中的解析协议,作为与所述报文和明文版本一致的解析协议。
具体的,云端通过解析待抽样对象的固定字段信息,即待抽样对象中的“启用中”的协议包,通过调取“启用中”的协议包的解析协议,作为与报文和明文版本一致的解析协议。
通过上述步骤获取到当前版本的解析协议,也即与所述报文和明文版本一致的解析协议,以实现对程序测试前的准备工作。
进一步的,在本申请的一些实施例中,在步骤S4之后,还包括:
创建与电子设备进行通信的接口;
响应电子设备的接口调用请求,对所述接口调用请求进行验签,对所述接口调用请求的验签方式为RSA非对称加密;
在所述验签通过时,调用所述接口进行所述测试数据包的下载。
具体的,云端还创建有与电子设备进行通信的接口,在电子设备发送接口调用请求时,对所述接口调用请求进行验签,所述接口调用请求包含有电子设备的签名,并且云端对所述接口调用请求的验签方式为RSA非对称加密,当云端对接口调用请求的验签通过时,电子设备将调用所述接口进行测试数据包的下载。
通过创建接口,便于电子设备通过接口下载所述测试数据包,并且对接口的调用还需进行验签,提高了数据的安全性。
S5、响应电子设备的下载指令,将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。
具体的,所述电子设备的下载指令,即为对程序进行正式测试指令,在正式测试前,需将云端接口对应统一资源定位符(URL)输入到程序中,所述统一资源定位符对应的是所述测试数据包;在收到正式测试指令时,即下载指令时,云端进行响应,电子设备通过测试数据包的统一资源定位符(URL),将所述测试数据包下载至电子设备,然后对测试数据包中的报文一个个地进行解析,并将解析后的明文与测试数据包中的明文一一比对,相同的就通过,否则就报错,并对外输出测试报告。
测试报告的格式如下:
在上述表格中,属性是指设备在运行时的一些属性,例如:loadtime、runtime、frequency、errorstatus等;实际值则是提取的设备产生的报文对应的解析后的明文;解析值则为程序对报文解析的结果
开发人员将利用测试来对程序进行修改调整,然后重新进行测试,直至测试结果全部通过为止。
根据获取到的测试指令,来获取到抽样对象列表,所述云端向抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端,通过该步骤可获取到现有的待抽样对象运行时的所有数据,为后续测试提供基础;并且接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,为了数据和协议的一致性,将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。通过上述测试来对程序的性能进行判断,并且上述利用的数据是待抽样对象各节点的实时运行产生的数据,所以利用上述数据对程序进行测试能测出某些临界值或特殊值,保证程序解析测试的全面性。
如图2所示,是本申请程序回归测试装置的功能模块图。
本申请所示程序回归测试装置100可以安装于电子设备中。根据实现的功能,所述程序回归测试装置可以包括获取模块101、解析模块102、发送模块103、打包保存模块104和对接模块105。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
获取模块101,用于获取测试指令;
详细的,获取模块101通过获取电子设备发送的测试指令,云端开始进行测试的准备工作。
解析模块102,用于根据所述测试指令,获取抽样对象列表;
详细的,测试指令包含有抽样对象列表和用户指令,解析模块102通过解析所述测试指令,来获取抽样对象列表,所述抽样对象列表为根据用户在电子设备上选择的待抽样对象而生成的。
发送模块103,用于向所述抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端;
详细的,发送模块103向抽样对象列表中的待抽样对象发送请求上报指令,以使待抽样对象将采集到的各节点的报文和解析后的明文打包成json格式的数据包后反馈至云端。
具体的,云端与待抽样对象间基于消息队列遥测传输协议(MQTT协议)建立连接,在建立连接后,云端通过发布/订阅的方式,向待抽样对象发送请求上报指令,即当云端作为发布者,待抽样对象作为订阅者,云端发送请求上报指令,通过代理,待抽样对象作为订阅者接收到请求上报指令,发布者与订阅者不需要建立直接联系,云端通过代理与待抽样对象间接连接。同样的云端也可作为订阅者,待抽样对象作为发布者,待抽样对象反馈报文和明文,通过代理,云端将接收所述报文和明文。
在本申请的一些实施例中,还可以通过设定期限来对待抽样对象发送请求上报指令,来收集报文和明文;并且可设定在待抽样对象的数量处理量超过平均水平等特殊时间,在该时间段,云端向所述待抽样对象发送请求上报指令,来收集报文和明文。
打包保存模块104,用于接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;
详细的,打包保存模块104接收待抽样对象发送的报文和明文。并且由于报文和解析后的明文的版本与解析协议的版本一致,所以在对新程序进行测试准备时,需将与报文和明文版本一致的解析协议、报文和明文打包成测试数据包并保存至云端数据库。
其目的是为了数据与协议的一致性。
进一步的,所述打包保存模块104包括获取协议子模块;
获取协议子模块用于解析待抽样对象的固定字段信息;
调取所述固定字段信息中的解析协议,作为与所述报文和明文版本一致的解析协议。
具体的,云端通过解析待抽样对象的固定字段信息,即待抽样对象中的“启用中”的协议包,通过调取“启用中”的协议包的解析协议,作为与报文和明文版本一致的解析协议。
通过上述步骤获取到当前版本的解析协议,也即与所述报文和明文版本一致的解析协议,以实现对程序测试前的准备工作。
进一步的,所述程序回归测试装置还包括:确认模块;
确认模块用于对所述报文和明文的接收状态进行确认。
详细的,云端收集好待抽样对象发送的报文和明文后,会将已接收到的待抽样对象发送的报文和明文进行确认,来确认是否有待抽样对象对应的报文或明文未被接收。
具体的,当接收到所述报文和明文时,标记对应的待抽样对象,并对未进行标记的待抽样对象,再发送请求上报指令,直至接收到所有所述待抽样对象发送的所述报文和明文。
详细的,当接收到待抽样对象对应的报文和明文时,将所述待抽样对象标记为“请求成功”,而对于未标记的待抽样对象,云端将再次发送请求上报指令,直至抽样对象列表中所记录的待抽样对象对应的报文和明文被云端全部接收,才停止发送请求上报指令。
进一步的,所述程序回归测试装置还包括:接口创建模块;
接口创建模块用于创建与电子设备进行通信的接口;
响应电子设备的接口调用请求,对所述接口调用请求进行验签,对所述接口调用请求的验签方式为RSA非对称加密;
在所述验签通过时,调用所述接口进行所述测试数据包的下载。
具体的,云端还创建有与电子设备进行通信的接口,在电子设备发送接口调用请求时,对所述接口调用请求进行验签,所述接口调用请求包含有电子设备的签名,并且云端对所述接口调用请求的验签方式为RSA非对称加密,当云端对接口调用请求的验签通过时,电子设备将调用所述接口进行测试数据包的下载。
对接模块105,用于响应电子设备的下载指令,将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。
详细的,对接模块105在收到正式测试指令时,即下载指令时,云端进行响应,电子设备通过测试数据包的统一资源定位符(URL),将所述测试数据包下载至电子设备,然后对测试数据包中的报文一个个地进行解析,并将解析后的明文与测试数据包中的明文一一比对,相同的就通过,否则就报错,并对外输出测试报告。
通过上述各模块的配合,实现了根据获取到的测试指令,来获取到抽样对象列表,所述云端向抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端,通过该步骤可获取到现有的待抽样对象运行时的所有数据,为后续测试提供基础;并且接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,为了数据和协议的一致性,将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。通过上述测试来对程序的性能进行判断,并且上述利用的数据是待抽样对象各节点的实时运行产生的数据,所以利用上述数据对程序进行测试能测出某些临界值或特殊值,保证程序解析测试的全面性。
如图3所示,为本申请一实施例提供的程序回归测试系统的示意图。包括:云端204、待抽样对象205以及电子设备(201、202、203);
所述电子设备(201、202、203)接收到用户在前端页面选取的目标测试对象以及用户指令,将用户选取的目标测试对象生成抽样对象列表后,将用户指令和抽样对象列表组成测试指令发送至云端204;
所述云端204接收并解析所述测试指令,获取其中的抽样对象列表,并向抽样对象列表中待抽样对象205发送请求上报指令。所述云端204与待抽样对象205之间基于消息队列遥测传输协议(MQTT协议)中的发布/订阅方式来接收和发送消息。
待抽样对象205接收到所述请求上报指令后进行响应,将采集当前各节点的报文和解析后的明文反馈至云端204;
所述云端204从所述待抽样对象获取与所述报文和明文版本一致的解析协议,具体的,通过解析待抽样对象205的固定字段信息,调取所述固定字段信息中的解析协议,作为所述报文和明文版本一致的解析协议。即解析待抽样对象205中的“启用中”的协议包,通过调取“启用中”的协议包的解析协议,作为与报文和明文版本一致的解析协议。将所述报文、明文和解析协议打包成测试数据包,并保存至云端数据库。
在云端204还设置有与所述电子设备(201、202、203)进行通信的接口,并且对接口的调用需进行验签,所述验签方式为RSA非对称加密。电子设备(201、202、203)在发送接口调用请求时,对所述接口调用请求进行验签,接口调用请求包含有电子设备(201、202、203)的签名。当验签通过时,电子设备(201、202、203)将调用所述接口进行测试数据包的下载。
对程序的测试开始后,电子设备(201、202、203)将通过接口的统一资源定位符(URL)下载所述测试数据包,所述程序通过利用测试数据包中的报文来进行解析测试,将解析后的结果与测试数据包中的明文进行比对,并将比对结果作为测试报告输出。
通过采用上述系统,可以完整的实现程序回归测试方法,可以实现利用在生产环境中各节点实时产生的数据,来作为程序回归测试的原始数据,并且在收集好数据后,在电子设备(201、202、203)对数据进行调用时,需进行验签,保证了数据的安全性。并且程序利用报文进行模拟解析后,将解析结果与原始明文进行比对,根据比对结果生成测试报告。通过利用在生产环境中实时产生的数据来对程序进行测试,可以测试出某些临界值或特殊值,保证了测试的全面性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如程序回归测试方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述程序回归测试方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例程序回归测试方法的步骤,根据获取到的测试指令,来获取到抽样对象列表,所述云端向抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端,通过该步骤可获取到现有的待抽样对象运行时的所有数据,为后续测试提供基础;并且接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,为了数据和协议的一致性,将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。通过上述测试来对程序的性能进行判断,并且上述利用的数据是待抽样对象的目前运行实时产生的数据,所以利用上述数据对程序进行测试能保证解析测试的全面性,且能测出某些临界值或特殊值。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的程序回归测试方法的步骤,根据获取到的测试指令,来获取到抽样对象列表,所述云端向抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端,通过该步骤可获取到现有的待抽样对象运行时的所有数据,为后续测试提供基础;并且接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,为了数据和协议的一致性,将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出。通过上述测试来对程序的性能进行判断,并且上述利用的数据是待抽样对象的目前运行实时产生的数据,所以利用上述数据对程序进行测试能测出某些临界值或特殊值,保证了解析测试的全面性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (8)

1.一种程序回归测试方法,其特征在于,所述方法包括:
获取测试指令;
根据所述测试指令,获取抽样对象列表;
向所述抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端,其中,根据设定期限向待抽样对象发送请求上报指令,或者,设定符合预设条件的特殊时间,向待抽样对象发送请求上报指令;
接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;
响应电子设备的下载指令,将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出;
在所述接收所述报文和明文之后,还包括:
对所述报文和明文的接收状态进行确认;
所述对所述报文和明文的接收状态进行确认具体包括:
当接收到所述报文和明文时,标记对应的待抽样对象,并对未进行标记的待抽样对象,再发送请求上报指令,直至接收到所有所述待抽样对象发送的所述报文和明文。
2.根据权利要求1所述的程序回归测试方法,其特征在于,所述向所述抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端包括:
基于消息队列遥测传输协议与待抽样对象建立连接;
在建立所述连接后,通过发布/订阅的方式向待抽样对象发送所述请求上报指令。
3.根据权利要求1所述的程序回归测试方法,其特征在于,所述获取与所述报文和明文版本一致的解析协议包括:
解析待抽样对象的固定字段信息;
调取所述固定字段信息中的解析协议,作为与所述报文和明文版本一致的解析协议。
4.根据权利要求1所述的程序回归测试方法,其特征在于,在所述接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库之后,还包括:
创建与电子设备进行通信的接口;
响应电子设备的接口调用请求,对所述接口调用请求进行验签,对所述接口调用请求的验签方式为RSA非对称加密;
在所述验签通过时,调用所述接口进行所述测试数据包的下载。
5.一种程序回归测试装置,其特征在于,包括:
获取模块,用于获取测试指令;
解析模块,用于根据所述测试指令,获取抽样对象列表;
发送模块,用于向所述抽样对象列表中的待抽样对象发送请求上报指令,以使所述待抽样对象将采集到的各节点的报文和解析后的明文反馈至云端,其中,根据设定期限向待抽样对象发送请求上报指令,或者,设定符合预设条件的特殊时间,向待抽样对象发送请求上报指令;
打包保存模块,用于接收所述报文和明文,获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;
对接模块,用于响应电子设备的下载指令,将所述测试数据包从云端数据库拷贝至电子设备,以使所述电子设备上的程序对所述测试数据包中的所述报文进行解析测试,并将解析后的明文与所述测试数据包中的所述明文进行比对,并将比对结果作为测试报告输出;
确认模块,用于对所述报文和明文的接收状态进行确认;
所述确认模块还用于当接收到所述报文和明文时,标记对应的待抽样对象,并对未进行标记的待抽样对象,再发送请求上报指令,直至接收到所有所述待抽样对象发送的所述报文和明文。
6.一种程序回归测试系统,其特征在于,包括:
云端、待抽样对象以及电子设备;
所述电子设备接收用户指令和目标测试对象,并基于所述目标测试对象生成抽样对象列表,将所述用户指令及抽样对象列表组成测试指令发送至云端;
所述云端接收所述测试指令,并根据所述测试指令获取所述抽样对象列表;向所述抽样对象列表中的待抽样对象发送请求上报指令,其中,根据设定期限向待抽样对象发送请求上报指令,或者,设定符合预设条件的特殊时间,向待抽样对象发送请求上报指令;
所述待抽样对象响应所述请求上报指令,将采集当前各节点的报文和解析后的明文反馈至所述云端;
所述云端对所述报文和明文的接收状态进行确认;
所述对所述报文和明文的接收状态进行确认具体包括:
当接收到所述报文和明文时,标记对应的待抽样对象,并对未进行标记的待抽样对象,再发送请求上报指令,直至接收到所有所述待抽样对象发送的所述报文和明文;
所述云端从所述待抽样对象获取与所述报文和明文版本一致的解析协议,并将所述报文、所述明文和所述解析协议打包成测试数据包,并保存至云端数据库;
所述云端设置有与所述电子设备进行通信的接口;
所述电子设备通过接口下载所述测试数据包,提取测试数据包中的报文对所述电子设备上的程序进行解析测试,并将解析后的明文与测试数据包中的明文进行比对,将比对结果作为测试报告输出。
7.一种计算机设备,其特征在于,所述计算机设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一所述的程序回归测试方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至4中任一所述的程序回归测试方法。
CN202010974683.6A 2020-09-16 2020-09-16 程序回归测试方法、装置、系统、计算机设备及存储介质 Active CN112256557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010974683.6A CN112256557B (zh) 2020-09-16 2020-09-16 程序回归测试方法、装置、系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010974683.6A CN112256557B (zh) 2020-09-16 2020-09-16 程序回归测试方法、装置、系统、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112256557A CN112256557A (zh) 2021-01-22
CN112256557B true CN112256557B (zh) 2024-05-07

Family

ID=74231697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010974683.6A Active CN112256557B (zh) 2020-09-16 2020-09-16 程序回归测试方法、装置、系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112256557B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225232B (zh) * 2021-05-12 2022-06-10 中国第一汽车股份有限公司 硬件测试方法、装置、计算机设备及存储介质
CN114860619B (zh) * 2022-07-07 2022-09-13 北京安华金和科技有限公司 一种数据库审计程序回归测试方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000299843A (ja) * 1999-04-13 2000-10-24 Nippon Columbia Co Ltd 通信データ記録装置
CN107896173A (zh) * 2017-11-27 2018-04-10 上海斐讯数据通信技术有限公司 自动化测试方法、测试设备、自动化测试系统及存储介质
CN110555303A (zh) * 2019-08-01 2019-12-10 苏宁云计算有限公司 防止机器脚本恶意访问的方法及装置
CN111010316A (zh) * 2019-12-17 2020-04-14 广州唯品会信息科技有限公司 一种流量回放方法、装置及系统
CN111026645A (zh) * 2019-11-20 2020-04-17 航天信息股份有限公司 用户界面自动化测试方法、装置、存储介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000299843A (ja) * 1999-04-13 2000-10-24 Nippon Columbia Co Ltd 通信データ記録装置
CN107896173A (zh) * 2017-11-27 2018-04-10 上海斐讯数据通信技术有限公司 自动化测试方法、测试设备、自动化测试系统及存储介质
CN110555303A (zh) * 2019-08-01 2019-12-10 苏宁云计算有限公司 防止机器脚本恶意访问的方法及装置
CN111026645A (zh) * 2019-11-20 2020-04-17 航天信息股份有限公司 用户界面自动化测试方法、装置、存储介质及电子设备
CN111010316A (zh) * 2019-12-17 2020-04-14 广州唯品会信息科技有限公司 一种流量回放方法、装置及系统

Also Published As

Publication number Publication date
CN112256557A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN108650149B (zh) 服务器的测试方法、装置、设备及计算机可读存储介质
CN111083225A (zh) 在物联网平台中的数据处理方法、装置及物联网平台
CN108363662A (zh) 一种应用程序测试方法、存储介质及终端设备
CN106484611B (zh) 基于自动化协议适配的模糊测试方法和装置
CN107957940B (zh) 一种测试日志处理方法、系统及终端
CN111813701B (zh) 基于http的接口测试方法、装置、计算机设备及存储介质
CN112256557B (zh) 程序回归测试方法、装置、系统、计算机设备及存储介质
CN110609785A (zh) 软件接口的测试方法及装置
CN112395184A (zh) 一种信息获取方法、设备和计算机存储介质
CN112019609B (zh) 基于物联网的设备监控方法、装置、设备及计算机介质
CN110647471A (zh) 接口测试用例生成方法、电子装置及存储介质
CN108427639B (zh) 自动化测试方法、应用服务器及计算机可读存储介质
CN107168844B (zh) 一种性能监控的方法及装置
CN111190755A (zh) 应用程序的功能异常处理方法及装置
CN103902534A (zh) 一种网页程序触发本地操作的方法和装置
CN111723019A (zh) 接口的调试方法及系统
CN111666193A (zh) 基于实时日志解析的终端功能监控与测试的方法与系统
CN111124937B (zh) 基于插桩函数辅助提高生成测试用例效率的方法及系统
CN110768860B (zh) 一种测试方法、测试装置及电子设备
KR20120071175A (ko) 웹 플랫폼이 탑재된 이동통신 단말기와 이를 이용한 로그 정보 제공 방법 및 웹 플랫폼에 대한 검증 시스템과 이를 이용한 검증 방법
CN111767161A (zh) 远程调用深度识别方法、装置、计算机设备及可读存储介质
CN112181822A (zh) 一种测试方法和应用程序的启动耗时测试方法
CN112671615B (zh) 前端用户操作行为数据的收集方法、系统及存储介质
CN116028367A (zh) 自动化测试系统及方法
CN112559278B (zh) 操作数据的获取方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: No. 118, Building C1, No.1 Qingsheng Avenue, Nansha District, Guangzhou City, Guangdong Province, 511455

Applicant after: Guangdong Mushroom IoT Technology Co.,Ltd.

Address before: 518000 building 1505 (Block C), building 9, Baoneng Science Park, Qinghu village, Qinghu community, Longhua street, Longhua District, Shenzhen City, Guangdong Province

Applicant before: MOGULINKER TECHNOLOGY (SHENZHEN) CO.,LTD.

Country or region before: China

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant