CN113946506A - 软件的埋点质量评估方法、装置、计算设备和存储介质 - Google Patents
软件的埋点质量评估方法、装置、计算设备和存储介质 Download PDFInfo
- Publication number
- CN113946506A CN113946506A CN202111191405.4A CN202111191405A CN113946506A CN 113946506 A CN113946506 A CN 113946506A CN 202111191405 A CN202111191405 A CN 202111191405A CN 113946506 A CN113946506 A CN 113946506A
- Authority
- CN
- China
- Prior art keywords
- sample
- event
- buried point
- data
- passing rate
- 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
- 238000013441 quality evaluation Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012549 training Methods 0.000 claims abstract description 49
- 238000012360 testing method Methods 0.000 claims abstract description 48
- 238000012795 verification Methods 0.000 claims description 76
- 230000006399 behavior Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 15
- 238000001303 quality assessment method Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 5
- 238000009933 burial Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例涉及计算机技术领域,公开了一种软件的埋点质量评估方法、装置、计算设备和存储介质。该方法包括:获取第一数据,所述第一数据包括操作事件、操作事件通过率、埋点和埋点通过率;将所述第一数据输入埋点质量评估模型,所述埋点质量评估模型是基于样本数据训练得到的,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准;得到所述埋点质量评估模型输出的事件质量判决结果,其中,所述事件质量判决结果用于指示所述第一数据对应的待测软件是否达到上线标准。本发明实施例提高了测试效率。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种软件的埋点质量评估方法、装置、计算设备和存储介质。
背景技术
在互联网技术领域,为了使产品、运营人员了解客户端产品中某些功能模块、场景的用户使用情况,需要通过埋点并配合大数据技术,对用户群体、业务或活动状态进行把控。具体实现方式为在代码块中嵌入埋点的触发操作,并将埋点采集到的数据上报至指定后端服务器进行汇聚统计。埋点的数据质量直接影响到后续报表的准确性,因此,需要对埋点的准确性进行测试。如何提高埋点测试效率,是目前需要解决的问题。
发明内容
鉴于上述问题,本发明实施例提供了一种软件的埋点质量评估方法、装置、计算设备和存储介质,用于解决埋点测试效率较低的问题。
根据本发明实施例的第一方面,提供了一种软件的埋点质量评估方法,所述方法包括:
获取第一数据,所述第一数据包括操作事件、操作事件通过率、埋点和埋点通过率;
将所述第一数据输入埋点质量评估模型,所述埋点质量评估模型是基于样本数据训练得到的,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准;
得到所述埋点质量评估模型输出的事件质量判决结果,其中,所述事件质量判决结果用于指示所述第一数据对应的待测软件是否达到上线标准。
在一种可选的方式中,所述埋点质量评估模型通过如下方式训练完成:
获取所述样本数据;
将所述样本数据中的样本操作事件、样本操作事件通过率、样本埋点和样本埋点通过率输入埋点质量评估模型,得到训练结果,其中,所述训练结果为所述样本操作事件的训练质量判决结果;
根据所述训练结果和所述样本数据中的样本事件质量判决结果,调整所述埋点质量评估模型的参数,直至所述训练结果和所述样本数据中的事件质量判决结果之间的误差小于等于预设误差时,得到训练完成的埋点质量评估模型。
在一种可选的方式中,所述样本数据包括测试人员通过对所述软件进行用户界面UI测试得到的本地操作数据,以及,所述软件通过埋点软件开发工具包SDK上报的上报数据。
在一种可选的方式中,所述第一数据包括在灰度验证环境下灰度用户的行为数据和在灰度验证环境下所述软件通过埋点软件开发工具包SDK上报的灰度上报数据。
在一种可选的方式中,所述方法还包括:
对所述本地操作数据和所述上报数据的事件数量和事件类别进行一致性验证,得到第一结果;
对所述上报数据的每个事件中样本埋点进行正确性验证,得到第二结果;
根据所述第一结果和所述第二结果计算样本埋点通过率和样本操作事件通过率;
或者,
所述方法还包括:
对所述灰度用户的行为数据和所述灰度上报数据的事件数量和事件类别进行一致性验证,得到第三结果;
对所述灰度上报数据的每个事件中样本埋点进行正确性验证,得到第四结果;
根据所述第三结果和所述第四结果计算埋点通过率和操作事件通过率。
在一种可选的方式中,所述样本埋点通过率通过如下公式计算:
其中,pr1为样本埋点通过率;Ncorrect1为通过的样本埋点数量,若所述第一结果为所述本地操作数据和所述上报数据的事件数量和事件类别的一致性验证通过,所述第二结果为所述上报数据的每个事件中样本埋点的正确性验证通过,则所述样本埋点为通过的样本埋点;Ntotal1为上报样本埋点的总数;
所述埋点通过率通过如下公式计算:
其中,pr2为埋点通过率;Ncorrect2为通过的埋点数量,若所述第三结果为所述灰度用户的行为数据和所述灰度上报数据的事件数量和事件类别的一致性验证通过,所述第四结果为所述灰度上报数据的每个事件中埋点的正确性验证通过,则所述埋点为通过的埋点;Ntotal2为上报埋点的总数;
所述样本操作事件通过率通过如下公式计算:
其中,M为样本操作事件包含的样本埋点总数;PR3为样本操作事件通过率;pi为样本操作事件对应每个样本埋点的通过率;θi为每个样本埋点通过率占总样本事件验证的权重;
所述操作事件通过率通过如下公式计算:
其中,N为操作事件包含的埋点总数;PR4为操作事件通过率;pj为操作事件对应每个埋点的通过率;θj为每个埋点通过率占总事件验证的权重。
根据本发明实施例的第二方面,提供了一种训练埋点质量评估模型的方法,所述方法包括:
获取样本数据,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准;
将所述样本数据中的样本操作事件、样本操作事件通过率、样本埋点和样本埋点通过率输入埋点质量评估模型,得到训练结果,其中,所述训练结果为所述样本操作事件的训练质量判决结果;
根据所述训练结果和所述样本数据中的样本事件质量判决结果,调整所述埋点质量评估模型的参数,直至所述训练结果和所述样本数据中的事件质量判决结果之间的误差小于等于预设误差时,得到训练完成的埋点质量评估模型。
根据本发明实施例的第三方面,提供了一种软件的埋点质量评估装置,所述装置包括:
获取模块,用于获取第一数据,所述第一数据包括操作事件、操作事件通过率、埋点和埋点通过率;
输入模块,用于将所述第一数据输入埋点质量评估模型,所述埋点质量评估模型是基于样本数据训练得到的,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准;
得到模块,用于得到所述埋点质量评估模型输出的事件质量判决结果,其中,所述事件质量判决结果用于指示所述第一数据对应的待测软件是否达到上线标准。
根据本发明实施例的第四方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的方法的操作。
根据本发明实施例的第五方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算设备上运行时,使得计算设备执行如上所述的方法的操作。
本发明实施例通过将操作事件、操作事件通过率、埋点和埋点通过率等数据输入埋点质量评估模型,由埋点质量评估模型自动输出事件质量判决结果,指示待测软件是否达到上线标准,实现了自动化的埋点测试,减少了测试人员对埋点检测报告的评审工作,提高了测试效率。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例的应用场景示意图;
图2示出了本发明实施例提供的软件的埋点质量评估方法的流程图;
图3示出了本发明实施例中第一数据的获取流程示意框图;
图4示出了本发明实施例提供的软件的埋点质量评估方法的另一流程示意图;
图5示出了本发明实施例中埋点数据检查项配置***的功能模块图;
图6示出了本发明实施例的测试环境下获取第一数据的流程图;
图7示出了本发明实施例的灰度验证环境下获取第一数据的流程图;
图8a示出了步骤a3的详细流程图;
图8b示出了步骤b3的详细流程图;
图9示出了本发明实施例提供的训练埋点质量评估模型的方法的流程图;
图10示出了本发明实施例提供的软件的埋点质量评估装置的结构示意图;
图11示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
测试埋点包含在用户操作事件中,而操作事件一般通过标定关键字、设置类别等方式予以区分,最终通过大数据技术产生报表,反馈给运营人员对应埋点的上报情况。在测试环节,操作事件包括点击、页面曝光、播放、退出等。每个操作事件下,可具体包含业务人员的埋点内容,例如播放事件中包含节目编号、加载时延、播放地址等具体信息。因此,相关技术中,在测试人员检验埋点正确性时,首先找到操作事件,然后检查埋点具体信息。为了保证测试人员的测试效率,测试数据会直接存储到日志存储***,再通过查询的方式将日志反馈给测试人员,不需要经过生成报表等耗时操作。
埋点验证是软件(例如客户端APP产品)上线发布的一个重要测试环节。相关技术中,埋点验证只能输出对结果的检测通过率,需要测试人员人为查看埋点检测报告,判决是否满足上线要求。在开发、测试频繁的时间段内,测试人员反复验证的工作量巨大,测试效率较低,且难以兼顾质量。
因此,针对上述问题,本发明实施例提供了一种软件的埋点质量评估方法、装置、计算设备和计算机可读存储介质。
为了更好地理解本发明实施例的方案,下面先结合图1对本发明实施例可能的应用场景进行简单的介绍。
图1中,待测软件安装于本地的终端101,图1中的计算设备102(例如服务端)能够执行本发明实施例的软件的埋点质量评估方法。在测试环境下,测试人员将本地操作数据上传到计算设备102,终端101中的待测软件调用埋点软件开发工具包(SoftwareDevelopment Kit,SDK)提供的数据,上报给计算设备102,由计算设备102根据本地操作数据和上报数据得到事件质量判决结果,也即对待测软件是否达到上线标准的判断结果。
埋点SDK是APP产品中上报用户行为数据的功能模块。APP开发人员通过显式的调用埋点SDK提供的上报数据的方法,将需要采集的数据上报到后台(例如图1中的计算设备)。一般的用户行为数据,例如用户启动APP事件、APP首页曝光事件、用户播放事件等行为数据,该类数据上报到后台后,可以了解用户的行为偏好,进而针对性的为用户提供服务,提升用户体验。
图2示出了本发明实施例提供的软件的埋点质量评估方法的流程图,所述方法可以在为各客户端提供软件的埋点质量评估的计算机或者服务器等计算设备中执行,例如,由图1中的计算设备执行。
图3示出了本发明实施例中第一数据的获取流程示意框图。图4示出了本发明实施例提供的软件的埋点质量评估方法的另一流程示意图。请参考图3所示,埋点数据检查项配置模块用于登记埋点事件列表和每个事件里数据项的埋点验证规则。埋点验证模块可以读取埋点数据检查项配置模块配置的信息,检查接收到的埋点数据是否满足要求。图5示出了本发明实施例中埋点数据检查项配置***的功能模块图,如图5所示,埋点数据检查项配置***包括埋点数据检查项配置模块和数据库。其中埋点数据检查项配置模块包括:
事件配置子模块,用于接收测试人员对新事件的配置信息,以及正确数据的样例元数据,例如配置启动事件type:launcher,曝光事件type:expose等;
规则配置子模块,用于配置每个上报事件对应的埋点验证规则,包括存在性验证、范围验证、枚举验证、模糊匹配等功能,其中存在性验证用于验证埋点是否存在,范围验证用于验证埋点的长度范围是否符合预设范围、埋点的数值范围是否符合预设范围,枚举验证用于验证事件包含的上报信息字段的枚举值,模糊匹配用于验证字段是否包含某个特定字符或者某种格式要求。例如针对曝光事件,该事件(type:expose)包含多个上报信息字段,如曝光元素名称element,不能为空,曝光位置position,不能为空,操作***os,为枚举值,取ios或android;以及
事件、规则存储子模块,用于对接数据存储模块,例如MongoDB、mysql等数据库,响应测试人员对埋点验证规则的增加、修改、删除和查询操作。
检查项示例如表1所示:
表1检查项示例
类型 | 字段1 | 字段2 | 字段3 |
launcher | key1 | key2 | key3 |
expose | key4 | key5 | Key6 |
…… | …… | …… | …… |
type-n | keyx | Key | keyz |
如图4所示,当测试人员在埋点数据检查项配置模块上配置埋点验证规则后,开始通过用户界面测试(User interface testing,UI测试)模块进行UI测试,模拟用户行为,并通过本地操作数据存储模块将本地操作数据保存至本地,用于后续测试对比。然后,待测软件将埋点数据通过埋点SDK上报到服务端。通过数据清洗模块对数据的清洗后,事件分类模块将埋点数据按照对事件分类。测试人员上传本地操作数据到埋点验证模块,至此,埋点验证模块获得两份数据,一份来自测试人员,一份来自待测软件。通过对两份数据的对比验证,埋点验证模块可以输出埋点检测报告。埋点验证模块主要完成对埋点数据的一致性验证和正确性验证。其中,一致性验证子模块接收UI测试的本地操作数据与待测软件埋点上报数据,用于输出事件的一致性结果,例如,上报事件的数量、类别的一致性等。正确性验证子模块使用测试人员针对事件配置的埋点验证规则,验证每个操作事件中埋点是否通过,埋点验证规则包括埋点是否存在、埋点的长度范围是否符合预设范围、埋点的数值范围是否符合预设范围、模糊匹配(字段是否包含某个特定字符,或者某种格式要求)等。结果汇总子模块用于对操作事件通过率、埋点通过率进行统计,作为埋点检测报告输出的依据。埋点检测报告输出模块输出埋点检测报告。埋点质量评估模块通过埋点质量评估模型对埋点质量进行评估。
如图2所示,该方法包括步骤21-步骤23:
步骤21:获取第一数据,所述第一数据包括操作事件、操作事件通过率、埋点和埋点通过率。
其中,所述第一数据包括测试人员通过对所述软件进行用户界面UI测试得到的本地操作数据,以及,所述软件通过埋点软件开发工具包SDK上报的上报数据。
图6示出了本发明实施例的测试环境下获取第一数据的流程图。请参考图3、图4和图6,在测试环境下,所述获取第一数据,进一步包括:
步骤a1:在测试环境下,接收本地操作数据,其中,所述本地操作数据为测试人员通过对所述软件进行用户界面UI测试得到的数据;
步骤a2:接收上报数据,其中,所述上报数据为所述软件通过埋点软件开发工具包SDK上报的埋点数据;
步骤a3:对所述本地操作数据和所述上报数据进行对比验证,得到操作事件通过率和埋点通过率。
因此,在测试环境下,测试人员可以将本地操作数据上传到埋点验证模块,与埋点SDK上报的上报数据作对比校验,并与预先登记的埋点验证规则做校验。
埋点测试人员无法完成模拟真实环境下用户的操作行为,因此,仅通过在测试环境下获取第一数据将导致测试用例不全面,无法全面反映埋点问题。灰度验证环境是软件产品大规模发布到应用市场前,小范围的选取体验用户,验证产品功能的一个环境。一旦产品功能被发现有巨大缺陷,则不会大规模发布到应用市场。在灰度验证环境下,如果发现埋点数据不符合要求,可以要求不能发布该待测软件。在一些实施例中,第一数据还可以包括在灰度验证环境下灰度用户的行为数据和在灰度验证环境下所述软件通过埋点软件开发工具包SDK上报的灰度上报数据。图7示出了本发明实施例的灰度验证环境下获取第一数据的流程图。请参考图3、图4和图7,在灰度验证环境下,所述获取样本数据,进一步包括:
步骤b1:在灰度验证环境下,接收灰度用户的行为数据;
步骤b2:接收灰度上报数据,其中,所述灰度上报数据为所述软件通过埋点软件开发工具包SDK上报的埋点数据;
步骤b3:对所述灰度用户的行为数据和所述灰度上报数据进行对比验证,得到操作事件通过率和埋点通过率。
因此,可以实现在灰度验证环境下,对体验用户的真实行为进行检测验证,避免了测试用例无法覆盖的场景,保证了交付的软件具备较高的埋点质量。图8a示出了步骤a3的详细流程图。如图8所示,所述对所述本地操作数据和所述上报数据进行对比验证,得到所述操作事件通过率和所述埋点通过率(步骤a3),进一步包括:
步骤c1:对所述本地操作数据和所述上报数据的事件数量和事件类别进行一致性验证,得到第五结果;
步骤c2:对所述上报数据的每个事件中埋点进行正确性验证,得到第六结果;
具体的,可以基于前文所述的埋点验证规则,进行正确性验证。
步骤c3:根据所述第五结果和所述第六结果计算埋点通过率和操作事件通过率。
其中,所述埋点通过率通过如下公式计算:
其中,pr2为埋点通过率;Ncorrect2为通过的埋点数量,若所述第三结果为所述灰度用户的行为数据和所述灰度上报数据的事件数量和事件类别的一致性验证通过,所述第四结果为所述灰度上报数据的每个事件中埋点的正确性验证通过,则所述埋点为通过的埋点;Ntotal2为上报埋点的总数;
埋点通过率是针对单个检查点(待检查埋点)的,例如,某个字段。例如,曝光事件里有多个字段:pageID,userID,from,uploadTime等。总共收到1000条曝光数据,其中pageID字段为空的数据有900条,from字段为空的数据有800条,则对应pageID的通过率是90%,from字段的通过率是80%。
所述操作事件通过率通过如下公式计算:
其中,N为操作事件包含的埋点总数;PR4为操作事件通过率;pj为操作事件对应每个埋点的通过率;θj为每个埋点通过率占总事件验证的权重。
具体的,事件通过率是指某一个操作事件的通过率。
图8b示出了步骤b3的详细流程图。如图8b所示,所述对所述灰度用户的行为数据和所述灰度上报数据进行对比验证,得到操作事件通过率和埋点通过率(步骤b3),进一步包括:
步骤d1:对所述灰度用户的行为数据和所述灰度上报数据的事件数量和事件类别进行一致性验证,得到第三结果;
步骤d2:对所述灰度上报数据的每个事件中样本埋点进行正确性验证,得到第四结果;
具体的,可以基于前文所述的埋点验证规则,进行正确性验证。
步骤d3:根据所述第三结果和所述第四结果计算埋点通过率和操作事件通过率。
其中,所述埋点通过率通过如下公式计算:
其中,pr2为埋点通过率;Ncorrect2为通过的埋点数量,若所述第三结果为所述灰度用户的行为数据和所述灰度上报数据的事件数量和事件类别的一致性验证通过,所述第四结果为所述灰度上报数据的每个事件中埋点的正确性验证通过,则所述埋点为通过的埋点;Ntotal2为上报埋点的总数;
所述操作事件通过率通过如下公式计算:
其中,N为操作事件包含的埋点总数;PR4为操作事件通过率;pj为操作事件对应每个埋点的通过率;θj为每个埋点通过率占总事件验证的权重。
通过上述方式,可以覆盖全部埋点事件,对本地操作痕迹和上报事件埋点进行一致性、准确性验证,可以准确定位待测软件埋点的问题。
步骤22:将所述第一数据输入埋点质量评估模型,所述埋点质量评估模型是基于样本数据训练得到的,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准。
其中,埋点质量评估模型可通过样本数据训练完成。
步骤23:得到所述埋点质量评估模型输出的事件质量判决结果,其中,所述事件质量判决结果用于指示所述第一数据对应的待测软件是否达到上线标准。
埋点质量评估模型输出的事件质量判决结果通过枚举类别的方式展示,类别包括直接上线、修改上线以及不上线。
本发明实施例通过将操作事件、操作事件通过率、埋点和埋点通过率等数据输入埋点质量评估模型,由埋点质量评估模型自动输出事件质量判决结果,指示待测软件是否达到上线标准,实现了自动化的埋点测试,减少了测试人员对埋点检测报告的评审工作,提高了测试效率。
图9示出了本发明实施例提供的训练埋点质量评估模型的方法的流程图。可选地,如图9所示,可通过如下步骤训练埋点质量评估模型:
步骤91:获取样本数据,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准。
其中,所述样本数据包括测试人员通过对所述软件进行用户界面UI测试得到的本地操作数据,以及,所述软件通过埋点软件开发工具包SDK上报的上报数据。通过本地操作数据和上报数据可以进一步得到样本操作事件通过率和样本埋点通过率。测试人员根据所述事件通过率和所述埋点通过率,可以标记样本事件质量判决结果。
在测试环境下,所述获取样本数据,进一步包括:
接收本地操作数据,其中,所述本地操作数据为测试人员通过对所述软件进行用户界面UI测试得到的数据;
接收上报数据,其中,所述上报数据为所述软件通过埋点软件开发工具包SDK上报的埋点数据;
对所述本地操作数据和所述上报数据进行对比验证,得到样本事件质量判决结果。
进一步的,所述对所述本地操作数据和所述上报数据进行对比验证,得到样本事件质量判决结果,进一步包括:
对所述本地操作数据和所述上报数据的事件数量和事件类别进行一致性验证,得到第一结果;
对所述本地操作数据和所述上报数据的每个事件中样本埋点是否通过进行正确性验证,得到第二结果;
根据所述第一结果和所述第二结果计算操作事件通过率和样本埋点通过率和样本操作事件通过率;
接收测试人员根据所述事件通过率和所述埋点通过率标记的样本事件质量判决结果。
其中,所述样本埋点通过率通过如下公式计算:
其中,pr1为样本埋点通过率;Ncorrect1为通过的样本埋点数量,若所述第一结果为所述本地操作数据和所述上报数据的事件数量和事件类别的一致性验证通过,所述第二结果为所述上报数据的每个事件中样本埋点的正确性验证通过,则所述样本埋点为通过的样本埋点;Ntotal1为上报样本埋点的总数;
所述样本操作事件通过率通过如下公式计算:
其中,M为样本操作事件包含的样本埋点总数;PR3为样本操作事件通过率;pi为样本操作事件对应每个样本埋点的通过率;θi为每个样本埋点通过率占总样本事件验证的权重。
训练过程中对数据的处理可参考前述软件的埋点质量评估方法的实施例,此处不再赘述。
埋点质量评估模型的训练阶段为初始化阶段。在该阶段,埋点检测报告输出给测试和技术人员,由测试或技术人员对埋点检测报告打分,分数以类别区分,包括:直接上线、修改上线以及不上线共三个类别。测试人员会容忍一定的错误率,比如针对曝光事件(type:expose),曝光元素名称element字段,埋点验证规则要求不为空,但是如果埋点正确率是98%,测试人员可以认为是通过的,在埋点验证模块的埋点检测报告上对该字段标记为“直接上线”;针对曝光位置position字段,规则要求不为空,如果埋点正确率是85%,测试人员可以认为不通过,标记为“修改上线”,如果正确率只有50%,测试人员可以标记为“不上线”;最后,综合曝光事件中的埋点通过率,针对曝光事件,测试人员标记质量判决结果。
可以将埋点检测报告及对应的事件、埋点质量判决结果作为训练数据集,训练埋点质量评估模型,用于后续直接对埋点检测报告进行上线级别评估,减少测试人员工作量,提高测试效率。
步骤92:将所述样本数据中的样本操作事件、样本操作事件通过率、样本埋点和样本埋点通过率输入埋点质量评估模型,得到训练结果,其中,所述训练结果为所述样本操作事件的训练质量判决结果。
具体的,输入埋点质量评估模型的数据包括:
事件总数–整数,例如包含有n个事件。
事件通过率和质量判决结果–列表数据{PR1,PR2,…,PRn},每个元素为本次测试中所对应事件的通过率。
所有单事件的埋点通过率–列表数据{pr1,pr2,…,prm},每个元素为本次测试中单个事件的所有埋点通过情况,每个事件有m个埋点,则共有∑mi个埋点通过率作为特征输入。
具体实施过程中,进行训练的埋点质量评估模型可以采用深度学习分类模型,具体可使用决策树、随机森林、多分类器等模型。
步骤93:根据所述训练结果和所述样本数据中的样本事件质量判决结果,调整所述埋点质量评估模型的参数,直至所述训练结果和所述样本数据中的事件质量判决结果之间的误差小于等于预设误差时,得到训练完成的埋点质量评估模型。
如前所述,模型输出为枚举类别,包括直接上线、修改上线以及不上线。
进一步的,测试人员标记的埋点质量判决结果数据记录后,将样本数据分为训练集和测试集,样本数据包括:事件(特征)、事件通过率(特征)、埋点(特征)、埋点通过率(特征)、事件质量判决结果(标签)。
使用训练集训练出埋点质量评估模型,应用于测试集,当准确率、精确率、召回率等达到预设范围时,将埋点质量评估模型投入应用。
在应用时,事件(特征)、事件通过率(特征)、埋点(特征)、埋点通过率(特征)由埋点验证模块给出,作为模型输入,埋点质量评估模型自动输出事件质量判决结果。
图10示出了本发明实施例提供的软件的埋点质量评估装置的结构示意图。如图10所示,该装置300包括:
获取模块301,用于获取第一数据,所述第一数据包括操作事件、操作事件通过率、埋点和埋点通过率;
输入模块302,用于将所述第一数据输入埋点质量评估模型,所述埋点质量评估模型是基于样本数据训练得到的,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准;
得到模块303,用于得到所述埋点质量评估模型输出的事件质量判决结果,其中,所述事件质量判决结果用于指示所述第一数据对应的待测软件是否达到上线标准。
上述各模块被执行所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
本发明实施例通过将操作事件、操作事件通过率、埋点和埋点通过率等数据输入埋点质量评估模型,由埋点质量评估模型自动输出事件质量判决结果,指示待测软件是否达到上线标准,实现了自动化的埋点测试,减少了测试人员对埋点检测报告的评审工作,提高了测试效率。
图11示出了本发明实施例提供的计算设备的结构示意图,其中,计算设备可以是为各客户端提供软件的埋点质量评估的计算机或者服务器等设备,本发明具体实施例并不对计算设备的具体实现做限定。
如图11所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于软件的埋点质量评估方法或者训练埋点质量评估模型的方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本发明实施例通过将操作事件、操作事件通过率、埋点和埋点通过率等数据输入埋点质量评估模型,由埋点质量评估模型自动输出事件质量判决结果,指示待测软件是否达到上线标准,实现了自动化的埋点测试,减少了测试人员对埋点检测报告的评审工作,提高了测试效率。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在计算设备上运行时,使得所述计算设备执行上述任意方法实施例中的软件的埋点质量评估方法或者训练埋点质量评估模型的方法。
本发明实施例提供一种软件的埋点质量评估装置,用于执行上述软件的埋点质量评估方法或者训练埋点质量评估模型的方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使计算设备执行上述任意方法实施例中的软件的埋点质量评估方法或者训练埋点质量评估模型的方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的软件的埋点质量评估方法或者训练埋点质量评估模型的方法。
在此提供的算法或显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种软件的埋点质量评估方法,其特征在于,所述方法包括:
获取第一数据,所述第一数据包括操作事件、操作事件通过率、埋点和埋点通过率;
将所述第一数据输入埋点质量评估模型,所述埋点质量评估模型是基于样本数据训练得到的,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准;
得到所述埋点质量评估模型输出的事件质量判决结果,其中,所述事件质量判决结果用于指示所述第一数据对应的待测软件是否达到上线标准。
2.根据权利要求1所述的方法,其特征在于,所述埋点质量评估模型通过如下方式训练完成:
获取所述样本数据;
将所述样本数据中的样本操作事件、样本操作事件通过率、样本埋点和样本埋点通过率输入埋点质量评估模型,得到训练结果,其中,所述训练结果为所述样本操作事件的训练质量判决结果;
根据所述训练结果和所述样本数据中的样本事件质量判决结果,调整所述埋点质量评估模型的参数,直至所述训练结果和所述样本数据中的事件质量判决结果之间的误差小于等于预设误差时,得到训练完成的埋点质量评估模型。
3.根据权利要求2所述的方法,其特征在于,所述样本数据包括测试人员通过对所述软件进行用户界面UI测试得到的本地操作数据,以及,所述软件通过埋点软件开发工具包SDK上报的上报数据。
4.根据权利要求2所述的方法,其特征在于,所述第一数据包括在灰度验证环境下灰度用户的行为数据和在灰度验证环境下所述软件通过埋点软件开发工具包SDK上报的灰度上报数据。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
对所述本地操作数据和所述上报数据的事件数量和事件类别进行一致性验证,得到第一结果;
对所述上报数据的每个事件中样本埋点进行正确性验证,得到第二结果;
根据所述第一结果和所述第二结果计算样本埋点通过率和样本操作事件通过率;
或者,
所述方法还包括:
对所述灰度用户的行为数据和所述灰度上报数据的事件数量和事件类别进行一致性验证,得到第三结果;
对所述灰度上报数据的每个事件中样本埋点进行正确性验证,得到第四结果;
根据所述第三结果和所述第四结果计算埋点通过率和操作事件通过率。
6.根据权利要求5所述的方法,其特征在于,
所述样本埋点通过率通过如下公式计算:
其中,pr1为样本埋点通过率;Ncorrect1为通过的样本埋点数量,若所述第一结果为所述本地操作数据和所述上报数据的事件数量和事件类别的一致性验证通过,所述第二结果为所述上报数据的每个事件中样本埋点的正确性验证通过,则所述样本埋点为通过的样本埋点;Ntotal1为上报样本埋点的总数;
所述埋点通过率通过如下公式计算:
其中,pr2为埋点通过率;Ncorrect2为通过的埋点数量,若所述第三结果为所述灰度用户的行为数据和所述灰度上报数据的事件数量和事件类别的一致性验证通过,所述第四结果为所述灰度上报数据的每个事件中埋点的正确性验证通过,则所述埋点为通过的埋点;Ntotal2为上报埋点的总数;
所述样本操作事件通过率通过如下公式计算:
其中,M为样本操作事件包含的样本埋点总数;PR3为样本操作事件通过率;pi为样本操作事件对应每个样本埋点的通过率;θi为每个样本埋点通过率占总样本事件验证的权重;
所述操作事件通过率通过如下公式计算:
其中,N为操作事件包含的埋点总数;PR4为操作事件通过率;pj为操作事件对应每个埋点的通过率;θj为每个埋点通过率占总事件验证的权重。
7.一种训练埋点质量评估模型的方法,其特征在于,所述方法包括:
获取样本数据,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准;
将所述样本数据中的样本操作事件、样本操作事件通过率、样本埋点和样本埋点通过率输入埋点质量评估模型,得到训练结果,其中,所述训练结果为所述样本操作事件的训练质量判决结果;
根据所述训练结果和所述样本数据中的样本事件质量判决结果,调整所述埋点质量评估模型的参数,直至所述训练结果和所述样本数据中的事件质量判决结果之间的误差小于等于预设误差时,得到训练完成的埋点质量评估模型。
8.一种软件的埋点质量评估装置,其特征在于,所述装置包括:
获取模块,用于获取第一数据,所述第一数据包括操作事件、操作事件通过率、埋点和埋点通过率;
输入模块,用于将所述第一数据输入埋点质量评估模型,所述埋点质量评估模型是基于样本数据训练得到的,所述样本数据包括样本操作事件、样本操作事件通过率、样本埋点、样本埋点通过率和样本事件质量判决结果,其中,所述样本事件质量判决结果用于指示所述样本数据对应的软件是否达到上线标准;
得到模块,用于得到所述埋点质量评估模型输出的事件质量判决结果,其中,所述事件质量判决结果用于指示所述第一数据对应的待测软件是否达到上线标准。
9.一种计算设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算设备上运行时,使得计算设备执行如权利要求1-7任意一项所述的方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111191405.4A CN113946506A (zh) | 2021-10-13 | 2021-10-13 | 软件的埋点质量评估方法、装置、计算设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111191405.4A CN113946506A (zh) | 2021-10-13 | 2021-10-13 | 软件的埋点质量评估方法、装置、计算设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946506A true CN113946506A (zh) | 2022-01-18 |
Family
ID=79330378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111191405.4A Pending CN113946506A (zh) | 2021-10-13 | 2021-10-13 | 软件的埋点质量评估方法、装置、计算设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946506A (zh) |
-
2021
- 2021-10-13 CN CN202111191405.4A patent/CN113946506A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10185650B1 (en) | Testing service with control testing | |
WO2001016751A1 (en) | Method and system for web based software object testing | |
CN112052172B (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
US20220300820A1 (en) | Ann-based program testing method, testing system and application | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
CN114117311B (zh) | 数据访问风险检测方法、装置、计算机设备及存储介质 | |
CN112153378B (zh) | 一种视频审核能力的测试方法及其*** | |
CN115952081A (zh) | 一种软件测试方法、装置、存储介质及设备 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN110413596A (zh) | 字段处理方法及装置、存储介质、电子装置 | |
CN110765007A (zh) | 一种面向安卓应用的崩溃信息线上分析方法 | |
CN111858377B (zh) | 测试脚本的质量评价方法、装置、电子设备及存储介质 | |
CN112527573B (zh) | 一种接口测试方法、装置及存储介质 | |
US10152407B1 (en) | Optimization of analysis of automated test results | |
CN113946506A (zh) | 软件的埋点质量评估方法、装置、计算设备和存储介质 | |
CN114489760A (zh) | 代码质量评价方法和代码质量评价装置 | |
CN113791980A (zh) | 测试用例的转化分析方法、装置、设备及存储介质 | |
CN113257329A (zh) | 一种基于机器学习的存储器故障诊断方法 | |
CN113434408B (zh) | 一种基于测试预言的单元测试用例排序方法 | |
CN113360397A (zh) | ***功能的回归测试方法、装置、设备及存储介质 | |
KR102032180B1 (ko) | 디지털변전시스템 정보교환 서비스 검증시험 장치 | |
CN112131128A (zh) | 数据测试方法、装置、存储介质和电子装置 | |
CN110362464A (zh) | 软件分析方法及设备 | |
CN117785711A (zh) | 开发模型的准确性测试方法及装置 | |
CN116860585A (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 |