欢迎来到天天文库
浏览记录
ID:37892714
大小:2.35 MB
页数:26页
时间:2019-06-02
《移动应用测试新技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、张文欣移动应用测试与测试数据分析移动应用性能测试的维度常见维度的采集方法测试数据分析移动应用性能测试示例启动时间如何获取这些性能数据并对其进行分析?常见性能测试的维度内存CPU流量测试人员可能会设想自己是以上用户测试启动时间的采集方法内存的采集方法Cpu的采集方法流量的采集方法移动应用性能取决于客户端及服务器端传统的测试很难全面的测试客户端与服务端之间的交互,通常会借助打印log日志以及fiddler等工具即使测出了http请求响应时间,ViewLoading的时间,依旧很难测试bitmap解析,js
2、on解析的时间。进而相应的数据分析,就变得更困难了。如何更好地采集性能测试维度数据并进行分析?移动应用性能测试低侵入的数据采集方式JavaProxyOneAPMAspectJ低侵入的数据采集方式低侵入的数据采集方式如何用类AOP的方法采集移动应用的性能数据?低侵入的数据采集方式publicclassUtils{public staticlonggetCPU(){BufferedReaderlocalBufferedReader= newBufferedReader(newInputStreamRead
3、er(newFileInputStream("/proc/" +pid+ "/stat")), 1000);Stringstr=localBufferedReader.readLine();localBufferedReader.close();arrayOfString=str.split(" ");if(arrayOfString!=null&&arrayOfString.length>=16) {l =Long.parseLong(arrayOfString[13]) +Long.parseLo
4、ng(arrayOfString[14]) +Long.parseLong(arrayOfString[15]) +Long.parseLong(arrayOfString[16]);}returnl;}}低侵入的数据采集方式publicaspectCpuAspect{pointcutgetCpuState():execution(*Activity+.*(..));before():getCpuState(){Stringmethod=thisJoinPoint.getSignature().toS
5、hortString();LongcpuState=Utils.getCpu();LOG.info(method+“t”+System.currentMilliseconds()+“t”+cpuState)}}插桩技术让测试如此容易以前大量的测试成本消耗在测试执行阶段使用新技术将测试的精力可以集中在核心的数据分析产品发布前后都可以利用相同的技术进行监控时间成本(投入的执行时间)物料成本(机器成本)技术成本(掌握特定的技术工具,httpwatch,fiddler)性能测试执行需要消耗用数据说话App
6、内函数性能损耗排行榜业务场景性能分析的两个概念行为Session:某个用户在某个时刻进入某个入口函数,唯一值Activity的onCreate函数就是一种行为session,它表示一种典型的待分析加载场景点击某个按钮后的响应也是一种行为session相对时间轴:某个session中某个行为点距离session起始点的时间距离.数字相对时间轴越长,特定的行为session就越耗时相同业务批量session的性能图利用数据发现特殊场景性能问题App性能与系统版本的关联度定位内存上涨的原因执行函数顺序与内存
7、曲线关联App关键函数执行流程分析定义业务和行为的边界标准利用插桩技术接获性能数据基于性能数据特征挖掘性能瓶颈发现与定位性能瓶颈通用方法利用数据分析定位原因
此文档下载收益归作者所有