SoloPi 是一款专为 Android 平台设计的非侵入式、无线化自动化测试工具,集成了录制回放、性能监控等多种功能。其主要特性包括:
注意事项:
——可独立安装的 SoloPi(APK,IOS无该版本),像普通APP一样安装。
——SoloPi使用时,需要申请悬浮窗权限,adb权限,读写权限
性能测试关注点:
——APP使用时对CPU、内存的占用情况;
——APP使用时是否流畅等
——APP使用时,电量流量的消耗情况;
——APP的启动时间是否过长;
——APP是否能长时间稳定运行
应用程序运行时需将代码与数据载入内存中,若系统内存不足,则可能导致程序无法启动或运行异常。
测试需求:打开TP商城单商户APP,进入首页并点击“我要拼团”,上下滑动动态内容持续2分钟,期间监测内存表现是否正常。
测试步骤:
CPU性能监控主要包括两个维度:
在Linux系统中,CPU时间分为三类:
CPU使用率计算公式为:
CPU 使用率 = (CPU 非空闲进程执行时间) / (CPU 总执行时间)
ANR:xxxxx错误原因
测试需求:进入TP商城单商户APP,访问“首页-我要拼团”页面,连续滑动2分钟,评估CPU使用是否合理。
测试方法:
网络流量:用于衡量APP每秒上传与下载的数据包大小,系统可自动统计上下行流量,便于识别高耗流场景。
常用的流量测试方法:统计测试法。
——利用工具获取应用程序收发的数据报文,统计出对应的流量
针对页面加载缓慢的问题,常见的优化手段包括:
测试需求:进入TP商城单商户APP,“首页-我要拼团”页面,上下滑动2分钟,统计期间产生的网络流量。
测试步骤:
移动设备的续航能力直接影响用户体验,尤其在长时间运行或后台服务频繁唤醒的情况下,电量消耗成为重要关注点。
通常借助专业仪器或系统级工具结合电流采样技术来精确测量APP在不同场景下的功耗表现,也可通过电池历史记录估算相对耗电程度。
设定典型使用场景(如视频播放、定位追踪、消息推送等),利用SoloPi或其他工具配合真机进行长时间运行测试,记录单位时间内的电量下降幅度,对比不同版本或功能模块的能耗差异。
启动速度是衡量APP用户体验的重要指标之一,分为冷启动、温启动和热启动三种模式,其中冷启动耗时最长,也是优化重点。
通过工具记录从点击图标到主界面完全渲染完成的时间节点,多次测量取平均值,确保数据准确性;可结合方法追踪定位耗时瓶颈。
主要通过帧率(FPS)和掉帧情况来衡量,理想状态下应维持在50~60 FPS之间,避免卡顿、跳帧等影响视觉体验的现象。
在典型交互场景下(如列表滚动、动画播放)使用SoloPi监控FPS变化,识别是否存在严重抖动或持续低帧问题,辅助开发调优渲染逻辑。
稳定性反映APP在长时间运行或多任务切换下的可靠程度,主要考察是否频繁出现崩溃、ANR、卡死等问题。
Monkey 是 Android SDK 提供的一个命令行工具,通过向系统发送伪随机事件流(如触摸、手势、按键等)来测试APP的健壮性和容错能力。
基本语法格式为:adb shell monkey [选项] 事件数量,例如发送1000次随机事件可执行:
adb shell monkey -p 包名 --throttle 500 1000
支持多种参数配置以定制测试行为,例如:
-p:限定测试包名。--throttle:设置事件间隔时间(毫秒),模拟真实操作节奏。--ignore-crashes:即使发生崩溃也继续执行。--monitor-native-crashes:监控原生层崩溃。-v:增加输出日志详细程度。性能测试旨在评估软件系统在不同负载条件下的响应速度、资源消耗、稳定性和可扩展性,发现潜在瓶颈,保障上线后的用户体验。
主要包括以下几类:
通过ADB命令抓取Logcat日志,过滤关键信息(如E/AndroidRuntime、ANR in等),结合时间戳定位异常发生时刻及相关堆栈信息,辅助问题排查与修复。
相较于PC设备,移动终端的电池容量有限,因此在APP性能测试中,电量消耗情况是一项关键指标。
电量测试:指评估移动设备在运行应用过程中电能消耗速度的一种方法。通常以平均电流作为衡量标准——由于电池厂商普遍使用mAh(毫安时)来标识电池容量,平均电流越低,意味着设备可持续使用的时间更长。
常见的高耗电场景包括:
提示:在模拟器中无法统计电脑流量使用情况,看进程使用流量即可
目前常用的电量监测手段主要有以下三种:
系统内置接口检测
最新版本的iOS和Android系统均支持在“设置”中查看各应用的电池使用情况。但该方式无法精确统计某一特定时间段内的实际电量消耗,仅提供大致参考。
硬件级检测
借助专业硬件设备(如PowerMonitor)可实现对应用功耗的精准测量。然而,此类方法需拆解设备并接入测试仪器,成本较高且操作复杂,适用于实验室环境。
第三方软件工具检测
利用AccuBattery、360省电王、SoloPi等第三方应用获取电量数据。此方案便捷易行,但结果准确性依赖于软件自身的算法模型。
SoloPi工具提供了电量的监控指标:电池。
针对不同业务场景采集到的电量消耗数据,需通过对比分析判断是否存在异常。常用比对策略如下:
测试需求:启动TP商城单商户APP,进入首页后点击“我要拼团”,上下滑动动态内容持续2分钟(下滑1分钟,上滑1分钟),记录期间的电量消耗。
测试步骤:
提示:模拟器没有电池,无法获取电量数据
APP启动速度测试旨在评估从点击图标到主界面完全展示所需的时间。若等待时间过长,将严重影响用户体验。
SoloPi指标:启动耗时计算
APP启动类型分为两类:
常用命令格式如下:
adb shell am start -W 包名/启动Activity名称
以TP商城单商户为例,其包名与启动Activity为:com.tpshop.malls/com.tpshop.malls.SplashActivity
该命令返回三个核心指标:
获取当前应用包名与Activity的方法:
adb shell dumpsys window windows | grep usedAPP
注意事项:
指动画播放、页面切换或滚动过程中的视觉连贯性表现。
核心监控指标为FPS(Frames Per Second),即每秒GPU渲染并输出的帧数,可理解为每秒钟呈现给用户的画面数量。
注意事项
——当页面多为静态时,FPS值很小是正常的
——页面数据多为动态加载时,FPS值比较大(建议在24帧以上)
测试需求:打开TP商城单商户APP,进入首页后选择“我要拼团”,上下滑动动态内容共2分钟(先下滑1分钟,再上滑1分钟),记录FPS变化情况。
测试步骤:
稳定性测试:通过对应用程序进行长时间、随机性的操作,检验其是否会出现崩溃(Crash)、无响应(ANR)等问题。
Monkey是Android官方提供的命令行自动化测试工具,能够模拟用户的真实操作行为,包括:
通过向应用发送大量随机事件流,检测其在极端使用场景下的稳定性和容错能力。
三、稳定性测试
对本章2.7稳定性的详细补充。
1、什么是Monkey?
顾名思义,“Monkey”即猴子。Monkey测试就如同一只猴子坐在电脑前随机敲击键盘,对设备进行毫无规律的操作,以此模拟极端情况下的用户行为。
2、Monkey的作用
通过运行Monkey程序,可以模拟用户常见的操作行为,例如触摸屏幕、滑动轨迹球、点击按键等,从而对安卓设备上的应用程序进行压力测试,检测其在长时间或高强度操作下多久会出现异常或崩溃。
3、Monkey异常情况分析
当Monkey测试过程中出现错误时,通常需要结合日志进行排查,主要的分析方式如下:
- 程序无响应(ANR):可在日志中搜索关键词 “ANR”
- 应用崩溃:查找日志中的 “NullPointerException” 或其他异常信息
4、Monkey运行环境
Monkey是Android系统内置的一个测试工具,由Java语言编写而成,其核心文件monkey.jar位于Android系统的以下路径中:
/system/framework/monkey.jar

