APP软件测试是确保移动应用质量的关键环节,需覆盖功能、性能、兼容性、安全等多个维度,以下是面试时候常见的APP测试问题,希望对大家有所帮助!
对于内存其实主要看有没有内存泄漏的问题,具体我们是这样做的:
首先我会频繁操作同一个业务,看他的内存和cpu 是否逐步增长,最后稳定在一个固定大小的范围,如果在频繁操作同一个业务,内存一直在增长,可能存在有内存泄漏问题,尝试手动GC(手动回收内存,因为内存泄漏,系统已经回收不了,所以尝试下手动回收内存),内存明显或者断崖式的下降,基本就可以判断有内存泄漏的现象,再通过damp java 这个去分析,分析结果如果出现leaked , 就说明有了,里面可以找到是哪个对象,截图提bug,
2.使用app 过程中,内存一直在增长,那基本可以判断有内存泄漏的情况,还有看是否有内存抖动的现象:这里主要原因还是有因为大量小的对象频繁创建,频繁的回收内存,会导致cpu 频繁使用,造成cpu 使用过大,造成app 卡顿,导致内存碎片,内存泄漏等问题
cpu 主要就是看有没有过高,有没有超过我们的指标范围,具体是这样做的:
首先频繁使用某一个业务,cpu 是否逐步增长,最后稳定在一个固定大小的范围,对于一些基础业务,对Cpu 要求不高的业务,Cpu 不能超过10%,对于Cpu 要求比较高的,比如某个业务需要加载地图,大量的图片,视频等的业务,或者需要做大量的数据统计分析的业务,我们要求cpu 不能超过20%
1) 首先看在没有操作功能业务的情况下,没操作流量不应该有,或者是流量使用不是很大,就几KB,因为app 肯能实时刷新消,比如如果一个登陆,你就使用1M 的流量,查询个图片使用3-4M 的流量图片,这个肯定流量使用过大。
2)频繁操作同一个业务,流量一直在刷,说明没有使用缓存
图片过大处理方法:图片压缩传输,要么降低图片分辨率
对于Fps 帧率的问题,我们当时用的adb 命令来测的
知识点拓展:Android 设备的屏幕刷新率为60 帧/s,要保持画面流畅不卡顿,要求每一帧的时间不超过1000/60=16.6ms,这就是16ms 的黄金准则,
1) 打开手机: 开发者选项— >profile GPU rendering — > in adb shell dumpsys
gfxinfo(开启GPU 渲染模式)
2)操作要测试的apk
3)cmd 窗口输入命令: adb shell dumpsys gfxinfo 包名
4)得到一个矩阵数据,计算矩阵中帧率大于16 的点所占比例,即为卡顿比
5)通过execl 进行表格处理可以直观的查看软件的流畅度
交互性这块,主要从以下几个方面去考虑测试的是:
1)看我们软件与其他应用软件的同时运行,来回切换是否有问题
2)看软件切换到后台一段时间,再切换到前台,或者前后台来回切换,
软件是否会有异常,比如:进程被杀死,或者切换到前端页面出现问题,或者页面数据丢失等等。
3)看软件被在使用过程中被其他应用中断,或者其他意外情况中断
比如: 来电,来短信,闹铃,低电量测试等,还要注意手机端硬件上,如:待机,锁屏,插拔数据线,耳机等操作不会影响客户端。
APP测试需结合自动化与人工测试,覆盖功能、性能、安全等多维度。通过系统化流程与工具支持,可有效提升应用质量,减少线上问题。
关键原则:以用户需求为核心,持续迭代优化,确保APP在复杂环境下稳定可靠运行。