移动端测试命令
一、出现错误提示
crash,即崩溃,anr是crash的一种。在程序中可能会出现你未捕获到的异常,这就造成了崩溃。
常见错误类型:
空指针:nullpointException
数组越界:ArrayIndexoutof boundsException
多次启动线程:illegalThreadstateException
数字格式化问题 :java.lang.NumberFormatException
内存溢出:java.lang.OutOfMemoryError 缩写OOM
二、常用操作命令
1、adb shell pm list packages # 显示设备里面所有应用的包名
2、adb shell service list # 显示当前运行的系统服务
3、adb shell dumpsys activity top # 显示当前最前端的 Activity
4、adb shell cat /proc/cpuinfo # 显示设备的CPU信息
5、adb shell cat /proc/meminfo # 显示设备的内存使用情况
6、adb shell wm size # 查看屏幕分辨率
7、adb pull /index.txt d:/ 从d盘获取文件
adb push d:/index.txt / 从本地把一个文件获取到另外一个地方
三、稳定性测试
在保证基本功能正确基础之上,App的稳定性就显得非常重要,如果一个App经常出现闪退或者卡死,
那么用户体验就会受到很大伤害,在有其他竞争产品的情况下很容易造成用户的流失。
稳定性测试的概念有2种,
一, 稳定性测试,对应于异常性测试,即发生异常情况时,系统如何反应的测试。包含:
1 交互性测试,被打扰的情况,如来电,短信,低电量等。这些其实在上章的功能测试中有提到。
2 异常性测试,断网,断电,服务器异常等情况
二,稳定性测试指的是性能测试,压力测试
1 基准性能测试,通过压服务器端口及客户端在不同网络环境下响应速度
2 大数据测试,在特定环境下,客户端一次性更新大量数据及人员列表
性能测试
普遍的apk性能测试,主要是以下七类
1、响应
2、内存
3、cpu
4、FPS (app使用的流畅度)
5、GPU过度渲染
6、耗电
7、耗流
monkey测试稳定性
(10个随机试验)adb shell monkey -v 10 (数字可以更换)
adb shell ps | findstr monkey查询到monkey id
adb shell kill pid杀死进程
四、怎么获取APP的相关信息?
1.adb shell ps | findstr 包名
2.获取内存信息:adb shell dumpsys meminfo id名
3.获取cpu信息:adb shell top -n 1 | findstr 进程ID
4.获取电量信息:adb shell dumpsys battery
5.获取GPU信息:adb shell dumpsys gfixinfo 进程ID
6.如何获取uid:adb shell cat /proc/进程ID/status
7.获取流量信息:adb shell cat /proc/UID信息/net/dev
五、移动测试测什么?
1、功能性(基本的业务形态)
2、非功能性:H5 小程序(微信,支付宝) WEB APP
非功能性考虑的点:
1.兼容性
(1)如果是H5程序,WEB端测试移动主流的浏览器(uc、qq);手机端需要测试分为主流浏览器还有手机默认的自带浏览器,不同手机型号浏览器分辨率的测试;在微信以及支付宝等APP的小程
序的测试等。
(2)如果是小程序产品,测试嵌入不同的手机操作系统以及不同的手机型号。
(3)如果是WEB产品,测试产品在主流浏览器中样式以及页面交互的显示。
(4)如果是APP产品,测试不同的手机操作系统以及不同的手机型号。
不同的浏览器(web端:chrome谷歌、ie /edge、firefox火狐、safari; 移动端:uc 、qq、手机自带)、操作系统
2.性能测试
性能测试就是测试多人同时登录、同时使用程序时,程序的资源占用情况以及各项指标(如响应时间)的情况。防止在大量用户同时使用产品的时候产品发生崩溃、出现响应超时等情况。
3.安全性测试
安全测试就是测试被测系统某些操作是否安全,支付类程序需要格外注意,支付是否安全。
4.稳定性
稳定性测试就是持续不断地访问被测系统,看系统是否稳定。
5.易用性
主要测试用户习惯,如快捷键使用等。
六、更多移动APP的专项测试:
安装卸载,
增量更新:直接在原有的APP上进行更新,只更新需要更新的那部分代码,如现在10M,更新后15M,增量更新只需要更新需要更新的5M,是在应用商店直接点击更新。
热修复:不影响用户使用,直接给APP打“补丁”,修补APP的漏洞。
其他专项测试:cpu 内存,电量,流量
是否崩溃,闪退,卡死
1、极限测试:
在各种边界压力情况下,如电池,存储,网速等,验证app是否能正确响应
--内存满时安装app
--运行app手机断电
--运行app时断掉网络
这几点倒是与第一条的内容重复
2、响应能力测试:
测试app中的各类操作是否满足用户响应时间要求
--app安装 ,卸载的响应时间
--app各类功能性操作的影响时间
3、压力测试:
反复、长期操作下,系统资源是否占用异常
--app反复进行安装卸载,查看系统资源是否正常(弄个几次就行吧,正常人,谁反复安装卸载啊)
--其它功能反复进行操作,查看系统资源是否正常(这倒是应该的)
4、性能评估:
评估典型用户应用场景下,系统资源的使用情况
这里要定义,什么是典型用户应用场景
七、如何测试APP是否崩溃
执行步骤
1、下载monkey.zip,解压到当前文件夹(D盘)
3、将log.txt和Result.txt中的内容清除,然后打开iRainEcp.txt文件,将1位置的内容修改为要测试的APP的parking包,2的位置修改为log.txt文件的存放目录;
4、打开控制台,输入iRainEcp.txt文件中的命令,该APP的日志内容就会重定向到log.txt文件中,需要停止该命令运行的话,就先使用命令db shell ps | findstr monkey查看到进程的PID,然后通过命令adb shell kill pid就可以杀死这个进程。
5、然后在Result.txt中查看错误具体在log.txt文件的第几行,最后我们打开log.txt找到错误日志,将其截图给开发就可。
八、移动测试汇报哪些内容?
a.功能性
b.非功能性:1.兼容性→主流手机(安卓有华为,小米,vivo,oppo等,iOS)
2.性能测试
3.稳定性→monkey
4.cpu
5.memory
测试框架:APPium
https://appium.io/