CN113656282A - 一种无侵入测试方法和相关装置以及存储介质 - Google Patents

一种无侵入测试方法和相关装置以及存储介质 Download PDF

Info

Publication number
CN113656282A
CN113656282A CN202110813932.8A CN202110813932A CN113656282A CN 113656282 A CN113656282 A CN 113656282A CN 202110813932 A CN202110813932 A CN 202110813932A CN 113656282 A CN113656282 A CN 113656282A
Authority
CN
China
Prior art keywords
data
terminal
test
server
test data
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.)
Pending
Application number
CN202110813932.8A
Other languages
English (en)
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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202110813932.8A priority Critical patent/CN113656282A/zh
Publication of CN113656282A publication Critical patent/CN113656282A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/3696Methods or tools to render software testable

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)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种无侵入测试方法和相关装置以及存储介质,该方法包括:目的终端与中转服务器建立连接;接收中转服务器发送的测试数据,其中,测试数据是数据终端构造并发送至中转服务器的,或者是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的;基于测试数据进行测试。本申请通过前端独自调试网络数据,以及构造测试数据进行测试,能够解决前后端联合调试耗费大量时间以及无法对原始数据进行修改的问题。

Description

一种无侵入测试方法和相关装置以及存储介质
技术领域
本申请涉及网络技术领域,特别是涉及一种无侵入测试方法和相关装置以及存储介质。
背景技术
随着互联网的发展,前端开发技术越来越受到重视。前端的开发离不开页面测试技术。
现有技术中,前端开发涉及网络数据时,往往依赖后端开发人员通过修改代码的方式进行配合,然而,对于某些场景,特别是需要推送网络消息的场景,由于没有现成可用的工具,前后端的联合调试会消耗大量的时间。
进一步地,由于现有技术通常是从数据源加载业务数据,无法对原始数据进行修改,从而无法快速排查生产环境偶现问题,以及无法快速定位问题原因。
发明内容
本申请主要解决的技术问题是提供一种无侵入测试方法和相关装置以及存储介质,通过前端独自调试网络数据,以及构造测试数据进行测试,能够解决前后端联合调试耗费大量时间以及无法对原始数据进行修改的问题。
为解决上述技术问题,本申请采用的第一技术方案是提供一种无侵入测试方法,该方法包括:目的终端与中转服务器建立连接;接收中转服务器发送的测试数据,其中,测试数据是数据终端构造并发送至中转服务器的,或者是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的;基于测试数据进行测试。
其中,目的终端与中转服务器建立连接的步骤,包括:目的终端通过双向通信协议与中转服务器建立连接;接收中转服务器发送的测试数据的步骤,包括:接收中转服务器通过双向通信协议发送的测试数据。
其中,在目的终端通过双向通信协议与中转服务器建立连接的步骤中,还包括:目的终端按照设定频率向中转服务器发送心跳包,以保持与中转服务器的连接。
其中,目的终端与中转服务器建立连接的步骤,包括:目的终端向中转服务器发送数据请求,并与中转服务器建立连接,以通过中转服务器将数据请求发送至数据终端,以使数据终端向中转服务器发送原始数据。
为解决上述技术问题,本申请采用的第二技术方案是提供一种无侵入测试方法,该方法包括:中转服务器与目的终端建立连接;将测试数据发送给目的终端,以使目的终端基于测试数据进行测试;其中,测试数据是数据终端构造并发送至中转服务器的,或者是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的。
其中,将测试数据发送给目的终端,以使目的终端基于测试数据进行测试的步骤,具体包括:拦截数据终端发送的原始数据;接收用户指令,并基于用户指令对原始数据进行修改得到测试数据。
为解决上述技术问题,本申请采用的第三技术方案是提供无侵入测试方法,该方法包括:数据终端接收用户指令,基于用户指令构造测试数据或获取原始数据;将测试数据或原始数据发送至中转服务器,并通过中转服务器直接将测试数据转发给与中转服务器建立连接的目的终端,或者通过中转服务器将原始数据修改为测试数据后,将测试数据发送至目的终端,以使目的终端基于测试数据进行测试。
其中,数据终端支持对完整数据体的展示和编辑。
为解决上述技术问题,本申请采用的第四技术方案是提供一种目的终端,目的终端包括:建立连接模块,用于与中转服务器建立连接;数据接收模块,用于接收中转服务器发送的测试数据,其中,测试数据是数据终端构造并发送至中转服务器的,或者是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的;测试模块,用于基于测试数据进行测试。
为解决上述技术问题,本申请采用的第五技术方案是提供一种中转服务器,中转服务器包括:连接模块,用于与目的终端建立连接;发送模块,用于将测试数据发送给目的终端,以使目的终端基于测试数据进行测试;其中,测试数据是数据终端构造并发送至中转服务器的,或者是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的。
为解决上述技术问题,本申请采用的第六技术方案是提供一种数据终端,数据终端包括:接收指令模块,用于接收用户指令,基于用户指令构造测试数据或获取原始数据;数据发送模块,用于将测试数据或原始数据发送至中转服务器,并通过中转服务器直接将测试数据转发给与中转服务器建立连接的目的终端,或者通过中转服务器将原始数据修改为测试数据后,将测试数据发送至目的终端,以使目的终端基于测试数据进行测试。
为解决上述技术问题,本申请采用的第七技术方案是提供一种电子设备,目的终端包括:存储器,用于存储程序数据,程序数据被执行时实现如上述任一项所述的目的终端或中转服务器或数据终端对应的无侵入测试方法中的步骤;处理器,用于执行存储器存储的程序指令以实现如上述任一项所述的目的终端或中转服务器或数据终端对应的无侵入测试方法中的步骤。
为解决上述技术问题,本申请采用的第八技术方案是提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项所述的无侵入测试方法中的步骤。
本申请的有益效果是:区别于现有技术,本申请提供一种无侵入测试方法和相关装置以及存储介质,通过前端独自调试网络数据,能够避免前后端联合调试导致的大量时间消耗,提升了开发测试的效率;进一步地,通过构造测试数据进行测试,能够使得偶现问题暴露出来,使开发人员快速定位问题原因,提升了代码验证的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请无侵入测试系统一实施方式的流程示意图;
图2是图1中无侵入测试系统第一实施方式的信号流向图;
图3是本申请无侵入测试方法第一实施方式中执行主体为目的终端时的流程示意图;
图4是本申请无侵入测试方法第一实施方式中执行主体为中转服务器时的流程示意图;
图5是本申请无侵入测试方法第一实施方式中执行主体为数据终端时的流程示意图;
图6是图1中无侵入测试系统第二实施方式的信号流向图;
图7是本申请无侵入测试方法第二实施方式中执行主体为目的终端时的流程示意图;
图8是本申请无侵入测试方法第二实施方式中执行主体为中转服务器时的流程示意图;
图9是本申请无侵入测试方法第二实施方式中执行主体为数据终端时的流程示意图;
图10是本申请目的终端一实施方式的结构示意图;
图11是本申请中转服务器一实施方式的结构示意图;
图12是本申请数据终端一实施方式的结构示意图;
图13是本申请电子设备一实施方式的结构示意图;
图14是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,本文中使用的术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
现有技术中,前端开发涉及网络数据时,往往依赖后端开发人员通过修改代码的方式进行配合,然而,前后端的联合调试会消耗大量的时间。且由于现有技术通常是从数据源加载业务数据,无法对原始数据进行修改,从而无法快速排查生产环境偶现问题,以及无法快速定位问题原因。
基于上述情况,本申请提供一种无侵入测试方法和相关装置以及存储介质,通过前端独自调试网络数据,以及构造测试数据进行测试,能够解决前后端联合调试耗费大量时间以及无法对原始数据进行修改的问题。
基于上述无侵入测试方法,本申请首先提供一种无侵入测试系统。
具体地,请参阅图1,图1是本申请无侵入测试系统一实施方式的结构示意图。如图1所示,在本实施方式中,无侵入测试系统10包括相互连接的目的终端11、中转服务器12以及数据终端13。
其中,目的终端11指的是正在进行开发调试的一端。
其中,数据终端13指的是提供数据的一端。
其中,中转服务器12指的是在目的终端11与数据终端13建立连接的服务器。
请参阅图2,图2是图1中无侵入测试系统第一实施方式的信号流向图。
本实施方式中,数据终端23将测试数据发送给中转服务器22,其中,测试数据是数据终端23基于用户指令构造的;中转服务器22获取到测试数据后,将测试数据发送给目的终端21;目的终端21接收到中转服务器22发送的测试数据后,基于测试数据进行测试。
其中,数据终端23包括可视化数据终端,支持对完整数据体的展示和编辑,测试数据是数据终端23基于用户指令构造出来的可以在目的终端21进行测试的完整数据体。
详细的工作方式请参阅图3、图4以及图5,图3是本申请无侵入测试方法第一实施方式中执行主体为目的终端时的流程示意图,图4是本申请无侵入测试方法第一实施方式中执行主体为中转服务器时的流程示意图,图5是本申请无侵入测试方法第一实施方式中执行主体为数据终端时的流程示意图。
如图3所示,在本实施方式中,该方法包括:
S31:目的终端与中转服务器建立连接。
本实施方式中,目的终端指的是正在进行开发调试的一端,包括电脑、iPad、手机等智能终端。
本实施方式中,目的终端通过双向通信协议与中转服务器建立连接。
在一个具体的实施场景中,目的终端通过WebSocket服务器与中转服务器建立连接,在WebSocket建立连接期间,为了保持连接不断开,目的终端需要按照设定频率向中转服务器发送心跳包。
其中,WebSocket是基于TCP(Transmission Control Protocol,出书控制协议)的一种双向通信协议。WebSocket协议实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。
其中,心跳包指的是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。
本实施方式中,目的终端每隔10秒向中转服务器发送心跳包,在其他实施方式中,目的终端可以每隔5秒、7秒或其他时间向中转服务器发送心跳包,本申请对此不作限定。
S32:接收中转服务器发送的测试数据,其中,测试数据是数据终端构造并发送至中转服务器的。
本实施方式中,目的终端接收中转服务器通过双向通信协议发送的测试数据。
S33:基于测试数据进行测试。
本实施方式中,目的终端接收到中转服务器发送的测试数据后,将测试数据交付给需要显示的页面,以对页面的显示功能进行测试。
在一个具体的实施场景中,目的终端接收到中转服务器转发的一个弹幕数据体后,对弹幕数据体进行解析,并通过弹幕页面显示解析后的数据,以此测试目的终端的弹幕显示功能。
如图4所示,在本实施方式中,该方法包括:
S41:中转服务器与目的终端建立连接。
本实施方式中,中转服务器12为HTTP(HyperText Transfer Protocol,超文本传输协议)服务器。中转服务器包括WebSocket子系统。其中,中转服务器运行在node.js环境,基于用户输入的node.js命令启动。其中,node.js指的是一个让JavaScript运行在服务端的开发平台。
本实施方式中,中转服务器被启动后,通过调用WebSocket子系统与目的终端建立连接。
S42:将测试数据发送给目的终端,以使目的终端基于测试数据进行测试;其中,测试数据是数据终端构造并发送至中转服务器的。
本实施方式中,中转服务器与目的终端建立连接后,一旦接受到数据终端发送的测试数据,就将测试数据转发给目的终端。
本实施方式中,中转服务器在没有与目的终端建立连接的情况下,只接收数据终端发送的测试数据并进行保存,不对测试数据进行转发,且会在日志中输出无连接终端的提示。且当数据终端打开显示界面时,中转服务器会将保存的历史数据发送给数据终端,以在数据终端上显示历史数据。
进一步地,中转服务器包括两个互相独立的HTTP服务器,其中一个HTTP服务器负责数据的接收与转发,另外一个HTTP服务器负责调用网络资源。
具体地,测试数据里包括一些已设计好的图片、视频等文件资源的网络访问方式(链接),负责数据接收与转发的HTTP服务器接收到测试数据后,向负责调用网络资源的HTTP服务器提供测试数据,负责调用网络资源的HTTP服务器从测试数据里提取到网络访问方式,并从存储有文件资源的服务器里下载到图片或视频,测试人员可以随意选择图片或视频,并将这些下载数据融合进测试数据中,继而通过负责数据接收与转发的HTTP服务器将融合后的测试数据发送给目的终端进行测试,以避免在某个礼物视频动效未最终设计出来时,对开发下载视频功能的进度造成阻碍。
如图5所示,在本实施方式中,该方法包括:
S51:数据终端接收用户指令,基于用户指令构造测试数据。
本实施方式中,数据终端支持对完整数据体的展示和编辑。具体地,数据终端可以根据不同项目的数据格式,提供类似json、ProtoBuffer等数据交换格式的展示和编辑支持,还能提供对一个完整数据体的新增、删除、修改、保存和发送功能。其中,json指的是一种轻量级的数据交换格式,ProtoBuffer指的是一种独立的数据交换格式。
其中,数据终端可以是计算机、平板电脑、手机等。
本实施方式中,用户指令包括对一个完整数据体进行新增、删除、修改、保存和发送中的任一种指令。
在一个具体的实施场景中,数据终端可以基于用户指令构造弹幕数据体和送礼数据体,数据终端的显示界面显示出弹幕数据体和送礼数据体的数据体列表,且当列表中的一个数据体被选中时,会展开显示出数据体详情,详情里包含该数据体的显示和编辑框,例如送礼数据包括送礼人、礼物名称等数据。
S52:将测试数据发送至中转服务器,并通过中转服务器直接将测试数据转发给与中转服务器建立连接的目的终端,以使目的终端基于测试数据进行测试。
在一个具体的实施场景中,目的终端为iOS模拟器,在iOS模拟器上是无法进行微信登录的,可以基于本申请无侵入测试方法第一实施方式中的原理,先在一台Android手机上登录微信,这台Android手机相当于数据终端,Android手机启动WebSocket服务器与iOS模拟器建立连接后,就可以把登录后微信上的信息经过WebSocket服务器转发到iOS模拟器上,实现在iOS模拟器模拟微信的功能。
区别于现有技术,本实施方式只用编写支撑整个测试逻辑的功能代码,在进行调试时,数据终端可基于用户指令构造出测试数据,通过中转服务器对测试数据进行转发,使目的终端基于接收到的测试数据进行测试即可完成开发测试,由于测试数据中未携带侵入性代码,故可由前端单独完成调试,避免了前后端联合调试导致的大量时间消耗,提升了开发测试的效率;进一步地,由于数据终端可构造测试数据,故开发人员可以构造特定数据验证开发测试者的代码是否正确,通过将生产环境偶现问题暴露出来,并快速定位问题原因,能够提升代码验证的准确率。
请参阅图6,图6是图1中无侵入测试系统第二实施方式的信号流向图。
本实施方式中,数据终端63将原始数据发送给中转服务器62;中转服务器62获取到原始数据后,基于用户指令对原始数据进行修改得到测试数据,并将将测试数据发送给目的终端61;目的终端61接收到中转服务器62发送的测试数据后,基于测试数据进行测试。
其中,数据终端63包括数据服务器,存储有大量原始数据。原始数据指的是用户在使用产品时产生的真实数据,例如,用户在观看直播时发送的弹幕数据或送礼数据。
其中,中转服务器62为构造出来的代理服务器,包括HTTP服务器或TCP服务器。具体地,代理服务器是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源。
详细的工作方式请参阅图7、图8以及图9,图7是本申请无侵入测试方法第二实施方式中执行主体为目的终端时的流程示意图,图8是本申请无侵入测试方法第二实施方式中执行主体为中转服务器时的流程示意图,图9是本申请无侵入测试方法第二实施方式中执行主体为数据终端时的流程示意图。
如图7所示,在本实施方式中,该方法包括:
S71:目的终端与中转服务器建立连接。
本实施方式中,目的终端指的是正在进行开发调试的一端,包括电脑、iPad、手机等智能终端。
本实施方式中,目的终端与中转服务器建立连接的方式包括两种,一种为主动式,一种为被动式。
具体地,在主动式连接的场景中,目的终端首先向中转服务器发送数据请求,并与中转服务器建立HTTP连接,以通过中转服务器将数据请求发送至数据终端,以使数据终端向中转服务器发送原始数据。
其中,目的终端未发送数据请求时,与中转服务器的连接断开。
在被动式连接的场景中,目的终端等待中转服务器启动TCP服务,并基于TCP服务与中转服务器连接,其中,在建立连接期间,为了保持连接不断开,目的终端需要按照设定频率向中转服务器发送心跳包,并通过中转服务器向数据终端转发心跳包。
S72:接收中转服务器发送的测试数据,其中,测试数据是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的。
在一个具体的实施场景中,目的终端与中转服务器建立HTTP连接后,通过中转服务器基于HTTP连接将数据请求发送至数据终端,以使数据终端基于数据请求调用原始数据,并将原始数据发送给中转服务器,中转服务器获取到原始数据后,如果接收到对原始数据进行修改的用户指令,就基于用户指令对原始数据进行修改得到测试数据,并将测试数据发送给目的终端,以使目的终端基于测试数据进行测试。
在另一个具体的实施场景中,目的终端与中转服务器建立TCP连接后,向中转服务器发送心跳包,并通过中转服务器向数据终端转发心跳包,并在中转服务器接收到数据终端发送的原始数据后,接收中转服务器对原始数据进行修改后发送的测试数据。
S73:基于测试数据进行测试。
本实施方式中,目的终端接收到中转服务器发送的测试数据后,将测试数据交付给需要显示的页面,以对页面的显示功能进行测试。
在一个具体的实施场景中,目的终端接收到中转服务器转发的一个弹幕数据体后,对弹幕数据体进行解析,并通过弹幕页面显示解析后的数据,以此测试目的终端的弹幕显示功能。
如图8所示,在本实施方式中,该方法包括:
S81:中转服务器与目的终端建立连接。
本实施方式中,中转服务器包括前端与后端,前端主要负责数据的显示和修改,并提供主动发送信令的操作界面,在测试消息推送时,操作界面可以接受用户指令,并直接基于用户指令构造测试数据发送给目的终端;后端主要负责与数据终端以及目的终端建立连接,以及对数据进行转发。
在一个具体的实施场景中,中转服务器接收目的终端发送的数据请求,在接收到数据请求的同时与目的终端建立HTTP连接。
在又一个具体的实施场景中,中转服务器启动TCP服务,等待目的终端与其建立TCP连接,并将目的终端发送的心跳包转发至数据终端,以维持连接不断开。
S82:将测试数据发送给目的终端,以使目的终端基于测试数据进行测试;其中,测试数据是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的。
本实施方式中,中转服务器接收到目的终端发送的数据请求后,将数据请求转发至数据终端,以使数据终端基于数据请求调用原始数据,并将原始数据发送给中转服务器。中转服务器拦截数据终端发送的原始数据,在获取到原始数据后,接收到对原始数据进行修改的用户指令,基于用户指令对原始数据进行修改得到测试数据,并将测试数据发送给目的终端,以使目的终端基于测试数据进行测试。
在其他实施方式中,中转服务器获取到原始数据后,如果接收到不对原始数据进行修改的用户指令,则直接将原始数据发送给目的终端,不对原始数据进行干预,以使目的终端基于原始数据进行测试。
如图9所示,在本实施方式中,该方法包括:
S91:数据终端接收用户指令,基于用户指令获取原始数据。
本实施方式中,用户指令为目的终端发送的数据请求。
数据终端接收中转服务器转发的数据请求后,基于数据请求获取原始数据。
S92:将原始数据发送至中转服务器,通过中转服务器将原始数据修改为测试数据后,将测试数据发送至目的终端,以使目的终端基于测试数据进行测试。
本实施方式中,用户指令为目的终端上手动触发的单条数据请求,如果将手动触发的单条数据请求实现成批量自动定时触发的多条数据请求,就可以对数据终端(数据服务器)进行压力测试,看数据服务器的相关功能是否扛得住这种批量请求。
区别于现有技术,本实施方式只用编写支撑整个测试逻辑的功能代码,在进行调试时,数据终端基于目的终端发送的数据请求,调用原始数据并发送给中转服务器后,中转服务器自动拦截原始数据,并基于用户指令对原始数据进行修改,使目的终端基于接收到的测试数据进行测试即可完成开发测试,由于测试数据中未携带侵入性代码,故可由前端单独完成调试,避免了前后端联合调试导致的大量时间消耗,提升了开发测试的效率;进一步地,由于中转服务器可构造测试数据,故开发人员可以构造特定数据验证开发测试者的代码是否正确,通过将生产环境偶现问题暴露出来,并快速定位问题原因,能够提升代码验证的准确率。
对应地,本申请提供无侵入测试方法的相关装置。
请参阅图10,图10是本申请目的终端一实施方式的结构示意图。如图10所示,本实施方式中,目的终端100包括建立连接模块1001、数据接收模块1002以及测试模块1003。
建立连接模块1001用于与中转服务器建立连接。
数据接收模块1002用于接收中转服务器发送的测试数据,其中,测试数据是数据终端构造并发送至中转服务器的,或者是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的。
测试模块1003用于基于测试数据进行测试。
其中,建立连接、接收数据以及测试数据的过程请参阅步骤S31~S33以及步骤S71~S73中的相关文字描述,在此不再赘述。
请参阅图11,图11是本申请中转服务器一实施方式的结构示意图。如图11所示,本实施方式中,中转服务器110包括连接模块1101与发送模块1102。
连接模块1101用于与目的终端建立连接。
发送模块1102用于将测试数据发送给目的终端,以使目的终端基于测试数据进行测试;其中,测试数据是数据终端构造并发送至中转服务器的,或者是数据终端将原始数据发送至中转服务器,通过中转服务器对原始数据进行修改得到的。
其中,建立连接以及发送测试数据的过程请参阅步骤S41~S42以及步骤S81~S82中的相关文字描述,在此不再赘述。
请参阅图12,图12是本申请数据终端一实施方式的结构示意图。如图12所示,本实施方式中,数据终端120包括接收指令模块1201与数据发送模块1202。
接收指令模块1201用于接收用户指令,基于用户指令构造测试数据或获取原始数据。
数据发送模块1202用于将测试数据或原始数据发送至中转服务器,并通过中转服务器直接将测试数据转发给与中转服务器建立连接的目的终端,或者通过中转服务器将原始数据修改为测试数据后,将测试数据发送至目的终端,以使目的终端基于测试数据进行测试。
其中,接收指令以及发送测试数据的过程请参阅步骤S51~S52以及步骤S91~S92中的相关文字描述,在此不再赘述。
区别于现有技术,本实施方式通过数据终端或中转服务器构造测试数据,并通过中转服务器对测试数据进行转发,使目的终端基于接收到的测试数据进行测试即可完成开发测试,由于测试数据中未携带侵入性代码,故可由前端单独完成调试,避免了前后端联合调试导致的大量时间消耗,提升了开发测试的效率;进一步地,由于数据终端或中转服务器可构造测试数据,故开发人员可以构造特定数据验证开发测试者的代码是否正确,通过将生产环境偶现问题暴露出来,并快速定位问题原因,能够提升代码验证的准确率。
请参阅图13,图13是本申请电子设备一实施方式的结构示意图。如图13所示,本实施方式中,电子设备130包括存储器1301以及处理器1302。
本实施方式中,存储器1301用于存储程序数据,程序数据被执行时可实现如上述任一方法实施例里目的终端或中转服务器或数据终端对应的无侵入测试方法中的步骤;处理器1302用于执行存储器1301存储的程序指令以实现如上述任一方法实施例里目的终端或中转服务器或数据终端对应的无侵入测试方法中的步骤。
具体而言,处理器1302用于控制其自身以及存储器1301以实现上述任一无侵入测试方法中的步骤。处理器1302还可以称为CPU(Central Processing Unit,中央处理单元)。处理器1302可能是一种集成电路芯片,具有信号的处理能力。处理器1302还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器1302可以由多个集成电路芯片共同实现。
区别于现有技术,本实施方式通过数据终端或中转服务器构造测试数据,并通过中转服务器对测试数据进行转发,使目的终端基于接收到的测试数据进行测试即可完成开发测试,由于测试数据中未携带侵入性代码,故可由前端单独完成调试,避免了前后端联合调试导致的大量时间消耗,提升了开发测试的效率;进一步地,由于数据终端或中转服务器可构造测试数据,故开发人员可以构造特定数据验证开发测试者的代码是否正确,通过将生产环境偶现问题暴露出来,并快速定位问题原因,能够提升代码验证的准确率。
对应地,本申请提供一种计算机可读存储介质。
请参阅图14,图14是本申请计算机可读存储介质一实施方式的结构示意图。
计算机可读存储介质140包括计算机可读存储介质140上存储的计算机程序1401,计算机程序1401被上述处理器执行时实现上述任一方法实施例中的步骤或者上述方法实施例中相关装置对应执行的步骤。
具体地,集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质140中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质140中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的计算机可读存储介质140包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (13)

