APP流量监控方法、系统、计算机设备和存储介质与流程

文档序号:16327757发布日期:2018-12-19 06:01阅读:176来源:国知局
APP流量监控方法、系统、计算机设备和存储介质与流程
本发明涉及软件测试
技术领域
,特别涉及app流量监控方法、系统、计算机设备和存储介质。
背景技术
目前主流的移动端app运行在android(通称″安卓″系统)、ios(通称″苹果″系统)以及windowsphone(通称″wp″系统)三种通用性较高且覆盖率较广泛的移动端操作系统中。其中ios和windowsphone当前属于闭源环境,因此运行于这两个操作系统之上的app具有较高安全性。android在很长一段时间内都是一种为公众熟知的开源操作系统,其技术门槛相对较低,开发自由度较大,但是相对前两者而言,也带来了安全性较弱的问题。就典型的用户层体验而言,android端的app存在如下问题:1、运行流畅度低;2、启动时响应慢;3、界面反应迟缓或卡顿;4、互联网络连接速度不稳定;5、网页加载和显示速度较慢;6、移动数据网络流量消耗异常。基于这些情况,使得用户的移动端操作系统资源和数据网络流量资源被过度消耗,降低了app的用户体验,给app应用开发者和服务供应商带来了直接和间接的损失。为改善这类app应用体验,需要对app在发布到用户前进行功能测试和改进。要实现这一目的,摆在前面的问题是:如何有效测试一款app的性能,包括对其所包含的功能在冷热启动时的加载时长、资源消耗情况、流量消耗情况、耗电量情况等方面的测试,并可以直观获取到想要的测试结果,以便提供给开发调试和维护的技术人员参考。目前主流的客户端性能测试方案或工具存在的问题在于:由于app运行的操作系统的内核大都是unix-like类型,android端直接基于linux系统开发,因此测试工具统计这些性能参数的时候,均基于进程id统计,导致测试结果最终绘制得到的性能曲线仅用于标识某个app在特定时段的整体性能,却无法获知这些性能数据的来源,包括来自该app的哪些接口,或者来自哪些功能模块,从而导致技术人员无法精准定位导致流量过度消耗、资源过度占用的问题源,无法为有效解决问题和优化程序代码提供参考依据。技术实现要素:基于此,有必要针对在进行app流量监控时,由于app运行的环境是基于linux系统利用测试工具统计这些性能参数基于进程id去统计,无法知晓app的哪个接口、哪个功能模块消耗流量较多、耗时较长,提供app流量监控方法、系统、计算机设备和存储介质。一种app流量监控方法,所述app流量监控方法,具体步骤如下:将待检测app的所有功能模块进行逐一标记后制备生成配置文件;所述配置文件用于存储所述待检测app所包含的每一功能模块名称以及功能模块名称对应的标记,按照功能模块名称对应标记的规则,实现功能模块名称与其对应的标记形成一一对应的关系;利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中,所述测试工具是具有遍历检测功能的自动化测试工具;利用监控工具对缓存文件进行实时监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中,所述监控工具是具有实时监控和提取测试结果的工具;读取所述测试结果文件,利用数据分析工具对所述测试结果文件中的数据按照预先设定的分析规则进行分析,并按照预设的输出形式输出至结果分析文件中,所述数据分析工具是具有数据分析和图表数据输出功能的工具。在其中一个实施例中,所述功能模块名称对应的标记包括英文字母,或英文字母和阿拉伯数字的组合;当功能模块名称为中文时,所述功能模块名称对应标记的规则包括:所述功能模块名称中每个中文字的拼音首字母的组合生成一标识标记,首字母均统一为大写格式;当所述标识标记和其他功能模块名称的标识标记相同时,则在所述标识标记后附加数字加以区分;当功能模块名称为英文时,所述功能模块名称对应的标记的规则包括:所述功能模块名称中每个独立英文单词的首字母组合生成一标识标记,首字母均统一为大写格式;当所述标识标记和其他功能模块名称的标识标记相同时,则在所述标识标记后附加数字加以区分。在其中一个实施例中,所述利用检测工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中包括:通过测试工具对所述待检测app按照所述配置文件中所列的功能模块名称按照首字母的先后序列进行逐项测试,获取测试结果,并将其存储至缓存文件中,所述测试结果中的结果数据与所述待检测app的功能模块在配置文件中的标记一一对应。在其中一个实施例中,所述利用监控工具对缓存文件进行实时监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中包括:利用监控工具对所述缓存文件进行实时监控,并实时地根据所述配置文件中的标记序列提取测试结果数据,提取操作成功后将测试结果数据配合其对应的标记在配置文件中调取对应的功能模块名称和与其相对应的https请求时的url后一并存入测试结果文件,提取操作失败时在所述测试结果文件内写入对应的错误信息,并继续执行其余测试结果的提取,直到测试项目全部完成或者直到设定的测试周期截止。在其中一个实施例中,所述利用数据分析工具对所述测试结果文件中的数据按照预先设定的分析规则进行分析,并按照预设的输出形式输出至结果分析文件中包括:利用数据分析工具,对所述测试结果文件按照分析规则进行分析,并将分析结果按照预设的输出形式输出至结果分析文件中,所述结果分析文件为所述app流量监控方法的执行结果文件,用于作为维护人员改进app的参考基础。在其中一个实施例中,所述分析规则包括:选定一功能模块为统计对象来统计其所占用的资源,包括数据流量消耗总和以及应答耗时的总和;选定一数据请求的调用方法为统计对象来统计所述数据请求所消耗的总的数据流量和总的应答耗时。在其中一个实施例中,所述结果分析文件的输出形式包括文字报告形式、图表报告形式或者图文报告。基于相同的技术构思,本发明还提供一种app流量监控系统,所述app流量监控系统包括标记单元、测试单元、监控单元和分析单元;所述标记单元,用于将待检测app的所有功能模块进行逐一标记后制备生成配置文件,所述配置文件用于存储所述待检测app所包含的每一功能模块名称以及功能模块名称对应的标记,按照功能模块名称对应标记的规则,实现功能模块名称与其对应的标记形成一一对应的关系;所述测试单元,用于利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中,所述测试工具是具有遍历检测功能的自动化测试工具;所述监控单元,用于利用监控工具对缓存文件进行实时监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中,所述监控工具是具有实时监控和提取测试结果的工具;所述分析单元,用于读取所述测试结果文件,利用数据分析工具对所述测试结果文件中的数据按照预先设定的分析规则进行分析,并按照预设的输出形式输出至结果分析文件中;所述数据分析工具是具有数据分析和图表数据输出功能的工具。基于相同的技术构思,本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述app流量监控方法的步骤。基于相同的技术构思,本发明还提供一种计算机可读指令存储介质,所述计算机可读指令存储介质上存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述app流量监控方法的步骤。上述app流量监控方法、系统、计算机设备和存储介质,通过自动或者手动方式,将待检测app的所有功能模块进行逐一标记后制备生成配置文件;所述配置文件用于存储所述待检测app所包含的每一功能模块名称以及功能模块名称对应的标记,按照功能模块名称对应标记的规则,实现功能模块名称与其对应的标记形成一一关系;利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中;其中,所述测试工具是具有遍历检测功能的自动化测试工具;实时监控缓存文件并获取测试结果文件:利用监控工具对缓存文件进行实时监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中;所述监控工具是具有实时监控和提取测试结果的工具;分析测试结果文件并输出结果分析文件:读取所述测试结果文件,利用数据分析工具对其中的数据按照预先设定的规则进行分析,并按照预设的输出形式输出结果分析文件;所述数据分析工具是具有数据分析和图表数据输出功能的工具。与现有技术相比,本技术方案的有益技术效果在于,准确定位app中消耗流量较大以及响应耗时较长的功能模块和请求位置,便于技术人员定位解决问题;获取数据后可启动结果分析脚本,分析文件数据,生成结果报告,便于技术人员及时优化解决问题。附图说明图1为本发明一个实施例中一种app流量监控方法的流程图;图2为本发明一个实施例中一种app流量监控执行流程图;图3为本发明一个实施例中一种app流量监控系统的示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,本发明实施例提供一种app流量监控方法,所述app流量监控方法,可以包括如下步骤:步骤s1:将待检测app的所有功能模块进行逐一标记后制备生成配置文件,所述配置文件用于存储所述待检测app所包含的每一功能模块名称以及功能模块名称对应的标记,按照功能模块名称对应标记的规则,实现功能模块名称与其相对应的标记形成一一对应的关系;步骤s2:利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中,所述测试工具是具有遍历检测功能的自动化测试工具;步骤s3:利用监控工具对缓存文件进行实施监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中,所述监控工具是具有实时监控和提取测试结果的工具;步骤s4:读取所述测试结果文件,利用数据分析工具对其中的数据按照预先设定的规则进行分析,并按照预设的输出形式输出至结果分析文件中,所述数据分析工具是具有数据分析和图表数据输出功能的工具。图2为本发明一个实施例中一种app流量监控执行流程图,如图2所示,将待检测app的所有功能模块进行注意标记后制备生成配置文件;利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中;利用监控工具对缓存文件进行实时监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中;读取所述测试结果文件,利用数据分析工具对其中的数据按照预先设定的规则进行分析,并按照预设的输出形式输出至结果分析文件中。具体步骤如下:步骤s101:选定一app作为待检测app,所述待检测app中的所有功能模块都是已知且确定名称的;例如,功能模块为″商业″和″首页″。步骤s102:按照功能模块名称对应标记的规则,实现功能模块名称与其相对应的标记形成一一对应关系,以生成与所有功能模块相对应的标记;同时,通过自动或者手动方式,将待检测app中的功能模块进行逐一标记后制备生成与所述待检测app所包含的功能模块相对应的配置文件;所述功能模块名称对应的标记包括英文字母,或者英文字母和阿拉伯数字的组合;当功能模块名称为中文时,所述功能模块名称对应标记的规则包括:所述功能模块名称中每个中文字的拼音首字母的组合生成一标识标记,首字母均统一为大写格式;当所述标识标记和其他功能模块名称的标识标记相同时,则在所述标识标记后附加数字加以区分;举例来说,功能模块名称为″商业″和″首页″,则对应的标识分别标记为″sy1″和″sy2″。当功能模块名称为英文时,所述功能模块名称对应的标记的规则包括:所述功能模块名称中每个独立英文单词的首字母组合生成一标识标记,首字母均统一为大写格式;当所述标识标记和其他功能模块名称的标识标记相同时,则在所述标识标记后附加数字加以区分;举例来说,功能模块分别为″mainpage″和″monitorplan″,则分别标记为″mp1″、″mp2″。所述手动方式生成配置文件,即表示通过人工方式遍历待检测app的功能模块,并对任一功能模块名称按照所述功能模块名称对应标记的规则生成标记;所述自动方式生成配置文件的操作规则包括:所述操作规则包括一自动标记生成脚本,用于遍历app功能模块名称列表后,自动生成对应的标记,从而代替人工生成的方式,当功能模块数量较多或者重名项目较多的时候,可有效防止人为疏漏导致的标记生成错误的问题;其中,所述自动标记生成脚本,可选用的脚本开发语言包括:python、vbs、js、c/c#、shell。一个实施例中,选定一待检测app作为测试对象,其包括首页、理财页和保险三个功能模块,通过手动或者自动方式为每一个功能模块定义标记后生成配置文件,所述配置文件格式如下表1:模块标记首页sy理财页lc保险bx表1步骤s201:利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果,所述测试工具是具有遍历检测功能的自动化检测工具,包括自动遍历ui界面元素的工具,其定义为遍历方法;步骤s202:将所述测试结果存储至缓存文件中,所述测试结果中的结果数据与所述待检测app的功能模块在配置文件中的标记一一对应;一个实施例中,选定测试工具为遍历方法,并将其命名为uiautotravele,用于通过点击配置文件中的每一个标记所对应的功能来获取所述功能模块对应的测试项目数据,包括https请求指向网络链接地址、https请求的方法名、上行流量消耗、下行流量消耗和应答总耗时,并将获取到的数据与其相对应的标识标记一起写入所述缓存文件中;其中,所述写入方式,命名为writeexcel。步骤s301:利用监控工具对所述缓存文件进行实时监控,并实时地根据所述配置文件中的标记序列提取测试结果数据,所述监控工具是具有实时监控和提取测试结果的工具,包括数据监控工具;所述缓存文件中包含的数据字段有标记、测试项目1、…、测试项目n,n为非零自然数;例如,所述测试项目1为https请求指向网络链接地址;所述测试项目2为所述https请求调用的方法对应的路径;所述测试项目3为上行流量消耗;所述测试项目4为下行流量消耗;所述测试项目5为应答总耗时。步骤s302:利用监控工具提取测试结果数据时,当测试结果数据提取操作成功后,将测试结果数据配合其对应的标记在配置文件中调取对应的功能模块名称和与其相对应的https请求时的url后一并存储测试结果文件;当测试结果数据提取操作失败时,在所述测试结果文件内写入对应的错误信息(一般为所述测试结果异常处理机制中预设的错误代码),并继续执行其余测试结果的提取,直到测试项目全部完成或者直到设定的测试周期截止,维护人员参考所述错误信息后选取其他数据监控工具配合测试过程,一遍完成完整的测试过程。所述测试结果文件包含的数据字段有:功能模块名称、测试项目1、…、测试项目n,n为非零自然数;例如,所述测试项目1为https请求指向网络链接地址;所述测试项目2为所述https请求调用的方法对应的路径;所述测试项目3为上行流量消耗;所述测试项目4为下行流量消耗;所述测试项目5为应答总耗时。一个实施例中,将所述数据监控工具命名为datamonitor,用于根据所述配置文件中的标记对所述缓存文件进行监控;将datamonitor方法监控文件后抓取到的数据通过writeexcel方法写入测试结果文件。步骤s401:读取所述测试结果文件,并利用数据分析工具对所述测试结果文件中的数据按照预先设定的规则进行分析,获取分析结果,所述数据分析工具是具有数据分析和图表数据输出功能的工具;所述分析规则包括:规则一:选定一功能模块为统计对象来统计其所占用的资源,包括数据流量消耗的总和和应答总耗时;规则二:选定一数据请求的调用方法为统计对象来统计所述请求所消耗的总的数据流量和总的应答耗时。一个实施例中,将所述分析工具命名为resultal,读取所述测试结果文件,利用resultal对所述测试结果文件中的数据按照所述规则一和所述规则二进行分析,获取分析结果。步骤s402:根据分析结果,按照预设的输出形式输出结果分析文件;所述结果分析文件的输出形式包括:文字报告、图表报告或者图文报告;所述文字报告,即仅以文字描述分析结果的文本文件,其优点是简单明了,打开方式对工具的依赖度低,数据呈现直观,缺点是当测试模块数据较多,且需要互相比对是,其可读性较弱;所述图表报告,即包含文字描述内容和图表内容的电子表格文件,其结合文字报告和图表报告的综合优势,既能够对各个测试项目一目了然,又能够综合比对结果,迅速定位到资源消耗的问题所在;图表方式包括饼图、折线图、柱形图、条形图、面积图、散点图中的任一种或者至少两种的组合为呈现方式;所述图文报告,即包含文字描述内容和图表内容的电子表格文件,其结合文字报告和图表报告的综合优势,既能够对各个测试项目的数据一目了然,又能够综合对比结果,迅速定位资源消耗的问题所在。一个实施例中,将所述输出形式命名为resultoutput,根据分析结果,按照文字报告的输出形式输出结果分析文件,所述输出结果分析文件如表2所示;表2根据表2中展示的文字报告,可迅速定位到响应耗时最多且流量消耗最严重的的是bx模块,其调用方法的路径为toa-mgw/rest/gateway/insurance.do,根据获取的信息,即可对所述功能模块进行针对性的改性,从而最终改善app的用户体验。基于相同的技术构思,本发明还提供了一种app流量监控系统,如图3所示,所述app流量监控系统包括标记单元、测试单元、监控单元和分析单元;所述标记单元,用于将待检测app的所有功能模块进行逐一标记后制备生成配置文件,所述配置文件用于存储所述待检测app所包含的每一功能模块名称以及功能模块名称对应的标记,按照功能模块名称对应标记的规则,实现功能模块名称与其对应的标记形成一一对应的关系;所述测试单元,用于利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中,所述测试工具是具有遍历检测功能的自动化测试工具;所述监控单元,用于利用监控工具对缓存文件进行实时监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中,所述监控工具是具有实时监控和提取测试结果的工具;所述分析单元,用于读取所述测试结果文件,利用数据分析工具对所述测试结果文件中的数据按照预先设定的分析规则进行分析,并按照预设的输出形式输出至结果分析文件中,所述数据分析工具是具有数据分析和图表数据输出功能的工具。基于相同的技术构思,本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得处理器执行app流量监控方法的步骤,所述app流量监控方法的具体步骤包括:通过自动或者手动方式,将待检测app的所有功能模块进行逐一标记后制备生成配置文件;所述配置文件用于存储所述待检测app所包含的每一功能模块名称以及功能模块名称对应的标记,按照功能模块名称对应标记的规则,实现功能模块名称与其对应的标记形成一一关系;利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中;其中,所述测试工具是具有遍历检测功能的自动化测试工具;实时监控缓存文件并获取测试结果文件:利用监控工具对缓存文件进行实时监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中;所述监控工具是具有实时监控和提取测试结果的工具;分析测试结果文件并输出结果分析文件:读取所述测试结果文件,利用数据分析工具对其中的数据按照预先设定的规则进行分析,并按照预设的输出形式输出至结果分析文件中;所述数据分析工具是具有数据分析和图表数据输出功能的工具。基于相同的技术构思,本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行app流量监控方法的步骤,所述app流量监控方法的具体步骤包括:通过自动或者手动方式,将待检测app的所有功能模块进行逐一标记后制备生成配置文件;所述配置文件用于存储所述待检测app所包含的每一功能模块名称以及功能模块名称对应的标记,按照功能模块名称对应标记的规则,实现功能模块名称与其对应的标记形成一一关系;利用测试工具对所述待检测app按照所述配置文件中的功能模块名称逐项检测,获取测试结果并将其存储至缓存文件中;其中,所述测试工具是具有遍历检测功能的自动化测试工具;实时监控缓存文件并获取测试结果文件:利用监控工具对缓存文件进行实时监控,并将已写入所述缓存文件中的测试结果提取后转存至测试结果文件中;所述监控工具是具有实时监控和提取测试结果的工具;分析测试结果文件并输出结果分析文件:读取所述测试结果文件,利用数据分析工具对其中的数据按照预先设定的规则进行分析,并按照预设的输出形式输出至结果分析文件中;所述数据分析工具是具有数据分析和图表数据输出功能的工具。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1