前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >请介绍一下如何进行APP专项测试?

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

作者头像
ITester软件测试小栈
发布2021-04-02 01:57:02
1.3K0
发布2021-04-02 01:57:02
举报
文章被收录于专栏:全栈测试全栈测试

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:\log\monkeyLog.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:\log\monkeyLog.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及浏览器开发者工具进行弱网测试

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ITester软件测试小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档