CN108319552A - 一种埋点测试方法,装置及系统 - Google Patents

一种埋点测试方法,装置及系统 Download PDF

Info

Publication number
CN108319552A
CN108319552A CN201810120802.4A CN201810120802A CN108319552A CN 108319552 A CN108319552 A CN 108319552A CN 201810120802 A CN201810120802 A CN 201810120802A CN 108319552 A CN108319552 A CN 108319552A
Authority
CN
China
Prior art keywords
buried
little
dot file
function module
buries
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
CN201810120802.4A
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.)
Beijing Information Technology Co Ltd
Original Assignee
Beijing Information 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 Beijing Information Technology Co Ltd filed Critical Beijing Information Technology Co Ltd
Priority to CN201810120802.4A priority Critical patent/CN108319552A/zh
Publication of CN108319552A publication Critical patent/CN108319552A/zh
Pending legal-status Critical Current

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/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

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

本申请实施例示出一种埋点测试方法,装置及系统。当客户端提测埋点文件,测试工程师通过跑自动化测试脚本执行对应的功能模块生成一份相应的埋点数据文件,app会在内部生成一份对应的数据埋点文件,将两份埋点文件进行比对,如果一致则代表埋点测试通过,如果不一致则找出问题所在进行修改。本申请实施例示出的方法,整个提测过程是通过提测端的分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性,无需利用抓包工具截取网络传输的数据包,节省了频繁的抓包操作,缩短了比对时间,避免了导致承载了埋点检测系统长时间处于等待的状态,提高了系统带宽、数据库等资源的利用率。

Description