1.一种无侵入测试方法,其特征在于,包括:
目的终端与中转服务器建立连接;
接收所述中转服务器发送的测试数据,其中,所述测试数据是数据终端构造并发送至所述中转服务器的,或者是所述数据终端将原始数据发送至所述中转服务器,通过所述中转服务器对所述原始数据进行修改得到的;
基于所述测试数据进行测试。
2.根据权利要求1所述的无侵入测试方法,其特征在于,所述目的终端与中转服务器建立连接的步骤,包括:
所述目的终端通过双向通信协议与所述中转服务器建立连接;
所述接收所述中转服务器发送的测试数据的步骤,包括:
接收所述中转服务器通过所述双向通信协议发送的所述测试数据。
3.根据权利要求1或2所述的无侵入测试方法,其特征在于,在所述目的终端通过双向通信协议与所述中转服务器建立连接的步骤中,还包括:
所述目的终端按照设定频率向所述中转服务器发送心跳包,以保持与所述中转服务器的连接。
4.根据权利要求1所述的无侵入测试方法,其特征在于,所述目的终端与中转服务器建立连接的步骤,包括:
所述目的终端向所述中转服务器发送数据请求,并与所述中转服务器建立连接,以通过所述中转服务器将所述数据请求发送至所述数据终端,以使数据终端向所述中转服务器发送所述原始数据。
5.一种无侵入测试方法,其特征在于,包括:
中转服务器与目的终端建立连接;
将测试数据发送给所述目的终端,以使所述目的终端基于所述测试数据进行测试;其中,所述测试数据是数据终端构造并发送至所述中转服务器的,或者是所述数据终端将原始数据发送至所述中转服务器,通过所述中转服务器对所述原始数据进行修改得到的。
6.根据权利要求5所述的无侵入测试方法,其特征在于,所述将测试数据发送给所述目的终端,以使所述目的终端基于所述测试数据进行测试的步骤,具体包括:
拦截所述数据终端发送的所述原始数据;
接收用户指令,并基于所述用户指令对所述原始数据进行修改得到所述测试数据。
7.一种无侵入测试方法,其特征在于,包括:
数据终端接收用户指令,基于所述用户指令构造测试数据或获取原始数据;
将所述测试数据或所述原始数据发送至中转服务器,并通过所述中转服务器直接将所述测试数据转发给与所述中转服务器建立连接的目的终端,或者通过所述中转服务器将所述原始数据修改为所述测试数据后,将所述测试数据发送至所述目的终端,以使所述目的终端基于所述测试数据进行测试。
8.根据权利要求7所述的无侵入测试方法,其特征在于,所述数据终端支持对完整数据体的展示和编辑。
9.一种目的终端,其特征在于,所述目的终端包括:
建立连接模块,用于与中转服务器建立连接;
数据接收模块,用于接收所述中转服务器发送的测试数据,其中,所述测试数据是数据终端构造并发送至所述中转服务器的,或者是所述数据终端将原始数据发送至所述中转服务器,通过所述中转服务器对所述原始数据进行修改得到的;
测试模块,用于基于所述测试数据进行测试。
10.一种中转服务器,其特征在于,所述中转服务器包括:
连接模块,用于与目的终端建立连接;
发送模块,用于将测试数据发送给所述目的终端,以使所述目的终端基于所述测试数据进行测试;其中,所述测试数据是数据终端构造并发送至所述中转服务器的,或者是所述数据终端将原始数据发送至所述中转服务器,通过所述中转服务器对所述原始数据进行修改得到的。
11.一种数据终端,其特征在于,所述数据终端包括:
接收指令模块,用于接收用户指令,基于所述用户指令构造测试数据或获取原始数据;
数据发送模块,用于将所述测试数据或所述原始数据发送至中转服务器,并通过所述中转服务器直接将所述测试数据转发给与所述中转服务器建立连接的目的终端,或者通过所述中转服务器将所述原始数据修改为所述测试数据后,将所述测试数据发送至所述目的终端,以使所述目的终端基于所述测试数据进行测试。
12.一种电子设备,其特征在于,包括:
存储器,用于存储程序数据,所述程序数据被执行时实现如权利要求1~4任一项或权利要求5~6任一项或权利要求7~8任一项所述的无侵入测试方法中的步骤;
处理器,用于执行所述存储器存储的程序指令以实现如权利要求1~4任一项或权利要求5~6任一项或权利要求7~8任一项所述的无侵入测试方法中的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~4任一项或权利要求5~6任一项或权利要求7~8任一项所述的无侵入测试方法中的步骤。
CN202110813932.8A 2021-07-19 2021-07-19 一种无侵入测试方法和相关装置以及存储介质 Pending CN113656282A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110813932.8A CN113656282A (zh) 2021-07-19 2021-07-19 一种无侵入测试方法和相关装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110813932.8A CN113656282A (zh) 2021-07-19 2021-07-19 一种无侵入测试方法和相关装置以及存储介质