常用命令格式如下:
adb shell monkey -p 包名 -v 模拟次数 > 路径/log.txt
参数说明:
-p:用于指定目标应用的包名
-v:设置日志输出的详细程度,最多支持三个-v(即 -v -v -v),级别越高,日志越详尽
次数:表示要执行的随机事件总数
>:将日志输出重定向并保存至指定文件
示例命令:
C:\Users\ggk>adb shell monkey -p com.android.browser -v 5000 >C:\Users\ggk\Desktop\log01.txt

进阶命令示例:
adb shell monkey -p com.android.browser --pct-touch 70 --pct-motion 30 -v 5000 > C:\Users\ggk\Desktop\log03.txt
参数解释:
-s:设定随机种子值,若种子相同,则每次生成的操作序列也完全一致,便于复现问题
-v:控制日志输出级别,单个-v为普通详细度
--pct-touch:调整触屏操作所占百分比
--pct-motion:设置滑动类事件的比例,可用于控制不同操作类型的分布区域和频率

功能测试关注的是软件功能是否按预期实现,通常基于单用户场景;而性能测试则侧重于模拟多用户并发使用的情况,评估服务器在高负载下的响应能力与处理效率。
专项性能测试:
由于APP作为安装在移动设备上的软件,会直接占用手机的硬件资源,因此需对其资源消耗情况进行监控,包括CPU占用率、内存使用、运行流畅度、网络流量以及电量消耗等指标。
稳定性测试:
任何软件都可能存在崩溃、闪退等问题。针对APP的稳定性,常采用Monkey工具进行长时间随机操作的压力测试,以发现潜在的稳定性缺陷。
服务器性能测试:
评估当有大量用户(如100人)同时使用APP时,后端服务器对接口请求的处理能力,确保服务稳定可靠。
为何测试人员需要掌握Linux?
大多数服务器运行在Linux系统上,且关键日志文件通常存储于该环境中,因此熟悉Linux操作是进行日志分析的基础。
原因:未来被测项目部署在Linux中。
1、搭建测试环境。
2、查看日志辅助测试。
需要查看哪些日志文件?
日志类型(定位或排查错误):
1、Linux操作系统日志(安装项目报错、自动重启等原因)
2、应用服务器日志(Apache、Nginx等,①首先看错误原因,看不出错误原因事看②)
3、项目代码日志(②问开发)
4、数据库日志(③数据库日志)
常用日志查看命令:
tail -f xxx.log | grep "关键字" > ~/error.log

应关注的关键字包括:
error
500
Exception(异常)
ANR(Application Not Responding)
Null(空指针)
leak(内存泄漏)
out of(内存溢出)
发现相关记录后应如何处理?
1、能分析则自己分析定位问题;
2、日志截图发给开发;

扫码加好友,拉您进群



收藏
