活动介绍
TMQ第四十二期在线沙龙分享活动圆满结束啦!
本次分享的主题:Android App质量监控及工具应用实战
共有238位测试小伙伴报名参加活动。
想知道活动分享了啥吗?
请往下看吧!
嘉宾
马国俊:腾讯高级系统测试工程师。目前主要负责大数据质量保障体系建设,从事大数据算法评估评测、EP工具链开发和web平台建设等,全栈工程师。
分享主题
1、安卓UI监控能力分享
2、爬虫能力分享
3、性能监控分享
问答环节
1、从哪些维度分析获取到的CPU监控数据,可能有哪些问题?
答:因为是按时间序列收集的CPU监控数据,所以结果可以呈现出曲线的表现形式,每个监控数据为曲线上一个点。
根据曲线走向,可以找到一个平稳区间,就是所谓的正常运行期间的CPU均值了。另外,比如应用突然有资源消耗性操作(比如下载,下IO等)会对应曲线的陡升。
2、监控CPU的间隔设置为5秒,有些问题可能就出现在1-2秒时间内,会不会遗漏这种时间点上的问题?
答:非常好的问题,诸如分享提到,CPU其实是个过程态,所以您提到的问题,是可能存在的,比如一个极短时间的高CPU消耗操作,带来的CPU利用陡升,体现在jiffies的大量消耗,不过,时间段内的jiffies也会比平常有提升,只不过平均下来会降低一些。
总体的监控间隔设置,还是结合业务来看。
3、如果报告分析发现CPU与内存比较高,怎么分析,用什么工具分析,怎么定位原因?
答:我用python的一个科学机器包numpy分析的,并结合matplot绘制成曲线。
一般CPU陡升都是有大的消耗CPU操作,比如频繁的下IO操作,网络发包,以及代码中的大计算量的操作等。
内存陡升主要是看是否有消耗内存的操作,比如下载过程,合成过程等。
4、爬虫下载到的安装包是自动推送到手机安装的吗?如何做的?
答:例行化爬虫最热门的安装包,然后存储到本地,接着触发整个监控流程。
即依次取安装包->推送安装手机->UI模拟操作与页面元素监控->cpu和内存各起一个线程跑起来->结果存储到手机SDCARD->推送到PC本地->重复n轮->去脏数据->结果分析与入sql库->web可视化展示。
整个流程用python脚本控制串联起来实现自动化。
5、增量更新是什么意思?
答:所谓增量更新是指app可以通过增量apk的方式进行更新,而不用每次都下载应用全量apk包,该技术可以大大提升app升级效率,提升用户体验。
6、CPU、内存数据通过linux文件获取和从java类中获取有区别么?
答:本质是一样的,请参见分享中的原理讲解和实践。
7、有不需要root权限的方式获取cpu、内存数据么?
答:有,dumpsys meminfo以及top,不过按照经验,没有分享提到的方法精度高,本质相当文件方法的抽象封装。
祝各位大朋友们节日快乐 &( ^___^ )&
沙龙视频
手机扫码下载PPT