1.搞清楚什么是APP测试?
检测APP(手机应用程序)在各种测试方法下是否会出现BUG的一个过程。
2.APP测试方法有哪些?
如下:
3.APP测试搭建环境的步骤有哪些?
1. 配置Java环境(Android是JAVA语言开发的,而JDK又是JAVA的核心,包括JAVA运行环境,JAVA工具,JAVA的基础库)的话就将下面JDK的软件包安装且配置环境变量
安装以后存在我的C盘,如下图:
然后由于我是wind10系统,我在设置里面找到环境变量配置
开始配置环境变量:在系统变量里面配置JAVA_HOME值为C:\Program Files\Java\jdk1.8.0_121
和Path里面添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;和CLASSPATH值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 务必注意CLASSPATH里面的.不要漏掉了(我已经踩过这个坑了)。这些配置如下图:
检查上述操作正确 在cmd里面 java -version,如有下图证明配置成功:
2.Android SDK (android专属的软件开发包),先下载包且配置环境变量:
安装包如下:
配置环境变量:在系统变量里面配置ANDROID_HOME的值为D:\Program Files\adt-bundle-windows-x86_64\adt-bundle-windows-x86_64-20140702\sdk 和Path里面追加值%ANDROID_HOME%\platform-tools和%ANDROID_HOME%\tools,图片如下:
如果上述问题配置成功,打开cmd 输入adb,如下图就是配置成功。
3.测试手机准备:测试机一般都在公司,自己电脑想玩APP,也能随时实现直接下个雷电模拟器(超好用~),然后配置一下开发者模式如下:先打开模拟器的设置页面,找到关于平板电脑,进入以后点击五次版本号,回退到设置页面出现开发者选项,进入以后找到USB调试,点击确定即可,最好重登一下模拟器。
验证上述是否成功,CMD里面输入adb devices,如下就可以使用了:
4.功能测试,兼容测试博主就暂时不讲,因为都涉及到公司业务,那下面讲一下adb shell monkey的随机测试。
既然要讲monkey就要明白实现原理:PC端输入adb shell monkey命令,然后转换成monkey shell脚本,脚本找到安卓里面的monkey.jar包,然后发起安卓进程,在模拟器里面执行。
输入adb shell monkey看下里面可以加哪些内容:
博主归纳出一些常用的如下:
mokey:
必填:count :次数
选填:
-p com.tencent.mobileqq 指定APP(QQ)
--throttle 1000 等待1秒,单位是s
-s 1234 seed的值是1234(想要两次随机事件保持一致,seed值保持一致即可)
--ignore-crashes 忽略闪退,事务继续
--ignore-timeouts 忽略超时,事务继续
--ignore-security-exceptions 忽略异常,事务继续
-v-v-v 3个v代表日志的详细程度最细。
>>D:\log\first1234.logs 将日志写入D盘的log里面。
配合事件:
--pct-touch 触摸事件
--pct -motion 滑动事件
--pct -pinchzoom 缩放事件
--pct-pintrackball 轨迹球事件
--pct-nav基本导航事件
--pct-majornav 主要导航事件
--pct-syskeys 系统按键事件
--pct-appswitch 应用启动事件
--pct-filp 键盘翻转事件
--pct -anyevent 其他事件
然后我们的模拟器上面有哪些可以随机测试的APP呢,cmd里面输入:adb shell pm list packages。
找到我们要测试的包 例如:com.tencent.mobileqq。开始测试:adb shell monkey -p com.tencent.mobileqq --throttle 1000 -s 1001 -v-v-v --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-touch 20 200 (意思为把腾讯qq这个APP,每间隔1S中去执行一下触摸事件是40次,其他事件是按照占比,总共事务数为200次,然后忽略闪退,忽略超时,忽略异常信息,不会中断继续执行事务) 日志明细如下:
若写入日志中命令为:adb shell monkey -p com.tencent.mobileqq --throttle 1000 -s 1001 -v-v-v --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-touch 20 200 >>D:\log\seed1001.log(把上述内容写到磁盘D盘的log文件夹下面的seed1001.log里面去)
然后用关键字:闪退carsh,超时anr,异常switch,exception等去搜索定位BUG。
5.GT监控性能指标:
先把如下的安装包拖到雷电模拟器上面
点击打开GT工具在AUT页签点击请选择被调试应用,选择QQ如下:
点击参数页签:把要关注的指标拖到已关注参数里面,点击完成
勾选参数,点击录制,录制完成关闭录制按钮,然后保存文件,提示数据已保存手机:
然后把模拟器里面的日志下载到硬盘D盘里面去。adb pull /sdcard/GT/GW/com.tencent.mobileqq/8.6.0/002, D:\log\logs 保存成功如下:
PS:安卓里面日志路径保存文件写错了,导致无法使用上面命令,所以可以分步骤去看:
先adb root,确认是root权限,然后adb shell,进入root,然后enter下,在ls找到文件sdcard,然后逐步找到日志路径,最后是/sdcard/GT/GW/com.tencent.mobileqq/8.6.0/001.运用下载语法 :adb pull 手机端日志路径 电脑端日志路径 即可。