Publications (1)

Publication Number Publication Date
CN113656282A true CN113656282A (zh) 2021-11-16

Family

ID=78477460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110813932.8A Pending CN113656282A (zh) 2021-07-19 2021-07-19 一种无侵入测试方法和相关装置以及存储介质

Country Status (1)

Country Link
CN (1) CN113656282A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242617A (zh) * 2008-03-04 2008-08-13 中兴通讯股份有限公司 一种性能统计原始数据的测试系统及测试方法
CN106528432A (zh) * 2016-12-12 2017-03-22 北京三快在线科技有限公司 测试场景数据的构建方法及装置、埋点测试方法
CN110730107A (zh) * 2019-09-02 2020-01-24 深圳壹账通智能科技有限公司 测试数据生成方法、装置、计算机设备和存储介质
CN111555940A (zh) * 2020-04-28 2020-08-18 北京字节跳动网络技术有限公司 客户端的测试方法、装置、电子设备及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242617A (zh) * 2008-03-04 2008-08-13 中兴通讯股份有限公司 一种性能统计原始数据的测试系统及测试方法
CN106528432A (zh) * 2016-12-12 2017-03-22 北京三快在线科技有限公司 测试场景数据的构建方法及装置、埋点测试方法
CN110730107A (zh) * 2019-09-02 2020-01-24 深圳壹账通智能科技有限公司 测试数据生成方法、装置、计算机设备和存储介质
CN111555940A (zh) * 2020-04-28 2020-08-18 北京字节跳动网络技术有限公司 客户端的测试方法、装置、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN107133180B (zh) 动态页面的测试方法、测试装置及存储介质
US20200242020A1 (en) Mock server for testing
CN109800173B (zh) 程序调试方法、装置及存储介质
US9652364B1 (en) Cloud service for mobile testing and debugging
CN111629240B (zh) 多屏互动显示方法及装置
CN107678778B (zh) 基于Hybrid的兼容方法、适配件、运行装置及系统
CN107577622B (zh) 后端接口模拟方法、设备及存储介质
CN104821954A (zh) 一种跨平台远程过程调用方法
CN104536890A (zh) 测试系统、方法和装置
CN115065652B (zh) 消息回复方法、装置、存储介质及计算机设备
CN106708717B (zh) 一种开发调试方法及装置
CN110674023B (zh) 一种接口测试方法和装置
CN109857963A (zh) 本地资源访问方法、装置及电子设备
CN111666199A (zh) 在智能终端上执行的调试方法以及软件调试器
CN113485927A (zh) 一种测试数据生成方法、装置、设备及存储介质
CN114253823A (zh) 分布式测试方法及相关设备
CN113656282A (zh) 一种无侵入测试方法和相关装置以及存储介质
CN114022278B (zh) 一种模拟交易处理方法及装置
CN112527656A (zh) 一种WebSocket接口的测试方法、装置及设备
CN114048087A (zh) 设备的数据中转性能的测试方法及装置
CN113626330A (zh) 混合模式移动应用调试方法及系统
CN111078209B (zh) 业务页面的开发处理方法、装置及设备
CN111782420B (zh) 基于Java Web框架的信息处理方法、装置、设备和介质
CN114625651A (zh) 一种应用程序调试方法、装置、计算机设备及存储介质
CN117033177A (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