一种埋点测试方法,装置及系统
技术领域
本发明涉及计算机技术领域,特别涉及一种埋点测试方法,装置及系统。
背景技术
随着软件技术的迅速发展,可以实现文本编辑、图像处理、聊天、播放音视频等功能的各种软件层出不穷,为了研究用户行为和软件的功能效果,通常在软件发布之前,会在软件中设置许多埋点。当用户在使用软件的过程中,若用户触发了预先设置了埋点的功能模块,软件将向服务器发送对应的埋点数据,通过分析埋点数据,可以获知软件功能的好坏,进而调整或改善软件功能。
为了保证设置的埋点可以正常使用,通常软件测试人员在设置埋点后,还需要对埋点进行测试。相关的埋点测试方法如下:设置埋点后,软件测试人员利用抓包工具截取网络传输的数据包,并根据截取到的数据包对埋点进行校验,具体的校验过程,通过charles抓取网络通信数据,将抓取的网络通信数据与预先存储的埋点数据的需求文档进行比对,判断抓取的网络通信数据与预先存储的埋点数据的需求文档是否一致,如果一致则校验通过,如果不一致则校验不通过,客户端再重新埋点,测试再重新触发埋点进行验证。
现有技术示出的埋点测试方法,在测试测试手动的触发埋点后通过charles抓取数据与预先存储的需求文档比对。整个测试过程需要将charles抓取数据与预先存储的需求文档一一进行比对,在检测过程中浪费大量的时间比对,导致承载了埋点检测系统长时间处于等待的状态,降低了系统带宽、数据库等资源的利用率。
发明内容
本发明的发明目的在于提供一种埋点测试方法,装置及系统,以解现有技术示出埋点测试方法,在检测过程中浪费大量的时间比对,导致承载了埋点检测系统长时间处于等待的状态,降低了系统带宽、数据库等资源的利用率的技术问题。
本申请实施例示出第一方面示出一种埋点测试方法,所述方法包括:
触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性。
可选择的,所述分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性的步骤包括:
运行所述提测端埋点后的功能模块,生成提测端埋点文件,运行所述测试端埋点后的功能模块,生成测试端埋点文件;
比对所述提测端埋点文件与所述测试端埋点文件,根据比对结果,确定提测端埋点文件的准确性。
可选择的,所述比对所述提测端埋点文件与所述测试端埋点文件,根据比对结果,确定所提测端埋点文件的准确性的步骤包括:
通过appium的python脚本调用提测端工程师所提供的埋点sdk,基于所述埋点sdk,调整所述测试端埋点文件,生成调整后的测试端埋点文件;
判断所述提测端埋点文件与所述调整后的测试端埋点文件是否相同;
如果相同,则确定所述提测端埋点文件通过测试;
如果不同,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
可选择的,所述分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性的步骤包括:
运行所述提测端埋点后的功能模块,得到提测端的运行结果,运行所述测试端埋点后的功能模块,得到测试端的运行结果;
判断所述测试端的运行结果与所述提测端的运行结果是否一致;
如果一致,则确定所述提测端埋点文件通过测试;
如果不一致,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
可选择的,所述根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件的步骤包括:
根据数据埋点的需求文档,在相应的功能模块中逐一插入埋点文件,所述埋点文件包括:埋点代码,以及,埋点数据;
判断所述埋点文件是否为埋点数据;
如果所述埋点文件是埋点数据,则发送一暴露埋点数据请求到客户端;
接收所述客户端发送暴露后的埋点数据,将所述暴露后的埋点数据插入相应的功能模块的特定位置。
本申请实施例第二方面示出一种埋点测试装置,所述装置包括:
生成单元,用于触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
确定单元,用于分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性。
可选择的,所述确定单元包括:
第一运行单元,用于运行所述提测端埋点后的功能模块,生成提测端埋点文件,运行所述测试端埋点后的功能模块,生成测试端埋点文件;
比对单元,用于比对所述提测端埋点文件与所述测试端埋点文件,根据比对结果,确定提测端埋点文件的准确性。
可选择的,所述比对单元包括:
调用单元,用于通过appium的python脚本调用客户端所提供的埋点sdk,基于所述埋点sdk,调整所述测试端埋点文件,生成调整后的测试端埋点文件;
第一判断单元,用于判断所述提测端埋点文件与所述调整后的测试端埋点文件是否相同;
第一确定单元,用于如果相同,则确定所述提测端埋点文件通过测试;
第一修复单元,用于如果不同,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
可选择的,所述确定单元包括:
第二运行单元,用于运行所述提测端埋点后的功能模块,得到提测端的运行结果,运行所述测试端埋点后的功能模块,得到测试端的运行结果;
第二判断单元,用于判断所述测试端的运行结果与所述提测端的运行结果是否一致;
第二确定单元,用于如果一致,则确定所述提测端埋点文件通过测试;
第二修复单元,用于如果不一致,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
可选择的所述生成单元包括:
插入单元,用于根据数据埋点的需求文档,在相应的功能模块中逐一插入埋点文件,所述埋点文件包括:埋点代码,以及,埋点数据;
第三判断单元,用于判断所述埋点文件是否为埋点数据;
发送单元,用于如果所述埋点文件是埋点数据,则发送一暴露埋点数据请求到客户端;
接收单元,用于接收所述客户端发送暴露后的埋点数据,将所述暴露后的埋点数据插入相应的功能模块的特定位置。
本申请实施例第三方面示出一种埋点测试系统,所述系统包括:
应用平台服务器,与所述应用平台服务器相连接的数据存储服务器,所述数据存储服务器设置在所述内部或独立设置,所述应用平台服务器通过互联网与终端相连接;
所述终端,用于发送暴露后的埋点数据至应用平台服务器;
所述应用平台服务器,用于触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性;
所述数据存储服务器,用于相关数据的存储。
由以上技术方案可知,本申请实施例示出一种埋点测试方法,装置及系统,所述方法包括:触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性。本申请实施例示出的方法,当客户端提测埋点文件时,测试工程师通过跑自动化测试脚本执行对应的功能模块生成一份相应的埋点数据文件,同样的app也会在内部生成一份对应的数据埋点文件。将两份埋点文件进行比对,如果一致则代表埋点测试通过,如果不一致则找出问题所在进行修改后重新测试直到通过为止。本申请实施例示出的方法,提测端通过APP运行过程中自动生成埋点文件,与测试端运行过程中相应的埋点文件相比较,整个提测过程是通过提测端的分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性,无需利用抓包工具截取网络传输的数据包,节省了频繁的抓包操作,缩短了比对时间,避免了导致承载了埋点检测系统长时间处于等待的状态,提高了系统带宽、数据库等资源的利用率。
附图说明
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
值得注意的是,本申请实施例示出的技术方案中,提测过程包括:测试和修复两个过程。
图1为根据一优选实施例示出的一种埋点测试系统的结构框图;
图2为根据一优选实施例示出的一种埋点测试方法的流程图;
图3为根据一优选实施例示出的步骤S102的详细流程图;
图4为根据一优选实施例示出的步骤S10213的详细流程图;
图5为根据又一优选实施例示出的步骤S102的详细流程图;
图6为根据又一优选实施例示出的步骤S101的详细流程图;
图7为根据一优选实施例示出的一种埋点测试装置的结构框图;
图8为根据一优选实施例示出的确定单元的结构框图;
图9为根据一优选实施例示出的对比单元的结构框图;
图10为根据又一优选实施例示出的确定单元的结构框图;
图11为根据一优选实施例示出的生成单元的结构框图;
图12为根据一优选实施例示出的一种服务器的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1:
本申请实施例第一方面示出一种埋点测试系统,请参阅图1-1,以及1-2,所述系统包括:
应用平台服务器31,与所述应用平台服务器31相连接的数据存储服务器32,所述数据存储服务器32设置在所述平台服务器31内部或独立设置,所述应用平台服务器31通过互联网与所述终端33相连接;
所述终端33,用于发送暴露后的埋点数据至应用平台服务器;
本申请实施例示出的终端33,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。现有技术示出的移动终端如:手机、PAD均在本申请实施例的保护范围内。
本申请实施例示出的应用平台服务器31为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。应用平台服务器31也提供低级的服务,如HTTP协议的实现和数据库连接管理。Servlet容器仅仅是应用服务器的一部分。除了Servlet容器外,应用平台服务器31还可能提供其他的Java EE(Enterprise Edition)组件,如EJB容器,JNDI服务器以及JMS服务器等。
所述应用平台服务器31;用于(1)触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
(2)分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性;
所述数据存储服务器32,用于相关数据的存储。
本申请实施例示出的数据存储服务器33被配置来执行多种功能,如它可以作为数据存储服务器、打印服务器、应用数据库服务器、Web服务器,甚至可以是集以上多种功能于一身。值得注意的是本申请实施例示出的数据存储服务器32设置有快速的处理器芯片、比较多的RAM以及足够的内部磁盘空间,以便应对终端用户随时可能出现的应用调配需求。
本申请实施例示出一种埋点测试系统,所述测试系统包括:提测端,以及,测试端,其中,所述提测端对应用户终端,所述测试端设置有应用平台服务器:
首先,提测端会根据数据埋点需求文档在对应的功能模块中插入埋点代码;
当触发提测端埋点后的功能模块时,应用平台服务器根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块。
当客户端提测以后,应用平台服务器通过跑自动化测试脚本执行对应的测试端埋点后的功能模块,生成一份相应的埋点数据文件,同样的提测端的app也会在内部生成一份对应的数据埋点文件。将两份文件取出通过执行脚本对两份文件中的数据进行比对,如果一致则代表埋点测试通过,如果不一致则提测端再与测试工程师进行沟通找出问题所在进行修改后重新测试直到通过为止。
本申请实施例示出的系统,提测端通过APP运行过程中自动生成埋点文件与测试端运行过程中相应的埋点文件相比较,整个提测过程是通过提测端的分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性,无需利用抓包工具截取网络传输的数据包,节省了频繁的抓包操作,缩短了比对时间,避免了导致承载了埋点检测系统长时间处于等待的状态,提高了系统带宽、数据库等资源的利用率。
实施例2:
现有技术示出的埋点测试方法,在测试测试手动的触发埋点后通过charles抓取数据与预先存储的需求文档比对。整个测试过程需要将charles抓取数据与预先存储的需求文档一一进行比对,在检测过程中浪费大量的时间比对,导致承载了埋点检测系统长时间处于等待的状态,降低了系统带宽、数据库等资源的利用率。
为了解决上述问题,本申请实施例第二方面示出一种埋点测试方法,请参阅图2,所述方法包括:
S101触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
其中,所述数据埋点的需求文档用于限定提测端和/或测试端在相应的功能模块的那个位置埋点。
传统的埋点测试方法通过埋点文件与charles抓取数据的比对来判断,所述埋点文件是否通过测试。
首先提测端会根据数据埋点需求文档在对应的功能模块中插入埋点文件,生成提测端埋点后的功能模块。
测试工程师也同样会在对提测端埋点后的功能模块的自动化测试脚本功能触发时会根据数据埋点需求文档在在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块。
S102分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性。
当客户端提测以后,测试工程师通过跑自动化测试脚本执行对应的提测端埋点后的功能模块,同时运行所述测试端埋点后的功能模块。
本申请实施例示出的方法,当客户端提测埋点文件时,测试工程师通过跑自动化测试脚本执行对应的功能模块生成一份相应的埋点数据文件,同样的app也会在内部生成一份对应的数据埋点文件。将两份埋点文件进行比对,如果一致则代表埋点测试通过,如果不一致则找出问题所在进行修改后重新测试直到通过为止。本申请实施例示出的方法,提测端通过app运行过程中自动生成埋点文件与测试端运行过程中相应的埋点文件相比较,整个提测过程是通过提测端的分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性,无需利用抓包工具截取网络传输的数据包,节省了频繁的抓包操作,缩短了比对时间,避免了导致承载了埋点检测系统长时间处于等待的状态,提高了系统带宽、数据库等资源的利用率。
实施例3
为了进一步缩短提测时间,本申请实施例示出有一种埋点文件的比对方法,具体的,请参阅图3,实施例3与实施例2具有相似的步骤唯一的区别在于实施例2示出的技术方案中步骤S102包括:
S10211运行所述提测端埋点后的功能模块,生成提测端埋点文件,运行所述测试端埋点后的功能模块,生成测试端埋点文件;
S10212比对所述提测端埋点文件与所述测试端埋点文件,根据比对结果,确定提测端埋点文件的准确性。
本申请实施例示出的方法通过运行提测端埋点后的功能模块,生成提测端埋点文件,同时,运行所述测试端埋点后的功能模块,生成测试端埋点文件。通过所述提测端埋点文件与所述测试端埋点文件的比对,确定所述提测端的埋点文件,是否通过埋点测试。
本申请实施例3示出的技术方案,同时运行提测端埋点后的功能模块,以及,测试端埋点后的功能模块,在运行过程中分别得到测端埋点文件,以及,所述测试端埋点文件;通过上述的两份埋点文件的比对,确定所述提测端的埋点文件,是否通过埋点测试。与现有技术示出的埋点测试方案相比较,本申请实施例示出的方法在功能模块(所述功能模块包括:测试端埋点后的功能模块和提测端埋点后的功能模块)的过程中分别生成提测端埋点文件,以及,生成测试端埋点文件;整个测试过程自动化触发,有效地避免了,现有技术示出的埋点测试方法,在埋点测试过程中,每涉及一个页面的跳转便会点击一次的繁琐操作,这样将埋点自动化测试完美与功能自动化测试相结合,让两者做到无缝衔接,大大提高了整个测试流程的工作效率。
举例说明,现有技术示出的埋点测试方法,假定待测软件为QQ软件,软件测试人员为QQ软件的“登录”功能设置埋点1,当用户通过QQ给好友传输图片,即埋点2被触发,此时,根据埋点2可以获得开始传输图片的起始时间、图片格式、以及图片是否成功发送等信息,所获得与图片传输的相关信息即是埋点2的埋点数据。
可见测试用户通过QQ传输文件时需要两次点击和两次的提测过程,而采用本申请实施例示出的技术方法,用户仅需触发QQ传输文件对应买点后的功能模块,便会自动生成上述埋点1,以及,埋点2,同时测试端也会运行测试端的QQ传输文件对应买点后的功能模块,生成测试端埋点1,以及,测试端埋点2。
值得注意的是,每个功能模块对应的触发顺序不定,本申请实施例示出的方法,在功能模块的生成的过程中,已将该功能模块的触发顺序写入该功能模块。
实施例4:
为了进一步缩短所述提测端埋点文件与所述测试端埋点文件的比对时间,本申请实施例示出的方法通过appium的python脚本调用提测端所提供的埋点sdk,这样保证了底层数据格式的一致性,达到了只比对上层逻辑的目的,进而缩短比对时间,提高测试的效率。
具体的,请参阅图4,实施例4示出的技术方案与实施例3示出的技术方案具有相似的步骤,唯一的区别在于实施例3示出的技术方案中步骤S10212包括以下步骤:
S102121通过appium的python脚本调用提测端工程师所提供的埋点sdk,基于所述埋点sdk,调整所述测试端埋点文件,生成调整后的测试端埋点文件;
其中,本申请实施例示出的sdk的英文全名是:software development kit,翻译成中文的意思就是“软件开发工具包”,是指由第三方服务商提供的实现软件产品某项功能的工具包。一般以集合kpi和文档、范例、工具的形式出现,通常sdk是由专业性质的公司提供专业服务的集合,比如提供安卓开发工具、或者基于硬件开发的服务等。本申请实施例示出的sdk是针对某项软件功能的sdk,其中,所述sdk的作用在于调整所述测试端埋点文件的显示顺序。
S102122判断所述提测端埋点文件与所述调整后的测试端埋点文件是否相同;
如果相同,则S102123确定所述提测端埋点文件通过测试;
如果不同,则S102124确定所述提测端埋点文件的问题,修复所述问题,重新测试。
举例说明:
提测端埋点文件为:buy_detail_tel_consulting#carid=64204569/from=2/pos=1;
生成的测试端的埋点文件为:/pos=1/buy_detail_tel_consulting#carid=64204569/from=2。
本申请实施例示出的方法通过appium的python脚本调用提测端所提供的埋点sdk,调整所述测试端埋点文件;
调整后的调整后的测试端埋点文件为:buy_detail_tel_consulting#carid=64204569/from=2/pos=1;
此时,所述提测端埋点文件与所述调整后的测试端埋点文件的底层数据的格式一致,仅需在逻辑上比较所述提测端埋点文件与所述调整后的测试端埋点文件是否相同。
本申请实例示出的技术方案通过appium框架编写测试用例时候同时调用提测端埋点sdk进行埋点。这样将埋点自动化测试完美与功能自动化测试相结合,让两者做到无缝衔接,大大提高了整个测试流程的工作效率。
实施例5:
为例进一步缩短比对时间,本申请实施例示出一种根据运行结果判断所述提测端埋点文件是否通过测试的提测方法,具体的,请参阅图5;实施例5与实施例2示出的技术方案具有相似的步骤唯一的区别在于实施例2示出的技术方案中,实施例2示出的技术方案中步骤S102包括以下步骤:
S10221运行所述提测端埋点后的功能模块,得到提测端的运行结果,运行所述测试端埋点后的功能模块,得到测试端的运行结果;
S10222判断所述测试端的运行结果与所述提测端的运行结果是否一致;
如果一致,则S10223确定所述提测端埋点文件通过测试;
如果不一致,则S10224确定所述提测端埋点文件的问题,修复所述问题,重新测试。
例如:
运行所述提测端埋点后的功能模块,得到的运行结果是显示,车辆ID为64204569;
运行所述测试端埋点后的功能模块,得到的运行结果是显示,车辆ID为64204569;
可见,运行所述提测端埋点后的功能模块,得到的运行结果与运行所述测试端埋点后的功能模块,得到的运行结果相同,在本申请实施例示出的方法中确定所述提测端埋点文件通过测试。
通常每个埋点文件对应数以万计的埋点,技术仅在逻辑上比对,也会耗费一定时间,本申请实施例示出的方法仅需对运行结果进行比较,避免每个埋点的逐一比对,进一步,缩短了测试时间,大大提高了整个测试流程的工作效率。
实施例6:
在根据数据埋点的需求文档,在相应的功能模块中逐一插入埋点文件的过程中,若埋点文件中包含埋点数据,不能直接插入相应的埋点文件;为了解决上述问题,本申请实施例示出埋点文件的录入方法,具体的,请参阅图6,实施例2-实施例5示出的技术方案中步骤S101包括以下步骤:
S1011根据数据埋点的需求文档,在相应的功能模块中逐一插入埋点文件,所述埋点文件包括:埋点代码,以及,埋点数据;
S1012判断所述埋点文件是否为埋点数据;
如果所述埋点文件是埋点数据,则S1013发送一暴露埋点数据请求到客户端;
S1014接收所述客户端发送暴露后的埋点数据,将所述暴露后的埋点数据插入相应的功能模块的特定位置。
举例说明:
埋点的需求文档对应的埋点文档为:buy_detail_tel_consulting#carid=64204569/from=2/pos=1;
在根据埋点文档在在相应的功能模块中逐一插入埋点文件;在相应位置插入carid=64204569的埋点时,但是“64204569”不能成功的被插入相应为位置。此时,应用平台服务器基于carid发送一暴露埋点数据请求到客户端;
客户端将所述carid对应的埋点数据暴漏生成“64204569”并将“64204569”发送至应用平台服务器。
应用平台服务器将上述埋点数据“64204569”插入相应为位置,最终生成相应的埋点文件。
实施例7:
本申请实施例第三方面示出一种埋点测试装置,请参阅图7,所述装置包括:
生成单元21,用于触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
确定单元22,用于分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性。
实施例8:
请参阅图8,实施例7示出的技术方案中所述确定单元22包括:
第一运行单元2211,用于运行所述提测端埋点后的功能模块,生成提测端埋点文件,运行所述测试端埋点后的功能模块,生成测试端埋点文件;
比对单元2212,用于比对所述提测端埋点文件与所述测试端埋点文件,根据比对结果,确定提测端埋点文件的准确性。
实施例9:
请参阅图9,实施例8示出的技术方案中所述比对单元2212包括:
调用单元22121,用于通过appium的python脚本调用客户端所提供的埋点sdk,基于所述埋点sdk,调整所述测试端埋点文件,生成调整后的测试端埋点文件;
第一判断单元22122,用于判断所述提测端埋点文件与所述调整后的测试端埋点文件是否相同;
第一确定单元22123,用于如果相同,则确定所述提测端埋点文件通过测试;
第一修复单元22124,用于如果不同,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
实施例10:
请参阅图10,实施例7示出的技术方案中,确定单元22包括:
第二运行单元2221,用于运行所述提测端埋点后的功能模块,得到提测端的运行结果,运行所述测试端埋点后的功能模块,得到测试端的运行结果;
第二判断单元2222,用于判断所述测试端的运行结果与所述提测端的运行结果是否一致;
第二确定单元2223,用于如果一致,则确定所述提测端埋点文件通过测试;
第二修复单元2224,用于如果不一致,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
实施例11:
请参阅图11,实施例7-实施例10示出的技术方案中,生成单元21包括:
插入单元211,用于根据数据埋点的需求文档,在相应的功能模块中逐一插入埋点文件,所述埋点文件包括:埋点代码,以及,埋点数据;
第三判断单元212,用于判断所述埋点文件是否为埋点数据;
发送单元213,用于如果所述埋点文件是埋点数据,则发送一暴露埋点数据请求到客户端;
接收单元214,用于接收所述客户端发送暴露后的埋点数据,将所述暴露后的埋点数据插入相应的功能模块的特定位置。
请参阅图12本申请实施例第四方面示出本申请实施例第四方面示出一种服务器,包括:
一个或多个处理器41;
存储器42,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器41执行,使得所述一个或多个处理器41实现本申请实施例实处的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
值得注意的是,具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的用户身份的服务提供方法或用户注册方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random accessmemory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于用户身份的服务提供装置或用户注册装置的实施例而言,由于其基本相似于方法实施例,所以描述的比对简单,相关之处参见方法实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

