码迷,mamicode.com
首页 > 移动开发 > 详细

前端app专项测试理论基础

时间:2018-08-31 18:03:46      阅读:382      评论:0      收藏:0      [点我收藏+]

标签:冗余   警戒线   算法   智能   系统   服务架构   效率   大内存   执行时间   

专项分类

、专项性能 - 内存

1. OOM:一次性分配内存不足,超过Android进程最大内存限制,挤爆内存。持续内容泄漏导致内存不足。

2. Low Memory Killer:手机剩余内存低于警戒线后,Low Memory Killer会在后台钉死占用内存较多的进程。

3. 频繁GC:JVM虚拟机在进行GC时,除GC线程外其他线程挂起状态。内存使用不当,导致频繁GC引起卡顿。

二、专项性能 - CPU

1. CPU冗余使用:代码写得烂,算法不高效,变量类型不合理,给CPU带来额外负担,不仅执行效率低还耗电高

2. CPU资源争抢:抢占主线程CPU资源引起UI卡顿,CPU核心数与线程数不匹配导致效率低下

3. CPU利用率低:CPU利用率低导致执行时间长,如:单线程、同步初始化导致启动时间长

三、专项性能 - 网络流量

1. Round-Trip Time(RTT,往返时延):主要决定依赖接口资源的页面加载时间,受网络、服务架构等方面影响

2. 请求流量带宽:用户和公司都要为流量资费买单;流量同样影响RTT。

四、专项性能 - 加载时间

页面首次渲染主题结构和静态内容(T1)、网络请求动态数据内容(T2)、重新渲染填充动态数据内容(T3),页面加载总时长=T1 + T2 + T3

 

技术分享图片

五、UI卡顿

低于24FPS人眼会感知不连续;低于30FPS无法表达绚丽画面。CPU问题(不必要的布局和时效)、GPU问题(过度绘制)会造成UI卡顿。

六、启动时间

1. 冷启动

2. 热启动

3. 首次启动

七、稳定性

1. Monkey

2. 智能遍历:根据深度优先或广度优先算法遍历点击页面中的元素,目的以尽可能多点击APP中的元素,看哪里会出现异常

3. 弱网测试:模拟不同带宽和丢包率的弱网络环境下APP的运行状态,常与UI自动化结合。

八、兼容性

1. 品牌

2. 系统

3. 分辨率

九、安全性

1. 敏感信息加密:对敏感信息比如账号密码进行加密存储,避免明文存储。敏感信息传输加密,并采用https安全协议等。

2. 代码混淆:将程序代码转换成一种功能上等价但难于阅读和理解的形式的行为。如变量、函数、类的名字改写成无意义的名字,将for循环改写成while循环,将循环改写成递归,精简中间变量等。

3. APK加壳:加壳程序可以有效阻击对程序的反汇编分析,从而保护软件版权,防止被破解。Android Dex文件加壳,一般需要加壳程序、解壳程序和源程序。

 

工具集

工具集 内存 CPU 流量 流畅度 耗电量
发现问题 adb shell dumpsys meminfo | grep packagename adb shell dumpsys cpuinfo | grep packagename

adb shell cat /proc/uid_stat/<UID>/tcp_rcv

adb shell cat /proc/uid_stat/<UID>/tcp_snd

adb shell dumpsys gfxinfo

adb shell dumpsys SufaceFlinger

Battery Historian
定位问题

Memory Monitor

MAT

LeakCanary

TraceView

Systrace

Wireshark

Hierarchy Viewer

CPU过度绘制检测

Battery Historian

前端app专项测试理论基础

标签:冗余   警戒线   算法   智能   系统   服务架构   效率   大内存   执行时间   

原文地址:https://www.cnblogs.com/sunada2005/p/9565963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!