今天早会上别人反馈了一个问题,说有某个客户数据量超大,页面展现出来浏览器卡死。老大把这个球抛给我。我去找组里的一个人一起讨论。 他打开开发者工具一看,说有请求,这应该是后端的问题。其实我是想看看后端以及 web 前端的性能,看看问题在哪。他坚持说是后端问题,然后我们拉个群,去找老大讨论,老大马上拉上相关后端,然后拉了一圈,才把问题的描述搞清楚,应该不是后端的问题。然后后端很生气,怎么问题没搞清楚就找他们了。 那么问题来了。 web 前端测试要关注哪些点? 有什么好用的测试工具?
就是开发者工具啊,chrome 的开发者工具还不够使?
数据量超大?接口响应成功后,页面加载渲染太慢;还是接口响应就很慢?前者是前端问题,后者是后端问题。不知道说的对不对
这种问题都需要匿名了吗
这种可以看酷家乐的技术博客 tech.kujiale.com,毕竟酷家乐是一个偏前端的公司
面试时没问怎么定位问题是前端还是后端吗
https://www.webpagetest.org/
阿里云提供了 arms 的服务,页面加载,js 报错都有相关的数据,就不需要测性能了,直接观测不是一步到位
lighthouse
建议你看看 chrome 开发者工具里的 lighthouse 和 performance ,注意不是直接看界面(这个东西还没简单到直接看界面就无师自通),而是去找相关的使用文档先了解下。这两个就是做前端性能检测相关的事情的。
另外,浏览器提示卡死这个现象,本身就基本上可以排除服务端原因。因为服务端再怎么慢,也只会导致请求超时(请求都是后台异步的,本质就是持续的等待),不会导致资源耗光引起浏览器认为卡住(个人理解应该是 UI 主线程卡住,没法响应任何用户操作事件)。同时也通过看浏览器 network 里面这个服务端请求的返回耗时,看是先返回,还是先卡住。
1、最直接的 chorme 的开发者工具,直接性能分析下,告诉当前资源消耗情况 2、前端性能监测平台,这个可能比较重,偏向于是线上监测的,web 端的我们用过有基于 skywalking 的前端监测能力,可以将用户行为分析、前端资源、和一些前端界面的常见性能指标。
按照你描述的是前端某个 js 执行耗时太长导致的卡死,这种情况用 lighthouse 一跑就知道是哪个 js 导致的
https://developers.google.com/speed/pagespeed/insights/?hl=zh-CN 数据了超大, 导致前端卡死, 后端是否可以做分页?
1、换浏览器,换电脑和换网络重试多几次,确认是明确广泛的必现问题 2、后端查接口,主要看响应时间,排除假死现象 3、前端浏览器查看,开启电脑的 “进程管理器”,捕捉卡死时浏览器的资源消耗情况,浏览器 F12 看 console 有无报错之类、lighthouse 看 js 执行情况来排查问题