Claims (11)

1.一种埋点测试方法,其特征在于,所述方法包括:
触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性。
2.根据权利要求1所述的方法,其特征在于,所述分别运行提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性的步骤包括:
运行所述提测端埋点后的功能模块,生成提测端埋点文件,运行所述测试端埋点后的功能模块,生成测试端埋点文件;
比对所述提测端埋点文件与所述测试端埋点文件,根据比对结果,确定提测端埋点文件的准确性。
3.根据权利要求2所述的方法,其特征在于,所述比对提测端埋点文件与所述测试端埋点文件,根据比对结果,确定所提测端埋点文件的准确性的步骤包括:
通过appium的python脚本调用提测端工程师所提供的埋点sdk,基于所述埋点sdk,调整所述测试端埋点文件,生成调整后的测试端埋点文件;
判断所述提测端埋点文件与所述调整后的测试端埋点文件是否相同;
如果相同,则确定所述提测端埋点文件通过测试;
如果不同,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
4.根据权利要求1所述的方法,其特征在于,所述分别运行提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性的步骤包括:
运行所述提测端埋点后的功能模块,得到提测端的运行结果,运行所述测试端埋点后的功能模块,得到测试端的运行结果;
判断所述测试端的运行结果与所述提测端的运行结果是否一致;
如果一致,则确定所述提测端埋点文件通过测试;
如果不一致,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件的步骤包括:
根据数据埋点的需求文档,在相应的功能模块中逐一插入埋点文件,所述埋点文件包括:埋点代码,以及,埋点数据;
判断所述埋点文件是否为埋点数据;
如果所述埋点文件是埋点数据,则发送一暴露埋点数据请求到客户端;
接收所述客户端发送暴露后的埋点数据,将所述暴露后的埋点数据插入相应的功能模块的特定位置。
6.一种埋点测试装置,其特征在于,所述装置包括:
生成单元,用于触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
确定单元,用于分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性。
7.根据权利要求6所述的装置,其特征在于,所述确定单元包括:
第一运行单元,用于运行所述提测端埋点后的功能模块,生成提测端埋点文件,运行所述测试端埋点后的功能模块,生成测试端埋点文件;
比对单元,用于比对所述提测端埋点文件与所述测试端埋点文件,根据比对结果,确定提测端埋点文件的准确性。
8.根据权利要求7所述的装置,其特征在于,所述比对单元包括:
调用单元,用于通过appium的python脚本调用客户端所提供的埋点sdk,基于所述埋点sdk,调整所述测试端埋点文件,生成调整后的测试端埋点文件;
第一判断单元,用于判断所述提测端埋点文件与所述调整后的测试端埋点文件是否相同;
第一确定单元,用于如果相同,则确定所述提测端埋点文件通过测试;
第一修复单元,用于如果不同,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
9.根据权利要求6所述的装置,其特征在于,所述确定单元包括:
第二运行单元,用于运行所述提测端埋点后的功能模块,得到提测端的运行结果,运行所述测试端埋点后的功能模块,得到测试端的运行结果;
第二判断单元,用于判断所述测试端的运行结果与所述提测端的运行结果是否一致;
第二确定单元,用于如果一致,则确定所述提测端埋点文件通过测试;
第二修复单元,用于如果不一致,则确定所述提测端埋点文件的问题,修复所述问题,重新测试。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述生成单元包括:
插入单元,用于根据数据埋点的需求文档,在相应的功能模块中逐一插入埋点文件,所述埋点文件包括:埋点代码,以及,埋点数据;
第三判断单元,用于判断所述埋点文件是否为埋点数据;
发送单元,用于如果所述埋点文件是埋点数据,则发送一暴露埋点数据请求到客户端;
接收单元,用于接收所述客户端发送暴露后的埋点数据,将所述暴露后的埋点数据插入相应的功能模块的特定位置。
11.一种埋点测试系统,其特征在于,所述系统包括:
应用平台服务器,与所述应用平台服务器相连接的数据存储服务器,所述数据存储服务器设置在所述内部或独立设置,所述应用平台服务器通过互联网与终端相连接;
所述终端,用于发送暴露后的埋点数据至应用平台服务器;
所述应用平台服务器,用于触发提测端埋点后的功能模块,根据数据埋点的需求文档,在测试端相应的功能模块中插入埋点文件,生成测试端埋点后的功能模块;
分别运行所述提测端埋点后的功能模块,以及,所述测试端埋点后的功能模块,根据运行结果,确定提测端埋点文件的准确性;
所述数据存储服务器,用于相关数据的存储。
CN201810120802.4A 2018-02-07 2018-02-07 一种埋点测试方法,装置及系统 Pending CN108319552A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810120802.4A CN108319552A (zh) 2018-02-07 2018-02-07 一种埋点测试方法,装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810120802.4A CN108319552A (zh) 2018-02-07 2018-02-07 一种埋点测试方法,装置及系统

