CN111984520A - 埋点测试方法、计算机设备及计算机可读存储介质 - Google Patents
埋点测试方法、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111984520A CN111984520A CN201910435871.9A CN201910435871A CN111984520A CN 111984520 A CN111984520 A CN 111984520A CN 201910435871 A CN201910435871 A CN 201910435871A CN 111984520 A CN111984520 A CN 111984520A
- Authority
- CN
- China
- Prior art keywords
- data
- buried point
- detected
- network
- target application
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Abstract
本发明公开了一种埋点测试方法,能够提高埋点测试效率和埋点测试准确度,该埋点测试方法包括:获取目标应用传输的网络数据,并判断网络数据是否为待测埋点采集的数据,其中,在目标应用上部署有待测埋点;在判定网络数据是待测埋点采集的数据时,获取预期数据,并将网络数据与预期数据进行对比,其中,预期数据由待测埋点正常工作时采集的数据确定;根据对比结果确定待测埋点是否正常工作。本发明还提供了一种埋点测试系统、一种计算机设备和一种计算机可读存储介质。
Description
技术领域
本发明涉及测试技术领域,具体涉及一种埋点测试方法、系统、计算机设备及计算机可读存储介质。
背景技术
现实场景中,为了了解用户行为和应用的功能效果,通常会在应用的特定功能处设置埋点。在应用使用过程中,一旦埋点被触发,应用会向服务器发送对应的数据,通过分析埋点采集的数据(又称为埋点数据)可以得知应用某些功能模块的使用情况,后续可以用来进一步优化产品或者提供运营的数据支撑。
为了保障埋点的正常使用,测试人员会对埋点进行测试。目前现有的测试方法为:触发埋点后,埋点主动采集相应数据,人工查看埋点数据是否符合需求。但是,埋点数据通常很大,通过人工检查存在效率低下且出错率高的缺陷。
因此,提供一种埋点测试方法、系统、计算机设备和计算机可读存储介质,以提高埋点测试效率和埋点测试准确度,成为本领域有待解决的技术问题。
发明内容
本发明的目的在于提供一种埋点测试方法、系统、计算机设备和计算机可读存储介质,能够提高埋点测试效率和埋点测试准确度。
本发明的一个方面提供了一种埋点测试方法,上述方法包括:获取目标应用传输的网络数据,并判断上述网络数据是否为待测埋点采集的数据,其中,在上述目标应用上部署有上述待测埋点;在判定上述网络数据是上述待测埋点采集的数据时,获取预期数据,并将上述网络数据与上述预期数据进行对比,其中,上述预期数据由上述待测埋点正常工作时采集的数据确定;根据对比结果确定上述待测埋点是否正常工作。
可选的,上述判断上述网络数据是否为上述待测埋点采集的数据,包括:获取上述待测埋点的测试规则;判断上述网络数据是否符合上述待测埋点的测试规则;若是,则存储上述网络数据,并将上述网络数据转发给与上述目标应用对应的服务器;若否,则直接将上述网络数据转发给与上述目标应用对应的服务器。
可选的,上述获取预期数据,包括:获取上述待测埋点正常工作时采集的数据,并获取预期数据模板,其中,上述预期数据模板包括当前需要对比的第一数据类别;从上述待测埋点正常工作时采集的数据中确定出符合上述第一数据类别的数据,并根据上述符合上述第一数据类别的数据和上述预期数据模板生成上述预期数据。
可选的,上述将上述网络数据与上述预期数据进行对比,包括:确定属于同一数据类别的网络数据和预期数据;依次将上述属于同一数据类别的网络数据和预期数据中属于同一级别且处于该级别同一位置上的数据进行对比。
可选的,上述方法还包括:接收与上述目标应用对应的服务器返回的响应数据;判断上述响应数据是否与触发上述待测埋点的功能有关;在判定上述响应数据与触发上述待测埋点的功能有关时,获取用于触发上述待测埋点的修改数据,并根据上述修改数据修改上述响应数据;将修改后的响应数据转发给上述目标应用,以触发上述待测埋点。
可选的,上述方法还包括:获取用于触发上述待测埋点的所有数据,并获取修改数据模板,其中,上述修改数据模板中包括当前需要返回给上述目标应用以触发上述待测埋点的第二数据类别;从用于触发上述待测埋点的所有数据中确定符合上述第二数据类别的数据,并根据符合上述第二数据类别的数据和上述修改数据模板生成上述修改数据。
可选的,在上述获取目标应用传输的网络数据之后,上述方法还包括:判断上述网络数据是否用于请求打开预设网页;在判定上述网络数据用于请求打开上述预设网页时,将本地存储的与上述预设网页对应的网页数据返回给上述目标应用。
为实现上述目的,本发明的另一个方面提供了一种埋点测试系统,上述系统包括自动测试框架和代理工具,上述代理工具用于:获取目标应用传输的网络数据,并判断上述网络数据是否为待测埋点采集的数据,其中,在上述目标应用上部署有上述待测埋点;上述自动测试框架用于:在上述代理工具判定上述网络数据是上述待测埋点采集的数据的情况下,获取预期数据,并将上述网络数据与上述预期数据进行对比,其中,上述预期数据由上述待测埋点正常工作时采集的数据确定;根据对比结果确定上述待测埋点是否正常工作。
为实现上述目的,本发明的再一个方面提供了一种计算机设备,该计算机设备包括:存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述介绍的埋点测试方法的步骤。
为实现上述目的,本发明的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述介绍的埋点测试方法的步骤。
本发明提供的埋点测试方法、系统、计算机设备及计算机可读存储介质,不同现有技术中人工测试的方式,而是通过自动化的方式实现对待测埋点功能的测试,即自动的将待测埋点采集的数据与预期数据进行对比,从而提高埋点测试效率和埋点测试准确度。另外,本发明还可以避免人工修改响应数据,通过自动生成修改数据,并自动利用修改数据修改响应数据,然后将修改后的响应数据进行返回,以触发待测埋点,进一步的节约了人力成本和时间成本,提高了埋点测试效率。此外,本发明还将测试过程需要用到的网页数据预存在本地,避免因第三方网页更新或网络不通等原因导致测试结果不准确,进一步提高了埋点测试的准确性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示意性示出了根据本发明实施例的埋点测试方法的流程图;
图2示意性示出了根据本发明实施例的埋点测试方案的示意图;
图3示意性示出了根据本发明实施例的埋点测试系统的框图;
图4示意性示出了根据本发明实施例的适于实现埋点测试方法的计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
本发明提供的埋点测试方法、系统、计算机设备及计算机可读存储介质,不同现有技术中人工测试的方式,而是通过自动化的方式实现对待测埋点功能的测试,即自动的将待测埋点采集的数据与预期数据进行对比,从而提高埋点测试效率和埋点测试准确度。另外,本发明还可以避免人工修改响应数据,通过自动生成修改数据,并自动利用修改数据修改响应数据,然后将修改后的响应数据进行返回,以触发待测埋点,进一步的节约了人力成本和时间成本,提高了埋点测试效率。此外,本发明还将测试过程需要用到的网页数据预存在本地,避免因第三方网页更新或网络不通等原因导致测试结果不准确,进一步提高了埋点测试的准确性。
下面结合附图对本发明提供的埋点测试方法进行说明。
图1示意性示出了根据本发明实施例的埋点测试方法的流程图。
如图1所示,该埋点测试方法可以包括步骤S101~步骤S103,其中:
步骤S101,获取目标应用传输的网络数据,并判断网络数据是否为待测埋点采集的数据,其中,在目标应用上部署有待测埋点。
在本公开的应用场景中,埋点测试方法可以运行在测试服务器上,目标应用可以安装在测试客户端(如手机)上,测试服务器和测试客户端处于同一网络中。测试服务器上可以安装有测试工具(如Appium)、自动化测试框架(如WebDriverIO)和代理工具(如AnyProxy),自动化测试框架可以通过测试工具对测试客户端上安装的目标应用执行预设操作,目标应用响应预设操作后通过网络传输数据(即网络数据),本实施例中,目标应用不会与其对应的服务器直接交互,而是通过代理工具进行转发,即代理工具截获目标应用传输的网络数据,并将这些网络数据转发给与目标应用对应的服务器。
本实施例中,目标应用上可以部署有一个或者多个待测埋点,对于任一待测埋点,均可通过步骤S101~步骤S103实现对待测埋点功能的测试。另外,由于本方案是对待测埋点的功能进行测试,因此在截获到目标应用传输的网络数据之后,还需要检测该网络数据是否为待测埋点采集的数据。
可选的,判断网络数据是否为待测埋点采集的数据可以包括:获取待测埋点的测试规则;判断网络数据是否符合待测埋点的测试规则;若是,则存储网络数据,并将网络数据转发给与目标应用对应的服务器;若否,则直接将网络数据转发给与目标应用对应的服务器。
需知,在执行本实施例之前,工作人员预先写好了测试用例,该测试用例中包括待测埋点的测试规则。在开始测试时,可以将测试用例中待测埋点的测试规则写入规则文件,该规则文件例如可以为rules.js。本实施例中,在截获到网络数据之后,可以从规则文件中读取待测埋点的测试规则,然后判断网络数据是否符合待测埋点的测试规则,若是,则认为网络数据是在触发待测埋点后由待测埋点采集的数据,并将网络数据存储至规则文件中,以便后续根据网络数据确定待测埋点是否正常工作。例如,待测埋点为登录埋点,待测埋点的测试规则为数据的事件为login,则在网络数据的事件为login时,表明该网络数据是待测埋点采集的数据,此时可以将网络数据存储至rules.js中。若网络数据不符合待测埋点的测试规则,表明该网络数据不是由待测埋点采集的数据,此时不需要对比网络数据,也就不需要将网络数据进行存储,而是直接转发即可。
步骤S102,在判定网络数据是待测埋点采集的数据时,获取预期数据,并将网络数据与预期数据进行对比,其中,预期数据由待测埋点正常工作时采集的数据确定。
本实施例中,待测埋点正常工作时采集的数据属于多种数据类别,但是在检测待测埋点的功能时,可能不需要对比所有的数据,并且也可能需要将部分隐私数据进行加密处理,因此可以根据待测埋点正常工作时采集的数据确定出本次需要参加对比预期数据,然后将网络数据与预期数据进行对比即可,其中,本实施例可以采用Chai断言库进行对比。可选的,获取预期数据可以包括:获取待测埋点正常工作时采集的数据,并获取预期数据模板,其中,预期数据模板包括当前需要对比的第一数据类别;从待测埋点正常工作时采集的数据中确定出符合第一数据类别的数据,并根据符合第一数据类别的数据和预期数据模板生成预期数据。
需要说明的是,测试用例中还可以包括待测埋点正常工作时采集的数据。本实施例中,待测埋点正常工作时采集的数据所属的数据类别包括第一数据类别,第一数据类别为本次对比涉及的数据类别,且本实施例中的第一数据类别为至少一个数据类别。例如待测埋点为登录埋点,第一数据类别可以为:登录时间、用户ID、登录地点等,待测埋点正常工作时采集的数据所属的数据类别可以包括:登录时间、用户ID、登录地点、登录密码等等。根据符合第一数据类别的数据和预期数据模板生成预期数据可以是,确定符合第一数据类别的数据中需要加密的数据,利用预设加密算法对其进行加密,然后将加密后的数据和不需要加密的数据添加至预期数据模板中,以形成预期数据。例如,用户ID和登录地点属于隐私数据,需要进行加密,登录时间不需要加密,可以将登录时间、加密后的用户ID和加密后的登录地点添加至预期数据模板中,以形成预期数据。进一步,可以从规则文件中读出网络数据,然后确定网络数据中需要加密的数据,再利用同样的预设加密算法对其进行加密,进而将加密后的数据和不需要加密数据作为最终的网络数据与预期数据进行对比。
可选的,将网络数据与预期数据进行对比可以包括:确定属于同一数据类别的网络数据和预期数据;依次将属于同一数据类别的网络数据和预期数据中属于同一级别且处于该级别同一位置上的数据进行对比。
例如,第一数据类别包括登录时间和用户ID,网络数据包括的登录时间为:11:10:05,用户ID为:124;预期数据包括的登录时间为:11:10:01,加密后的用户ID为466332。对于登录时间,级别从大到小排序分别为:“时”、“分”、“秒”。对比时,可以先比较网络数据中“时”的第一位是否大于等于预期数据中“时”的第一位,再比较网络数据中“时”的第二位是否大于等于预期数据中“时”的第二位,依次类推。对于用于ID,可以先利用同样的预设加密算法对网络数据中包括的用户ID进行加密,然后再比较网络数据加密后的用户ID是否与预期数据中加密后的用户ID一致。
步骤S104,根据对比结果确定待测埋点是否正常工作。
其中,在网络数据满足预期数据时,确定待测埋点正常工作;在网络数据不满足预期数据时,确定待测埋点未正常工作。例如,第一数据类别包括登录时间和用户ID,在网络数据中的登录时间大于等于预期数据中的登录时间,且网络数据中加密后的用户ID和预期数据中加密后的用户ID一致时,认为待测埋点正常工作。
本实施例中,有些待测埋点的触发方式并不是对目标应用执行预设操作,如点击登录按钮,而是通过在目标应用的页面展示特定数据,例如,当目标应用首页上的特定位置出现广告时,可以触发对应的广告埋点。因此,在本方案中的待测埋点为上述类别的埋点时,通常需要更改与目标应用对应的服务器返回给目标应用的响应数据,以便触发待测埋点。其中,该响应数据例如可以为上述在首页上展示的数据,更改响应数据后,可以使得响应数据中包含用于触发待测埋点的数据。如,该埋点测试方法还可以包括:接收与目标应用对应的服务器返回的响应数据;判断响应数据是否与触发待测埋点的功能有关;在判定响应数据与触发待测埋点的功能有关时,获取用于触发待测埋点的修改数据,并根据修改数据修改响应数据;将修改后的响应数据转发给目标应用,以触发待测埋点。
具体的,规则文件中可以包括修改数据和预设响应规则,其中,预设响应规则可以是在测试开始时从测试用例中直接写入规则文件的。在接收到服务器返回的响应数据(又称为mock数据)之后,可以从规则文件中获取预设响应规则,在响应数据满足预设响应规则时,表明该响应数据与触发待测埋点的功能有关,进一步可以从规则文件中读取对应的修改数据,然后将修改数据替换响应数据中对应位置的数据,进而将修改后的响应数据返回目标应用,以触发待测埋点。例如,目标应用的首页需要展示10个视频,在第2个视频为广告时可以触发待测埋点,则在目标应用发送首页加载指令之后,测试服务器上的代理工具可以将首页加载指令转发给目标应用对应的服务器,并接收目标应用对应的服务器返回的响应数据,然后代理工具可以从规则文件中获取修改数据,此时的修改数据为广告,进而可以将修改数据替换响应数据中第2个视频位置处的数据,再将修改后的响应数据给目标应用。
可选的,埋点测试方法还可以包括:获取用于触发待测埋点的所有数据;获取修改数据模板,其中,修改数据模板中包括当前需要返回给目标应用以触发待测埋点的第二数据类别;从用于触发待测埋点的所有数据中确定符合第二数据类别的数据,并根据符合第二数据类别的数据和修改数据模板形成修改数据。
本实施例中,测试用例中还包括用于触发上述待测埋点的所有数据,这些数据可能是杂乱无章的排列在测试用例中,或者也可能有很多重复无用的数据,但是这些数据是包括修改数据的。本实施在修改响应数据之前,可以先通过从测试用例中获取用于触发上述待测埋点的所有数据,然后从用于触发待测埋点的所有数据中确定符合修改数据模板中的第二数据类别的数据,其中,第二数据类别可以为一个数据类别,例如,第二数据类别可以包括:广告的标识符、广告的内容、广告的位置等。从用于触发上述待测埋点的所有数据选择出符合第二数据类别的数据,然后将这些数据按照数据类别添加在修改数据模板中,以生成修改数据,进一步可以将生成的修改数据写入规则文件中。
可选的,在对待测埋点进行测试的过程中,可能需要打开第三方网页,即需要请求第三方的网页数据,但是由于第三方的网页数据可能会经常发生更新,或者因网络不通无法请求到第三方的网页数据等原因,会导致本次的测试结果不准确,因此本实施例还可以将测试过程需要用到的网页数据存储在测试服务器中。如,在获取目标应用传输的网络数据之后,该埋点测试方法还可以包括:判断网络数据是否用于请求打开预设网页;在判定网络数据用于请求打开预设网页时,将本地存储的与预设网页对应的网页数据返回给目标应用。其中,测试服务器上可以存储有多组网页数据,每组网页数据可以具备一个网页标签,该网页标签用于表征网页数据唯一对应某个预设网页,在获取目标应用传输的网络请求之后,若该网络请求中含有的网页标签与预存的网页标签一致,则可以将本地存储的与该网页标签唯一对应的网页数据返回给目标应用,以提高埋点测试的准确性。
图2示意性示出了根据本发明实施例的埋点测试方案的示意图。
需要说明的是,为了进一步实现自动化测试,本实施例还可以基于jenkins工具自动执行本发明的方案。其中,jenkins包括两部分:一部分为控制者,可以安装在控制服务器上;另一部分为执行者,可以安装在测试服务器上。控制服务器可以全天不断的运行,在达到预设时间时控制测试服务器开机,使测试服务器执行本发明埋点测试方法的程序。
在测试时,可以在测试服务器上的jenkins输入最新测试包的链接(如,Android为apk包的链接,IOS为扫码安装的二维码链接),并点击构建按钮,然后jenkins执行自动化操作,主要可以包括以下两部分。
第一部分为环境初始化操作,包括以下步骤:1、进行测试环境的初始化,清空node_modules并更新依赖,然后从Git下载最新测试脚本;2、去除测试客户端上老的测试包,根据填写的地址下载并安装新的测试包;3、获取测试客户端的IP,如唯一标识符;4、若测试客户端为iOS系统,可以使用Appium(WebDriverAgent),通过UI自动化的方式打开“设置”修改代理,若测试客户端为Android系统,可以通过ADB修改代理,再指向测试客户端;5、启动WebDriverIO测试,通过WebDriverIO的钩子,在Appium建立会话(session)前启动AnyProxy;6、使用UI自动化脚本对安装好的测试包所申请的权限进行授权。
第二部分为测试操作,如图2所示,启动WebDriverIO开始测试,通过WebDriverIO的钩子在Appium建立会话前启动AnyProxy。然后WebDriverIO可以将测试用例中待测埋点的测试规则和预设响应规则写入规则文件中,并且将测试用例中用于触发待测埋点的所有数据添加到修改数据模板中,形成修改数据,并将修改数据写入规则文件中。WebDriverIO还可以通过JsonWireProtocol与Appium交互,使得Appium按照WebDriverIO的指令对手机上的目标应用执行预设操作。目标应用响应预设操作,通过网络传输网络数据,AnyProxy截获网络数据,并从规则文件读取待测埋点的测试规则,然后AnyProxy判断网络数据是否满足待测埋点的测试规则,若是,则将网络数据存储至规则文件中。WebDriverIO会从测试用例中读取待测埋点正常工作时需要采集的数据,根据上述实施例所述的方法由待测埋点正常工作时需要采集的数据和预期数据模板形成预期数据,然后从规则文件中读取网络数据,再将网络数据与预期数据进行对比,在网络数据满足预期数据时,可以认为这个待测埋点正常工作,在网络数据不满足预期数据时,可以认为这个待测埋点未正常工作。在测试结束后,还可以通过WebDriverIO的钩子,在Appium关闭会话后停止AnyProxy,进而恢复测试客户端没有使用代理的状态。
在测试执行过程,手工操作起码需要8步,而本发明只需1步操作即可,本发明可以快速并准确的验证待测埋点的功能是否有效;且自动化进行校验网络数据和预期数据,不仅不需要使用各种校验工具,而且得到的测试结果可读性高。同时,根据本发明的测试结果,可以快速确定出目标应用的当前版本与历史版在功能上的区别,并快速有效的发现安卓端和IOS端布置的埋点位置是否一致,降低双端目标应用由不同人测试导致的不统一性,增强代码的健壮性。另外,自动化测试还具有如下优势:通过使用代理工具,可以以可编程的方式启动、关闭、配置和编写代理规则;自动化测试用例和传统形式类似,测试数据准备、测试结果断言在测试用例文件中;可以持久化广告上报数据;低外部依赖,比如落地页、唤起App、不属于广告关注的接口;手工调试方便;每个测试用例相互独立,没有数据依赖;后续版本测试时将前置版本通过的测试用例作为文档进行参考。
图3示意性示出了根据本发明实施例的埋点测试系统的框图。
如图3所示,该埋点测试系统300可以包括代理工具301和自动测试框架302,其中:
代理工具301用于:获取目标应用传输的网络数据,并判断网络数据是否为待测埋点采集的数据,其中,在目标应用上部署有待测埋点;
自动测试框架302用于:在代理工具301判定网络数据是待测埋点采集的数据的情况下,获取预期数据,并将网络数据与预期数据进行对比,其中,预期数据由待测埋点正常工作时采集的数据确定;根据对比结果确定待测埋点是否正常工作。
可选的,代理工具在判断网络数据是否为待测埋点采集的数据时,还用于:获取待测埋点的测试规则;判断网络数据是否符合待测埋点的测试规则;若是,则存储网络数据,并将网络数据转发给与目标应用对应的服务器;若否,则直接将网络数据转发给与目标应用对应的服务器。
可选的,自动化测试框架在获取预期数据时,还用于:获取待测埋点正常工作时采集的数据,并获取预期数据模板,其中,预期数据模板包括当前需要对比的第一数据类别;从待测埋点正常工作时采集的数据中确定出符合第一数据类别的数据,并根据符合第一数据类别的数据和预期数据模板生成预期数据。
可选的,自动化测试框架在将网络数据与预期数据进行对比时,还用于:确定属于同一数据类别的网络数据和预期数据;依次将属于同一数据类别的网络数据和预期数据中属于同一级别且处于该级别同一位置上的数据进行对比。
可选的,代理工具还用于:接收与目标应用对应的服务器返回的响应数据;判断响应数据是否与触发待测埋点的功能有关;在判定响应数据与触发待测埋点的功能有关时,获取用于触发待测埋点的修改数据,并根据修改数据修改响应数据;将修改后的响应数据转发给目标应用,以触发待测埋点。
可选的,自动化测试框架还用于:获取用于触发待测埋点的所有数据,并获取修改数据模板,其中,修改数据模板中包括当前需要返回给目标应用以触发待测埋点的第二数据类别;从用于触发待测埋点的所有数据中确定符合第二数据类别的数据,并根据符合第二数据类别的数据和修改数据模板生成修改数据。
可选的,代理工具还用于:在获取目标应用传输的网络数据之后,判断网络数据是否用于请求打开预设网页;在判定网络数据用于请求打开预设网页时,将本地存储的与预设网页对应的网页数据返回给目标应用。
图4示意性示出了根据本发明实施例的适于实现埋点测试方法的计算机设备的框图。本实施例中,计算机设备400可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,本实施例的计算机设备400至少包括但不限于:可通过系统总线相互通信连接的存储器401、处理器402、网络接口403。需要指出的是,图4仅示出了具有组件401-403的计算机设备400,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器403至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器401可以是计算机设备400的内部存储单元,例如该计算机设备400的硬盘或内存。在另一些实施例中,存储器401也可以是计算机设备400的外部存储设备,例如该计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器401还可以既包括计算机设备400的内部存储单元也包括其外部存储设备。在本实施例中,存储器401通常用于存储安装于计算机设备400的操作系统和各类应用软件,例如埋点测试方法的程序代码等。此外,存储器401还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器402在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器402通常用于控制计算机设备400的总体操作。例如执行与计算机设备400进行数据交互或者通信相关的控制和处理等。本实施例中,处理器402用于运行存储器401中存储的埋点测试方法的步骤的程序代码。
在本实施例中,存储于存储器401中的埋点测试方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器402)所执行,以完成本发明。
网络接口403可包括无线网络接口或有线网络接口,该网络接口403通常用于在计算机设备400与其他计算机设备之间建立通信链接。例如,网络接口403用于通过网络将计算机设备400与外部终端相连,在计算机设备400与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
本实施例还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行时实现埋点测试方法的步骤。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种埋点测试方法,其特征在于,所述方法包括:
获取目标应用传输的网络数据,并判断所述网络数据是否为待测埋点采集的数据,其中,在所述目标应用上部署有所述待测埋点;
在判定所述网络数据是所述待测埋点采集的数据时,获取预期数据,并将所述网络数据与所述预期数据进行对比,其中,所述预期数据由所述待测埋点正常工作时采集的数据确定;
根据对比结果确定所述待测埋点是否正常工作。
2.根据权利要求1所述的方法,其特征在于,所述判断所述网络数据是否为所述待测埋点采集的数据,包括:
获取所述待测埋点的测试规则;
判断所述网络数据是否符合所述待测埋点的测试规则;若是,则存储所述网络数据,并将所述网络数据转发给与所述目标应用对应的服务器;若否,则直接将所述网络数据转发给与所述目标应用对应的服务器。
3.根据权利要求1所述的方法,其特征在于,所述获取预期数据,包括:
获取所述待测埋点正常工作时采集的数据,并获取预期数据模板,其中,所述预期数据模板包括当前需要对比的第一数据类别;
从所述待测埋点正常工作时采集的数据中确定出符合所述第一数据类别的数据,并根据所述符合所述第一数据类别的数据和所述预期数据模板生成所述预期数据。
4.根据权利要求3所述的方法,其特征在于,所述将所述网络数据与所述预期数据进行对比,包括:
确定属于同一数据类别的网络数据和预期数据;
依次将所述属于同一数据类别的网络数据和预期数据中属于同一级别且处于该级别同一位置上的数据进行对比。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收与所述目标应用对应的服务器返回的响应数据;
判断所述响应数据是否与触发所述待测埋点的功能有关;
在判定所述响应数据与触发所述待测埋点的功能有关时,获取用于触发所述待测埋点的修改数据,并根据所述修改数据修改所述响应数据;
将修改后的响应数据转发给所述目标应用,以触发所述待测埋点。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取用于触发所述待测埋点的所有数据,并获取修改数据模板,其中,所述修改数据模板中包括当前需要返回给所述目标应用以触发所述待测埋点的第二数据类别;
从用于触发所述待测埋点的所有数据中确定符合所述第二数据类别的数据,并根据符合所述第二数据类别的数据和所述修改数据模板生成所述修改数据。
7.根据权利要求1所述的方法,其特征在于,在所述获取目标应用传输的网络数据之后,所述方法还包括:
判断所述网络数据是否用于请求打开预设网页;
在判定所述网络数据用于请求打开所述预设网页时,将本地存储的与所述预设网页对应的网页数据返回给所述目标应用。
8.一种埋点测试系统,其特征在于,所述系统包括代理工具和自动测试框架:
所述代理工具用于:获取目标应用传输的网络数据,并判断所述网络数据是否为待测埋点采集的数据,其中,在所述目标应用上部署有所述待测埋点;
所述自动测试框架用于:在所述代理工具判定所述网络数据是所述待测埋点采集的数据的情况下,获取预期数据,并将所述网络数据与所述预期数据进行对比,其中,所述预期数据由所述待测埋点正常工作时采集的数据确定;根据对比结果确定所述待测埋点是否正常工作。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910435871.9A CN111984520A (zh) | 2019-05-23 | 2019-05-23 | 埋点测试方法、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910435871.9A CN111984520A (zh) | 2019-05-23 | 2019-05-23 | 埋点测试方法、计算机设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111984520A true CN111984520A (zh) | 2020-11-24 |
Family
ID=73436704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910435871.9A Pending CN111984520A (zh) | 2019-05-23 | 2019-05-23 | 埋点测试方法、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984520A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328504A (zh) * | 2020-12-03 | 2021-02-05 | 广州品唯软件有限公司 | 埋点数据检验方法、装置、系统、计算机设备和存储介质 |
CN113238948A (zh) * | 2021-05-19 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113300912A (zh) * | 2021-05-21 | 2021-08-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种设备测试方法、装置及电子设备 |
-
2019
- 2019-05-23 CN CN201910435871.9A patent/CN111984520A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328504A (zh) * | 2020-12-03 | 2021-02-05 | 广州品唯软件有限公司 | 埋点数据检验方法、装置、系统、计算机设备和存储介质 |
CN113238948A (zh) * | 2021-05-19 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113238948B (zh) * | 2021-05-19 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113300912A (zh) * | 2021-05-21 | 2021-08-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种设备测试方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726099B (zh) | 一种应用灰度发布方法、装置及设备 | |
KR102341154B1 (ko) | 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션 | |
US11200157B1 (en) | Automated execution reporting for container builds | |
CN111984520A (zh) | 埋点测试方法、计算机设备及计算机可读存储介质 | |
CN105302722B (zh) | Cts自动测试方法及装置 | |
CN109388569B (zh) | 远程检测客户端环境异常的方法、测试服务器及存储介质 | |
CN103518191A (zh) | 一种升级方法、智能终端及升级系统 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN108400978B (zh) | 漏洞检测方法、装置、计算机设备和存储介质 | |
CN110162453B (zh) | 测试方法、装置、计算机可读存储介质和计算机设备 | |
CN112256296A (zh) | 基于Weex的快递服务APP更新方法、装置、设备及存储介质 | |
CN106843947B (zh) | 代码缺陷的处理方法和装置 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN113704110A (zh) | 用户界面的自动化测试方法及装置 | |
CN110597662B (zh) | 备份数据自动验证方法、装置、用户设备及存储介质 | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN110741617B (zh) | 资源更新方法、装置、计算机设备和存储介质 | |
CN105117340A (zh) | 用于iOS浏览器应用质量评估的URL检测方法和装置 | |
CN108804315B (zh) | 应用于动态开发的测试方法、装置、电子设备及存储介质 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN112559352A (zh) | 接口测试的方法、装置、设备及存储介质 | |
CN113377669A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
CN111831567A (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 |