2016弱性能测试方法.doc
文本预览下载声明
测试目的
验证关键业务H5页面在弱网下打开速度
测试方法
通过wifi模拟2g/3g/4g环境,使用抓包工具Fiddler并结合系统日志分析页面加载性能
环境搭建
3.1.fiddler下载地址
官网:/download/fiddler
百度:/soft/detail/10963.html?ald
使用手册:/TankXiao/archive/2012/02/06/2337728.html
3.2..手机代理设置
查看代理电脑ip
B.设置手机代理(手机与代理电脑必须在同一网段)
3.3.fiddler设置:Tools》FiddlerOptions》Connections
fiddler模拟低速网络环境
Fiddler的模拟限速是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和上传速度,从而达到限速的效果。
自定义速度
Rules》Customize Rules
计算公式:(1KB/下载速度)*1000 = 需要delay的时间(毫秒),比如50kB/s 需要delay20毫秒来接收数据,所以根据你需要的网络速度来修改上述值。
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession[request-trickle-delay] = 300; //3.34kB/s
// Delay receives by 150ms per KB downloaded.
oSession[response-trickle-delay] = 150; //6.67kB/s
}
开启限速
Rules》Performances,勾选Simulate Modem Speeds?
不同网络上下行速度设置可以参考Network Link Conditioner
2G:上行440ms delay(1000/440=2.3KBps=18kpbs),下行400ms delay(1000/400=2.5KBps=20kpbs)3G:上行100ms delay(1000/100=10KBps=80kpbs),下行100ms delay(1000/100=10KBps=80kpbs)
网络耗时分析
两张典型的耗时图,https比http多了SSL Handshake(即SSL握手)
A:http请求
B:https请求
Total = Blocked + DNS Lookup + Connect(建立TCP连接)+ SSL Handshake(可选) + Send + Wait + Receive + Cache Read (可选)+ Render(解析HTML构建DOM树》渲染树构建》渲染树布局》绘制渲染树 )。
Network = DNS Lookup + Connect + SSL Handshake(可选) + Send + Wait + Receive。
TTFB (Time To First Byte),首字节时间,是最初的网络请求被发起到从服务器接收到第一个字节这段时间,它包含了 TCP连接时间,发送HTTP请求时间和获得响应消息第一个字节的时间。
Blocked对于H5容器来讲,包括启动和初始化容器时间(入口白名单检查会阻塞页面加载,验证通过后才开始加载页面资源,H5容器测试会关注)。
注:业务测试同学重点关注弱网下的Network
页面加载耗时分析
例如:打开服务窗》天猫超市》热卖必看》纸品湿巾
Url:/activity/hub.htm?t=zhijin
选中所有会话,查看Timeline,总体耗时图。
注:关注页面加载总体耗时(包括主文档和关联资源)、加载耗时比较大的资源请求。
选中所有会话,查看Statistics,总体统计。
注:关注302跳转次数、DNS查询和TCP连接时间、Unique Hosts个数越多DNS查询耗时可能越长
id-10 和 id-22 加载耗时比较长
选中id-10 单独分析
注:关注页面资源是否太大,特别是图片类型的资源。
页面加速规则
避免目标网页重定向(302跳转次数=2)
启用压缩功能(对图片等资源进行压缩)
改善服务器响应时间
使用浏览器缓存(静态资源缓存,减少网络请求)
缩减资源大小
优化图片
优化CSS发送过程
按优先级排列可见内容
移除阻止呈现的JavaScript
使用异步脚本
详细请参考:/speed/docs/insights/rules
页面加载时间
一般wifi下小于5秒,3g下小于10秒,2g下
显示全部