Publications (1)

Publication Number Publication Date
CN108319552A true CN108319552A (zh) 2018-07-24

Family

ID=62902105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810120802.4A Pending CN108319552A (zh) 2018-02-07 2018-02-07 一种埋点测试方法,装置及系统

Country Status (1)

Country Link
CN (1) CN108319552A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362480A (zh) * 2019-06-19 2019-10-22 平安普惠企业管理有限公司 客户端埋点测试方法、装置、设备及存储介质
CN110990255A (zh) * 2019-10-28 2020-04-10 贝壳技术有限公司 一种埋点测试方法及服务器
CN111190807A (zh) * 2018-11-14 2020-05-22 杭州萤石软件有限公司 一种埋点测试方法及设备
CN111367814A (zh) * 2020-03-17 2020-07-03 深圳市前海随手数据服务有限公司 一种埋点测试方法、装置、终端设备及存储介质
CN111444085A (zh) * 2020-02-27 2020-07-24 中国平安人寿保险股份有限公司 一种测试方法、装置以及相关设备
CN111506489A (zh) * 2019-01-30 2020-08-07 阿里巴巴集团控股有限公司 测试方法、系统、设备、服务器及存储介质
CN111611141A (zh) * 2020-04-30 2020-09-01 广州华多网络科技有限公司 埋点数据的上报验证方法、装置、电子设备及存储介质
CN112148618A (zh) * 2020-10-10 2020-12-29 北京达佳互联信息技术有限公司 埋点测试方法和埋点测试平台
CN112650659A (zh) * 2020-12-22 2021-04-13 平安普惠企业管理有限公司 埋点设置方法、装置、计算机设备和存储介质
CN112749078A (zh) * 2019-10-31 2021-05-04 北京沃东天骏信息技术有限公司 一种埋点测试方法和装置
CN114331574A (zh) * 2022-03-17 2022-04-12 北京搜狐新媒体信息技术有限公司 一种埋点上报的校验方法、装置、存储介质及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915296A (zh) * 2015-06-29 2015-09-16 北京金山安全软件有限公司 埋点测试方法、数据的查询方法及装置
US9298596B2 (en) * 2013-07-09 2016-03-29 International Business Machines Corporation Test framework for computing jobs
CN106294101A (zh) * 2015-05-19 2017-01-04 阿里巴巴集团控股有限公司 页面打点测试方法和装置
CN106528432A (zh) * 2016-12-12 2017-03-22 北京三快在线科技有限公司 测试场景数据的构建方法及装置、埋点测试方法
CN106844217A (zh) * 2017-01-26 2017-06-13 网易(杭州)网络有限公司 对应用的控件进行埋点的方法及装置、可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298596B2 (en) * 2013-07-09 2016-03-29 International Business Machines Corporation Test framework for computing jobs
CN106294101A (zh) * 2015-05-19 2017-01-04 阿里巴巴集团控股有限公司 页面打点测试方法和装置
CN104915296A (zh) * 2015-06-29 2015-09-16 北京金山安全软件有限公司 埋点测试方法、数据的查询方法及装置
CN106528432A (zh) * 2016-12-12 2017-03-22 北京三快在线科技有限公司 测试场景数据的构建方法及装置、埋点测试方法
CN106844217A (zh) * 2017-01-26 2017-06-13 网易(杭州)网络有限公司 对应用的控件进行埋点的方法及装置、可读存储介质

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190807A (zh) * 2018-11-14 2020-05-22 杭州萤石软件有限公司 一种埋点测试方法及设备
CN111190807B (zh) * 2018-11-14 2023-08-18 杭州萤石软件有限公司 一种埋点测试方法及设备
CN111506489A (zh) * 2019-01-30 2020-08-07 阿里巴巴集团控股有限公司 测试方法、系统、设备、服务器及存储介质
CN111506489B (zh) * 2019-01-30 2023-05-30 斑马智行网络(香港)有限公司 测试方法、系统、设备、服务器及存储介质
CN110362480A (zh) * 2019-06-19 2019-10-22 平安普惠企业管理有限公司 客户端埋点测试方法、装置、设备及存储介质
CN110990255A (zh) * 2019-10-28 2020-04-10 贝壳技术有限公司 一种埋点测试方法及服务器
CN110990255B (zh) * 2019-10-28 2023-07-04 贝壳技术有限公司 一种埋点测试方法及服务器
CN112749078A (zh) * 2019-10-31 2021-05-04 北京沃东天骏信息技术有限公司 一种埋点测试方法和装置
CN111444085A (zh) * 2020-02-27 2020-07-24 中国平安人寿保险股份有限公司 一种测试方法、装置以及相关设备
CN111367814A (zh) * 2020-03-17 2020-07-03 深圳市前海随手数据服务有限公司 一种埋点测试方法、装置、终端设备及存储介质
CN111611141A (zh) * 2020-04-30 2020-09-01 广州华多网络科技有限公司 埋点数据的上报验证方法、装置、电子设备及存储介质
CN112148618A (zh) * 2020-10-10 2020-12-29 北京达佳互联信息技术有限公司 埋点测试方法和埋点测试平台
CN112148618B (zh) * 2020-10-10 2024-05-28 北京达佳互联信息技术有限公司 埋点测试方法和埋点测试平台
CN112650659A (zh) * 2020-12-22 2021-04-13 平安普惠企业管理有限公司 埋点设置方法、装置、计算机设备和存储介质
CN114331574A (zh) * 2022-03-17 2022-04-12 北京搜狐新媒体信息技术有限公司 一种埋点上报的校验方法、装置、存储介质及设备

