本发明属于场景识别与测试,尤其涉及一种基于场景识别的测试埋点方法、系统与介质。
背景技术:
1、数据采集是大数据的基石,用户在使用app、微信小程序等各种线上应用产生的行为,只有通过埋点才能进行采集。埋点分析,是数据分析的一种常用的数据采集方法,指在需要采集数据的“操作节点”将数据采集的程序代码附加在功能程序代码中,对操作节点上用户行为或事件进行捕获、处理和发送相关技术及其实施过程。
2、数据埋点让产品或运营等相关人员能按照具体的需求,定性地统计较为复杂的用户数据。例如在想要追踪用户的行为、观察页面相关点击数据或者是分析某个事件活动效果时,就需要事先进行数据埋点,然后等到应用程序(app)上线后通过预先设置的数据埋点采集相应的数据,进行分析研究。通过对每个页面或页面元素的埋点,将用户的行为路径串联起来,可以清晰的洞察用户在产品内的行为路径。对于有多业务板块、多流量入口的业务,用户进站后的行为路径复杂多样,通过对用户浏览轨迹的统计分析,发现不同用户群体的使用路径,从而针对不同的路径设定差异化的产品策略。
3、为了确保数据采集的全面性,目前最常用的方案是代码埋点+全埋点组合使用。即用全埋点统计app(小程序)内用户基础的行为事件的pv/uv等数据,用代码埋点补充全埋点无法覆盖的场景,最终实现全面的精细化用户行为分析。在数据产品方面,配套的需要有埋点管理系统的支持,将埋点工作流转、埋点信息管理平台化。
4、然而,全面的全埋点策略需要布置大量的埋点节点,需要上报的数据量大并且种类繁多,给后期的数据预处理、分类识别等带来较大压力。在某些情况下,例如软件新开发版本或者升级版本情况下,开发者只需要重点关注某些特定场景下某些特定功能(例如新增功能项、升级功能项)的使用数据和使用效果,而无需进行全埋点测试,此时,就需要进行有效的针对性埋点设置以实现部分重点关注节点的埋点测试和数据采集,而无需执行全面的全埋点策略。
技术实现思路
1、为解决上述技术问题,本发明提出一种基于场景识别的测试埋点方法、系统与介质。
2、在本发明的第一个方面,提出一种基于场景识别的测试埋点方法,所述方法应用于测试设备,所述测试设备安装有多个待测试软件,所述方法包括:
3、同时启动至少两个待测试软件,所述至少两个待测试软件包括第一待测试软件和第二待测试软件;
4、确定所述第一待测试软件在运行过程中所调用的第一功能项集合和所述第二待测试软件在运行过程中所调用的第二功能项集合;
5、基于所述测试设备当前的用户主操作,确定所述测试设备当前的应用父场景;
6、基于所述应用父场景所包含的多个子进程的负载统计数据,确定所述测试设备当前的应用子场景;
7、基于所述应用父场景和所述应用子场景,识别所述测试设备的当前场景;
8、根据识别出的当前场景、第一功能项集合和第二功能项集合,执行测试埋点设置策略。
9、所述测试设备当前的用户主操作包括窗口焦点操作,所述窗口焦点操作包括鼠标焦点、键盘输入焦点、无接触输入焦点之一或者其组合。
10、基于所述应用父场景所包含的多个子进程的负载统计数据,确定所述测试设备当前的应用子场景,具体包括:
11、将负载最高的子进程对应的进程子场景,作为所述测试设备当前的应用子场景。
12、根据识别出的当前场景、第一功能项集合和第二功能项集合,执行测试埋点设置策略,具体包括:
13、根据预先设置的场景与功能项的映射表,判断所述第一功能项集合或第二功能项集合中是否存在与所述当前场景匹配的至少一个第一目标功能项;
14、如果存在,则为每一个所述第一目标功能项设置测试埋点。
15、根据识别出的当前场景、第一功能项集合和第二功能项集合,执行测试埋点设置策略,具体包括:
16、确定所述第一功能项集合和第二功能项集合的功能项交集;
17、根据预先设置的场景与功能项的映射表,判断所述功能项交集中是否存在与所述当前场景匹配的至少一个第二目标功能项;
18、如果存在,则为每一个所述第二目标功能项设置测试埋点。
19、基于所述第一待测试软件和所述第二待测试软件的开发文档,确定所述第一待测试软件在运行过程中所调用的第一功能项集合和所述第二待测试软件在运行过程中所调用的第二功能项集合;
20、所述第一功能项集合包含多个第一功能项,每个所述第一功能项对应至少一个第一应用场景;
21、所述第二功能项集合包含多个第二功能项,每个所述第二功能项对应至少一个第二应用场景。
22、在本发明的第二个方面,提供一种基于场景识别的测试埋点系统,所述系统与测试设备通信,所述测试设备安装有多个待测试软件,所述系统包括:
23、功能项集合获取单元,用于获取每个待测试软件的开发文档,确定每个待测试软件在运行过程中所调用的功能项集合;
24、测试激活单元,用于发出测试激活指令,所述测试激活指令同时启动至少两个待测试软件,所述至少两个待测试软件包括第一待测试软件和第二待测试软件;
25、测试父场景识别单元,用于基于所述测试设备当前的用户主操作,确定所述测试设备当前的应用父场景;
26、测试子场景识别单元,用于统计所述应用父场景所包含的多个子进程的负载数据,基于负载数据识别出所述测试设备当前的应用子场景;
27、场景关联单元,用于将所述应用父场景和所述应用子场景拼接,作为所述测试设备的当前场景;
28、埋点策略执行单元,用于基于根据识别出的当前场景和所述功能项集合的匹配关系,执行测试埋点设置策略。
29、所述测试子场景识别单元基于负载数据识别出所述测试设备当前的应用子场景,具体包括:
30、所述测试子场景识别单元获取每个子进程的负载数据;
31、基于大于设置阈值的负载数据对应的子进程集合,确定所述测试设备当前的应用子场景。
32、第一个方面所述的基于场景识别的测试埋点方法可以通过各种形式的电子设备,通过计算机程序指令自动化的实现;所述计算机程序指令可存储于不同形式的存储介质中,装载至计算机电子设备中执行。
33、因此,在本发明的第三个方面,还提供一种计算机可读存储介质,用于存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一个方面所述的基于场景识别的测试埋点方法。
34、在本发明的第四个方面,还提出一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行基于场景识别的测试埋点方法。
35、本发明的技术方案,通过确定测试设备当前的应用父场景、测试设备当前的应用子场景后识别出测试设备的当前场景,然后,结合确定的所述第一待测试软件在运行过程中所调用的第一功能项集合和所述第二待测试软件在运行过程中所调用的第二功能项集合,针对性的执行测试埋点设置策略,能够减少测试埋点设置的盲目性,进而重点关注某些特定场景下某些特定功能(例如新增功能项、升级功能项)的使用数据和使用效果,而无需进行全埋点测试,减轻了测试负担,提高了测试埋点的针对性效率。
36、本发明的进一步优点将结合说明书附图在具体实施例部分进一步详细体现。
1.一种基于场景识别的测试埋点方法,所述方法应用于测试设备,所述测试设备安装有多个待测试软件,其特征在于,所述方法包括:
2.如权利要求1所述的一种基于场景识别的测试埋点方法,其特征在于:
3.如权利要求1所述的一种基于场景识别的测试埋点方法,其特征在于:
4.如权利要求1所述的一种基于场景识别的测试埋点方法,其特征在于:
5.如权利要求1所述的一种基于场景识别的测试埋点方法,其特征在于:
6.如权利要求1所述的一种基于场景识别的测试埋点方法,其特征在于:
7.一种基于场景识别的测试埋点系统,所述系统与测试设备通信,所述测试设备安装有多个待测试软件,其特征在于,所述系统包括:
8.如权利要求7所述的一种基于场景识别的测试埋点系统,其特征在于:
9.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至6中任一项所述的一种基于场景识别的测试埋点方法。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行如权利要求1至6中任一项所述的一种基于场景识别的测试埋点方法。
