微信号:grzlwx

介绍:光荣之路官方资讯

AutoMonkey框架原理与应用(四)

2018-01-29 22:00 马华平

新书

速递


吴老的java版《selenium webdriver 实战宝典》和python版《selenium Webdriver 3.0 自动化测试框架实战指南》出版了,代码拿来就能用。

  文 | 马华平


三、Monkey测试的日志分析

完成Monkey测试之后,如何开展Monkey测试中日志分析和内存泄露分析?

1. 一般的场景是这样的:

1)启动Monkey之前,打开APP,使用Andorid device monitor dump 一个内存“快照”(hprof 文件)出来;

2)根据测试策略,运行monkey测试;

3)再次使用Andorid device monitor dump 一个hprof 文件出来;

4)使用MAT(Memory Analyze Tool)打开两个hprof文件,比较两个的内存占用情况,如果后一个内存占用更多,区分PSS 及 USS的内存占用情况,如果持续增长,肯定是有泄露的。或封装autoMonkey记录内存情况,结束时自动生成曲线图;如图5所示:

图5 内存趋势详情

5)针对hprof文件,看下到底是哪些对象更多,占用的内存更大。

2. Monkey日志分析

--------------------打赏⬇小编------------------ --------------------打赏⬆小编------------------

Monkey日志分析是Monkey测试中非常重要的一个环节。通过日志分析,可以获取APP在测试过程中是否发生异常,以及发生的频率。同时,还可以获取对应的错误信息,帮助开发定位和解决问题。Monkey运行时输出的日志(monkey_test.txt文件)一般包括四类信息,如图6所示:

图6 Monkey运行log输出顺序

1)测试命令信息

Monkey启动后会输出当前执行命令的各种参数信息,其中包括随机种子(Seed)信息、事件数量、可运行的应用列表以及各事件百分比等。这些信息由Monkey命令参数指定。Monkey日志中测试命令信息如下:

// 随机种子值和执行事件数量

:Monkey: seed=4007 count=92665

// 可运行的应用列表

:AllowPackage: com.xxx.xxx

:IncludeCategory: android.intent.category.LAUNCHER

:IncludeCategory: android.intent.category.MONKEY

// Selecting main activities from category android.intent.category.LAUNCHER

......

//   - NOT USING main activity com.jrdcom.care.launcher.CareLauncher (from package com.jrdcom.care.launcher)

// Seeded: 4007

// 各事件百分比

// Event percentages:

//   0: 40.0%

//   1: 25.0%

//   2: 0.1724138%

//   3: 1.2931035%

//   4: 10.0%

//   5: 2.1551723%

//   6: 10.0%

//   7: 0.1724138%

//   8: 10.0%

//   9: 0.0862069%

//   10: 1.1206896%

(待续)

上期精彩:

AutoMonkey框架原理与应用(一)--APP测试前瞻

AutoMonkey框架原理与应用(二)--Monkey基础知识与测试场景

AutoMonkey框架原理与应用(三)--Monkey测试策略

免费送书:

python版《Selenium WebDriver 3.0 自动化测试框架实战指南》

《疯狂前端开发讲义-jQuery+AngularJS+Bootstrap前端开发实战》

喜马拉雅app搜索并收听“光荣之路”电台

光荣之路
招聘|征稿|合作 |QQ群
735821166@qq.com
python群:457561756
性能群:415987441
招聘群:203715128
 
光荣之路 更多文章 AutoMonkey框架原理与应用(三) 技术还是管理? 招聘速递·大数据测试·华为研究所·西安 免费送书 | 《疯狂前端开发讲义-jQuery+AngularJS+Bootstrap前端开发实战》 AutoMonkey框架原理与应用(二)
猜您喜欢 游戏必将改变世界 涨姿势 | 如何正确认识互联网运维工作? PyTips 0x12-Python 线程与协程(1) [杂谈] 谈谈读书(续) 通知 | R社区资源库下载调整