Similar Documents

Publication Publication Date Title
CN108319552A (zh) 一种埋点测试方法,装置及系统
US11144439B2 (en) Emulation-based testing of a microservices architecture
US7844692B2 (en) Web server multiplier for analyzing resource leaks
CN109787830B (zh) 灰度发布控制方法、装置、系统、电子设备及存储介质
US6973620B2 (en) Method and apparatus for providing user support based on contextual information
CN107979508A (zh) 微服务测试方法及装置
US8516451B2 (en) System and method for creating virtual callback objects
US20030043180A1 (en) Method and apparatus for providing user support through an intelligent help agent
US7296190B2 (en) Parallel text execution on low-end emulators and devices
US20240311277A1 (en) Automated testing of mobile devices using visual analysis
CN109656799A (zh) 测试方法和装置
US9823999B2 (en) Program lifecycle testing
CN108900627A (zh) 一种网络请求方法、终端装置及存储介质
US20060069783A1 (en) Program, method and device for managing information shared among components, recording medium and communication apparatus
CN111767229A (zh) 性能测试方法、装置和设备
CN108089972A (zh) 接口测试方法及装置
CN116627849B (zh) 系统测试方法、装置、设备及存储介质
KR20070104202A (ko) 휴대폰 소프트웨어 검증을 위한 자동화 테스트 서비스시스템 및 그 방법
KR20220049334A (ko) 어플리케이션 테스트 방법 및 테스트 시스템
CN111930625A (zh) 基于云服务平台的日志获取方法、装置及系统
US20050114362A1 (en) System and method for providing computer support tools
US8526940B1 (en) Centralized rules repository for smart phone customer care
KR102111392B1 (ko) 테스트 통합 관리시스템 및 그 제어방법
CN113852610A (zh) 报文处理方法、装置、计算机设备和存储介质
US8949403B1 (en) Infrastructure for maintaining cognizance of available and unavailable software components

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180724