一、定义
1、客户端性能测试(web、APP),测试手机端是否流畅,用户体验测试
2、判断是否需要进行APP性能测试,主要看时间成本,如果不追求用户体验,不进行性能测试也可以。一般互联网公司注重性能测试例如12306。
3、app分前端后端的:例如前端原生框架+H5;后端java+php等。压力测试主要在后端
附:*
一般提到的性能测试,是指服务端的性能测试,利用jmeter/locust等模拟并发,压测服务器系统。服务端性能测试,可以通过接口来测,但是性能测试和接口测试不同。jmeter本身是针对服务端的测试,不针对客户端。录制的本质是录制服务端的接口。企业中,大部分接口都是客户端通用的。客户端一般手写脚本信息,不采用录制方式。badboy是作为网页的录制,不作为微信小程序录制。性能测试编写测试用例时,需要用到大量的测试数据,可以通过大数据分析加爬虫技术获取
二、手机APP性能测试
APP性能测试一般分为两个阶段:
第一阶段,先通过手工测试性能,冒烟测试:使用模拟器+逍遥
第二阶段,开始自动化测试性能,便于回归:python+pycharm
三、APP性能测试指标
APP启动速度(启动时间)
CPU的占用量
电量消耗
内存占用
FPS(每秒传输帧率)直接反应APP流畅度
流量
CPU过度渲染
四、实例:APP性能测试,启动浏览器,测试启动速度
1、先进行手工测试
1、命令行启动浏览器,得出启动时间,
2、获取设备编号:adb devices
3、获取设备信息:adb logcat : findstr START 过滤启动, 打开浏览器, 找到cmp后面的内容
a)监控手机端启动日志
b)观察启动信息
附:mac和window的adb命令是一样的,过滤命令不一样。window是findstr,mac是grep
4、重新打开cmd执行【adb shell am start -w -n 刚获取的包名】 ,查看启动时间totaltime
五、冷启动和热启动
执行命令【adb shell am start -w -n 刚获取的包名】打开浏览器后,再回退重新执行命令,发现启动时间很快,第一次启动很慢。原因是,第二次为热启动
=冷启动=APP首次运行的启动时间
=热启动=APP在后台运行,调度到前台显示需要的时间
不管是冷启动还是热启动,命令是一样的,但是结束命令不一样。
六、相关的ADB命令
包名:APP的唯一标识
活动名:APP的活动界面
#adb命令小结
'''
1、获取设备编号
【adb devices】2、获取设备信息,mac和window的adb命令是一样的,过滤命令不一样。window是findstr,mac是grep
(1)、window系统
【adb logcat : findstr START】
(2)、mac系统
【adb logcat : findstr grep】4、关闭APP的命令
【adb shell am force-stop com.andriod.browser】5、按下home键
【adb shell input keyevent 3】6、启动APP,查看启动时间totaltime
【adb shell am start -w -n 刚复制的包名】
'''