请介绍一下如何进行APP专项测试?

2021-04-02 01:57:02 浏览数 (1)

VOL 225

29

2021-03

今天距2022年277天

这是ITester软件测试小栈第225次推文

在现代生活中,大家都离不开手机,各大APP也占领较大的市场份额,所以面试过程中,面试官也会经常问到APP测试,以下主要分享如何进行APP专项测试。

专项测试主要包含:稳定性测试、内存测试、CPU测试、耗电量测试、流量测试、弱网测试等。

一、稳定性测试

稳定性指APP在手机上长时间运行,功能是否稳定,一般稳定性测试时间是 N*12小时。在工作中一般采用Monkey进行随机测试,检测APP的健壮性。

测试方法如下:

① 跑monkey命令。

代码语言:javascript复制
adb shell monkey -p packageName -v -v -v --throttle 500 -s 4 --ignore-crashes --ignore-timeouts --ignore-security-exceptions times |logcat -v time > e:logmonkeyLog.txt

命令说明:

-p :指点包名,如果要指定多个包名,需多个-p参数;

-v :指定日志的详细程度,取值1-3,三个 -v 详细程度最高;

--throttle :指定用户操作时的时延,单位毫秒;

-s :指定伪随机数生成器的seed值,取值1-10,当seed相同,产生的事件序列也相同;

--ignore-crashes :指应用程序崩溃,monkey依然发送事件,直到事件数完成;

--ignore-timeouts:指应用程序发生ANR,monkey依然发送事件,直到事件数完成;

--ignore-security-exceptions:指应用程序发生许可错误,monkey依然发送事件,直到事件数完成;

times: 执行次数;

|logcat -v time:给monkey命令的日志加上时间;

e:logmonkeyLog.txt:指定日志保存位置。

②日志分析

1)打开日志文件,比如Notepad 。

2)搜索日志:

  • 程序无响应,ANR问题:在日志中搜索"ANR";
  • 崩溃问题:在日志中搜索"CRASH";
  • 其他问题:在日志中搜索"Exception"。

二、内存测试

① adb shell cat /proc/meminfo #查看设备内存使用情况。

② adb shell dumpsys meminfo package_name 查看某个应用内存使用信息。

我们需要分析的是:Native/Dalvik 的 Heap和Total 的 Pss。其中,Native/Dalvik 的 Heap一直增长说明存在内存泄漏了。Total是应用占据的所有内存大小,过大会导致应用被强制杀死。此外Heap Free占用过大,波动大,说明对象被频繁的GC,需要定位一下是哪些对象在被频繁的GC。

③ 一般先记录内存占用情况,然后运行APP,再记录内存占用,对比2次发生的变化。

三、CPU测试

Android 性能指标 CPU 主要关注两点:

  • CPU 总体使用率;
  • 应用程序 CPU 占用率。

指标获取方式:

①使用外部第三方工具来辅助测试,比如腾讯 GT,网易 Emagee 等。

②adb命令,推荐使用。

具体看某一应用占用情况。

代码语言:javascript复制
adb shell "top -n 1|grep package_name" 

以腾讯新闻为例。

四、耗电量测试

所谓的电量测试,就是测试移动设备电量消耗快慢的一种测试方法。Android的很多特性都比较耗电(如屏幕、GPS、sensor传感器、唤醒机制、CPU、连网等的使用),我们必须要慎重检查APP的电量使用,以免导致用户手机耗电发热,带来不良体验。

测试方式:

①使用第三方辅助工具,比如GT。

②使用adb命令:

  1. 重置电池手机数据:adb shell dumpsys batterystats --reset;
  2. 操作应用。
  3. 将采集数据保存到文件:adb shell dumpsys batterystats > batterystats.txt。

五、流量测试

应用的耗流也是用户的一个重要关注点,一是节省用户的使用成本,二是流量优化能带来响应速度的优化,三是能清楚的知道每个场景需消耗的流量,确认是否有能优化的空间。

测试方法:

①使用测试工具 Emmagee或者GT。

②adb命令:

1)获取app pid。

2) 初次的应用流量。

3)操作业务后,再次检测流量,两次结果相差值为对应业务的流量值。

六、弱网测试

目前移动端产品的使用用户所处的网络并非完全流畅的网络环境,因移动端产品使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。毕竟考虑到各种场景的客户端展示及容错,能极大提升产品印象和用户体验。

弱网测试主要进行特殊网络状态下的功能测试并同时关注用户体验,主要包括:弱网功能测试、无网状态测试、网络切换测试、用户体验。

我们可以用fiddler,charles 可以模拟弱网。fiddler模拟弱网之前公众号有写过,这里直接放上文章链接:Fiddler及浏览器开发者工具进行弱网测试。

最后补充常见的不同网络环境下的速度,如下表所示:

0 人点赞