性能指标详细测试步骤参考
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
性能指标详细步骤参考使用说明
文档更改记录
性能指标详细步骤参考
目录
一、内存泄露 (3)
二、是否存在资源的重复拉取 (7)
三、无缓存/首屏总流量小于200K (7)
四、抓包检查(js/css)请求头不能带cookie,检查HTTP请求头有Accept-Encoding: gzip, deflate (9)
五、js/css/html代码需要进行压缩 (10)
六、控制图片大小 (11)
七、避免302跳转超过2次 (11)
八、页面加载完毕(可交互) (12)
九、tcpdump抓包 (13)
前提:Android测试机型为红米1,iOS测试进行为iPhone 4s iOS7
Android手机需root ,ios需越狱
一、内存泄露
Android\iOS 使用top命令来检查各个场景下的内存变化情况
1、Android内存抓取步骤
准备:电脑需安装android adb并将adb的目录加入到系统环境变量中
通过电脑命令窗口来查看内存变化状况,并记录内存数值
步骤:
1、adb devices 查看手机设备是否连接上,如下图所示:
adb root 命令可以让已经root的手机进入到adb的root状态
adb shell 命令进入手机的linux内核,出现“#”代表root权限,出现“$”代表普通用户权限
2、用top命令查看内存
如下图:
抓取特定的进程内存变化可以用命令:
adb shell top -d 1 –n 4 | find "进程名"
-d 指定刷新间隔时间
-n 指定刷新次数后退出
以qq的web进程为例:
adb shell top -d 1 -n 4 | find "com.tencent.mobileqq:web"
想要将抓取的内容保存到本地可以用如下命令
adb shell top -d 1 -n 4 | find "com.tencent.mobileqq:web" >>C:\Users\58\Desktop\log.txt
log.txt内容如下:
我们只需要记录”RSS实际使用内存”这列的数据,将他画成折线图,分析内存波动状态,就是上图中画红圈部分数值,。
分析内存直线图:一般抓取每次抓取200—300个数据,抓取3-5次,然后查看内存波动情况,在一定范围内的上下起伏波动证明内存没有泄露,如果出现内存数值持续增长,没有
回落现象说明可能存在内存泄露。
2、ios内存抓取步骤
准备:电脑需安装itools, SecureCRSecureFXPortable,ios越狱手机安装Cydia且在Cydia中搜索安装OpenSSH。
1、手机连接电脑,并打开itools
2、通过itools打通与手机的ssh通道
3、记住上面的连接地址、用户名及密码(一般默认是地址:127.0.0.1 用户名:root 密码:
alpine)
4、通过连接远程的机器来进入ios内核(可用SecureCRSecureFXPortable、putty等工具连接)
如下:
5、之后通过top命令来抓取内存变化,并绘制成直线图分析
以下以QQ为例:
ios
使用top命令收集内存数据:top -s 3 -l 20 | grep QQ > QQ.log
-s:指定刷新时间间隔
-l:指定次数
top命令:top命令可以获取到系统所有进程占用内存、cpu等状态,我们只需要关注RSIZE即实际占用内存值,如下:
抓取QQ内存变化:top -s 3 -l 20 | grep QQ
抓取QQ内存变化并写入文件中:top -s 3 -l 20 | grep QQ > QQ.log
抓取到的内存数据同上面android内存数据一样处理、分析。
6、抓取完后关闭ssh通道,只需在打通操作的位置再次点击itools上的ssh通道即可关闭。
二、是否存在资源的重复拉取
步骤:
1、打开fiddler
2、打开需要测试的页面
3、复制fiddler中抓取的全部资源(一个页面求情的所有资源)到excel
4、通过excel排重,获取的资源中不能有重复项
审查结果:如上图就存在重复值,不合格
三、无缓存/首屏总流量小于200K
步骤:
1、清除手机相应软件缓存
2、打开fiddler/wireshark
3、打开页面
Fiddler中流量就是Bytes Sent + Bytes Received Wireshark抓取流量:
图上红圈内的就是流量。要求抓包得到的流量小于200k
四、抓包检查(js/css)请求头不能带cookie,检查HTTP请求头有Accept-Encoding: gzip, deflate
Cookie:
1、打开fiddler
2、访问网页,通过fiddler抓取所有资源
3、挨个查看js/css中是否存在cookie
如下图所示为没有cookie的js
如下图所示为有cookie的js,不符合要求
特别说明:
部分统计JS需要cookie请与开发及产品沟通,沟通通过后说明原因,可以通过。
HTTP请求有Accept-Encoding: gzip, deflate:
1、打开fiddler
2、访问网页,通过fiddler抓取所有资源
3、挨个查看HTTP请求头有Accept-Encoding: gzip, deflate标志
效果图如下:
五、js/css/html代码需要进行压缩
1、打开fiddler
2、访问网页
3、查看页面源码(可通过fiddler抓取的包来获取页面所有的js、html、css,之后通过
在fiddler中copy url在浏览器中访问源码)
效果图对比:
未压缩的页面