您好!
欢迎来到京东云开发者社区
登录
首页
博文
课程
大赛
工具
用户中心
开源
首页
博文
课程
大赛
工具
开源
更多
用户中心
开发者社区
>
博文
>
小程序专项治理方案介绍
分享
打开微信扫码分享
点击前往QQ分享
点击前往微博分享
点击复制链接
小程序专项治理方案介绍
自猿其说Tech
2022-10-24
IP归属:未知
19600浏览
测试
### 1 前言 目前京东快递小程序,已经成为快递快运部门的一个重要的生态流量来源。由于小程序自身的特点,免下载性,已经普通被用户使用起来。由此同时,小程序的交互过程中,用户体验相关,已经成功衡量各个平台的一个基石。 ### 2 专项治理方案介绍 #### 2.1 专项测试的指标 ##### 2.1.1 性能指标 ###### 1)首屏时间 首屏时间是指用户从打开小程序看到第一屏主要内容的时间,首屏时间太长会导致用户长时间看到的都是白屏,影响使用体验 标准:前提是不超过5s,目前看用户的近7天数据,99%的用户都是在5s,90%的用户在3s内 因此,此指标暂定是3s(to do 后续继续具体细节界定标准),这个指标跟启动耗时差不多,可以参考启动耗时指标标准。 ###### 2)首屏渲染时间 渲染时间指的是首次渲染或因数据变化带来的页面结构变化的渲染花费的时间 标准:渲染时间不超过 500ms,目前看用户的数据统计,99%的用户都在102ms内 故我们目前先根据150ms为标准 ###### 3)cpu 建议参考指标。 ###### 4)内存 建议参考指标。 监控内存报错,接入平台监控,并定期查看,制定优化策略 小程序进程的内存占用,统计的是内存相对于启动时增长的内存 标准:目前看用户的数据统计的是平均值是171.5M,目前没有参考数据,只能对比接下来每天的数据进行比较。100%的数据都是低于300M,95%的数据都是低于270M的。 ![](//img1.jcloudcs.com/developer.jdcloud.com/c2c26eec-0443-4cbd-8f09-d23f7f19ca8420221024144907.png) ###### 5)fps: fps一般在首页、搜索等有滑动等快速渲染的场景中考虑 主要的页面,首页,寄快递页面定一个指标,低端设备的情况可以不强卡,但是建议测试定一下指标 ###### 6)页面切换耗时 小程序页面切换的耗时 标准:90%的用户的页面切换时间是420ms以内,100%的用户的页面切换时间都是在430ms以内 7)小程序启动总耗时 标准:目前用户WX小程序统计,99%的用户都是在2160ms以下。android的总启动耗时平均值是2466ms,ios的总启动耗时的平均值是1143ms ##### 2.1.2 技术设计方面: ###### 1)图片相关: - 图片的加载传输都要使用压缩的方式,gzip - 大于5kb的图片要从云端下载 - js加载时长 - 脚本执行时间是指JS脚本在一次同步执行中消耗的时间,比如生命周期回调、事件处理函数同步执行时间。 - 标准:脚本运行时间不超过 1 秒 - 其他静态资源的下载耗时 ###### 2)js脚本相关 - 无必要要求,js的位置都放在代码的最好,以免影响页面的渲染,拉长页面的白屏时间 - WX开发文档:WX建议:所有图片均开启 HTTP 缓存 ##### 2.1.3 网络类型测试 无网络、弱网、4G,5G,WIFI情况下 网络下载慢的情况下,接口超时是否有重试机制 ##### 2.1.4 小程序包大小 小程序提审的时候,WX限制包的大小在2MB,超过的话要采用分包策略,但是分的包的数量是有限制,总体包大小不超过20M。代码过于冗余,会影响流量的消耗,首次加载可以只加载一部分页面的包 没有强制的标准,研发设计与测试过程中注意一下就行。但是首屏需要的资源应该配置是第一个加载的包里面,以免影响首屏时间。 #### 2.2 兼容性测试指标 android机型分布(数据来源WX小程序后台) ![](//img1.jcloudcs.com/developer.jdcloud.com/842c1253-66d8-47f0-a83a-69f7023b325520221024145407.png) ios机型分布(数据来源WX小程序后台) ![](//img1.jcloudcs.com/developer.jdcloud.com/617ee3d3-efad-476a-a5f5-7f3c282a7aef20221024145418.png) 标准:在每一个功能的测试报告发送中,备注验证了哪些机型,没有覆盖的机型有哪些,针对个别不好解决的兼容性问题,与产品、开发共同讨论觉得问题是否修复,评估完成后,不会影响用户体验即可上线,否则不允许上线。 ### 2.2.1 系统版本模块 因埋点平台无数据支持,目前能够验证的系统如下: ![](//img1.jcloudcs.com/developer.jdcloud.com/49d40a5b-df8b-443b-a4b6-aba15d247bab20221024150522.png) - android:android 10(51.48%)、 android 11(23.82%)、android 9(12.03%)、android 8(7.92%)、android7(2.29%)其余有少量android6、5、4、12流量,占比在1%左右,可忽略。 - ios:iOS14(48.2%)、iOS15(25.97%)、iOS13(14.26%)、iOS12(1.69%)。 ##### 2.2.2 分辨率模块 ![](//img1.jcloudcs.com/developer.jdcloud.com/4fb20b36-8b27-4a13-b09d-c9632d1e878b20221024150623.png) 标准:根据top10 的机型去对应相对的分辨率 例如:ios 系统详情如下: ![](//img1.jcloudcs.com/developer.jdcloud.com/cfcac081-aa62-4362-ad94-0d169f6f3cf720221024150643.png) #### 2.2.3 屏幕大小模块 根据top10的机型对相应的尺寸进行匹配 ios相关机型: ![](//img1.jcloudcs.com/developer.jdcloud.com/6462c44f-8955-4605-a127-3e7ad53f0dbc20221024150704.png) ##### 2.2.4 WXsdk与小程序api的兼容性 新功能使用的WX小程序提供的接口与WX本身功能的兼容性,比如新版本的WX小程序的api在新老版本WX是否有差异的处理与兼容点 1)小程序在WX不同版本的功能差异性验证 - 老功能可以通过UI自动化与接口自动化结合的方式进行监控 - 新功能在研发设计阶段要评估小程序的使用的api在不同WX版本是否有差异,是否需要做向下兼容 2)小程序的api的兼容性 - 由于小程序也在不断的升级,同一个函数可能在新老版本会有不同的实现机制,故代码逻辑也要针对不同api版本做处理。 3)与WX其他小程序的公共功能的兼容测试 - 小程序功能与其他公司小程序产品,使用的公共功能比如手机的声音等是否有冲突 #### 2.3 易用性指标 #### 2.3.1 前端使用弹框的规范 1. 所有的弹框进行分类:警告弹框,提醒弹框,操作弹框,提醒弹框的时长至少要3s(8个字以上3s,8个字以下2.5s,达成一致),否则用户看不完提醒,其他的根据业务要求去定; 2. 每一种弹框的样式统一,弹框的toast时长统一,有些弹框出现时长过短,导致用户来不及看清提示的内容; 3. 弹框的展示样式是否正确,是否存在toast展示不全的情况存在; 4. 弹框文案的话术是否让用户容易理解,是否会让用户产生歧义; 5. 弹框的兜底文案尽量避免让用户产生歧义 #### 2.3.2 页面兜底样式规范: 当页面显示的列表数据不存在,兜底的样式一致性 当接口超时,网络异常的时候的提示信息一致,且统一走公司的规范样式 (UE那边有统一的规范,到时以文档为主) #### 2.3.3 对应的功能的风格应该统一: 比如搜索功能,查看列表 #### 2.3.4 交互方面 1)很多接口请求的数据,交互过程,尽量让用户无感知,除非网络传输很慢(跟产品沟通确认) 2)对于页面数据要求比较高的功能,能异步加载数据,不要同步加载,影响前端页面展示效果 3)列表数据都要分页请求加载 4)在提交数据时,如果不做限制,用户可以重复提交,会导致脏数据存在数据库里 5)如果加载过长时间,给用户一个反馈,有个 loading过程。让用户知道现在系统还在运行,而不是卡主或者是系统问题。 - 页面加载时 - 数据加载时 - 下拉数据列表 - 详情 - 提交数据时 6)文案: 文案太长,前端要考虑是否影响页面布局或是弹框的布局,是否跟系统的总体风格一致 7)小程序的层级策略限制,如果超过10层级,页面会不会从哪里来返回哪里去,这个开发要设置对应的策略。 8)与WX的交互:WX授权,WX切换手机号,WX与手机号解绑 #### 2.4 小程序的权限测试 1. 允许授权 2. 拒绝授权 3. 更换WX登录设备后再登录小程序,需要对小程序重新授权 4. 授权后,再次进入,无需WX授权 5. 未授权成功,再次进入,重新拉起WX授权流程 #### 2.5 小程序的安全测试 小程序在开发过程中若存在安全漏洞的情况,该小程序提交到WX的审核将不予通过。 - 敏感数据篡改 - 拖库信息泄露 - WEB攻击 WX侧会增加安全检测环节,是小程序审核的环节之一,所有提审的小程序均需进行,若检测中发现安全漏洞或小程序故意采取措施规避检测,该小程序的审核将不予通过。 ### 3 总结 小程序的专项治理是一个长期的过程,目前WX小程序后台,已经统计了很多指标,但是具有平台依赖性,而且数据指标从其后台只能查看最近30天的数据,故为了较好的监控到各个数据的指标,需要做好指标的平台建设,后期才能有理有据的做针对性治理。 ------------ ###### 自猿其说Tech-JDL京东物流技术与数据智能部 ###### 作者:刘美慧
原创文章,需联系作者,授权转载
上一篇:测试用例设计指南
下一篇:常见物流网络模型浅析
相关文章
安全测试之探索windows游戏扫雷
Jmeter压测实战:Jmeter二次开发之JSF采样器实现
Laputa自动化测试框架介绍
自猿其说Tech
文章数
426
阅读量
2149963
作者其他文章
01
深入JDK中的Optional
本文将从Optional所解决的问题开始,逐层解剖,由浅入深,文中会出现Optioanl方法之间的对比,实践,误用情况分析,优缺点等。与大家一起,对这项Java8中的新特性,进行理解和深入。
01
Taro小程序跨端开发入门实战
为了让小程序开发更简单,更高效,我们采用 Taro 作为首选框架,我们将使用 Taro 的实践经验整理了出来,主要内容围绕着什么是 Taro,为什么用 Taro,以及 Taro 如何使用(正确使用的姿势),还有 Taro 背后的一些设计思想来进行展开,让大家能够对 Taro 有个完整的认识。
01
Flutter For Web实践
Flutter For Web 已经发布一年多时间,它的发布意味着我们可以真正地使用一套代码、一套资源部署整个大前端系统(包括:iOS、Android、Web)。渠道研发组经过一段时间的探索,使用Flutter For Web技术开发了移动端可视化编程平台—Flutter乐高,在这里希望和大家分享下使用Flutter For Web实践过程和踩坑实践
01
配运基础数据缓存瘦身实践
在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。
自猿其说Tech
文章数
426
阅读量
2149963
作者其他文章
01
深入JDK中的Optional
01
Taro小程序跨端开发入门实战
01
Flutter For Web实践
01
配运基础数据缓存瘦身实践
添加企业微信
获取1V1专业服务
扫码关注
京东云开发者公众号