![](https://img.haomeiwen.com/i3148886/7faf2f445b201ad6.png)
一、 中间件
1. 配置
Orange
简介
Orange是淘宝App使用的急速、高效的数亿级无线端配置推送平台,通过App启动自检以及Mtop网关搭车机制,实现的移动端配置高效推送、拉取解决方案。
测试
orange配置平台,全部namespace->独客Appkey,搜索App的orange配置,
按照帮助文档,在预发环境下修改发布,之后使用Orange debug模式,查看手机端的orange配置是否成功更新(注意orange配置触达需要一定时间,一般30秒内,再次期间内尽可能的触发mtop请求)。
参考资料
2. ABTest
一休
简介
端上AB方案测试框架,接入时使用的是一休SDK,提供AB分桶方案&不同实验下的数据表现收集的解决方案。
测试
在一休平台上配置页面测试方案,对于testUrl,配置50%流向A url,50%流向B url。独客app扫码testUrl,测试是否能正确跳转到A、B方案配置的链接。
3. 埋点
UT
简介
UserTrack是一套面向客户端的数据采集系统,支持的系统有iOS,Android,Windows,MacOS,具有数据安全级别高,数据到达率高,传输流量小等特点。
测试
UT扫码查看埋点, 独客App扫码,查看埋点信息,arg1、arg2、args是否与预期一致。埋点方案可以让开发在debug模块下埋一些测试埋点。
4. 营销
Poplayer(废弃)
简介
Poplayer是一个可以实现在任意Native页面上弹起H5页的营销方案,能达到不发版的前提下在Native页面弹出浮层并设置事件的拦截和透传,被广泛使用在集团的各种大促和活动中。
测试
基于PoplayerSupport平台mock配置poplayer弹出地址,扫码查看poplayer能否在指定页面弹出,以及跳转地址是否与配置一致。
具体流程如下:
![](https://img.haomeiwen.com/i3148886/de742f93b14bca31.png)
在生成的模板中可以通过修改对一个字段的参数来实现Poplayer的设置。
uri/uris:控制Poplayer的弹出页面地址;
starttime/endtime:控制Poplayer的弹出时间段;
freq:控制Poplayer的弹出频率。
5. 图片库
Phenix
简介
脚手架App使用是Phenix图片库,支撑手淘的图片加载、显示、处理、图片数据监控,同时提供CDN图片压缩、自适应,提供性能优化流畅的图片加载体验,提供一站式的图片解决方案。测试用例保障图片加载显示、移动端自适应优化正确。
测试关注点
图片支持:支持WebP、WebP_Alpha、GIF、APNG等图片,
图片保存:所有类型的图片长按保存,测试图片库保存功能
性能优化、自适应
自适应:Phenix图片库移动端加载图片时,会根据手机分辨率、View大小,对图片分辨率自动进行自适应,比如原图分辨率1024*1024,端上View是400*400,图片库加载图片时会自适应到最接近400*400的图片
性能优化:针对不同网络质量的图片请求,图片库会加载不同压缩质量的图片,保证图片流畅加载,比如wifi下加载原图,4G下加载Q90质量图片,3G下加载Q75图片,可定制。(图片压缩会导致图片精度不够,如果业务对图片精度有高质量要求,需要定制)
测试
使用TMS平台上传webp、png、jpeg、gif、apng类型图片到CDN,独客App通过扫码浏览图片,测试覆盖各个类型图片加载、显示、放大全屏显示是否正确
图片保存,所有类型的图片长按保存,测试图片库保存功能
分享任意手淘导购文章,独客App扫码打开文章链接,Charles抓包查看网络请求中CDN图片的后缀,比如//gw.alicdn.com/tfs/TB1B34_BAvoK1RjSZFwXXciCFXa-36-36.png_90x90q90.jpg_.webp,原图是png,图片会自动适应到90*90的webp图片,并且图片压缩质量是Q90。说明自适应、性能优化功能正确。
6. 模板动态化
DinamicX
简介
Dinamic是一套纯Native的动态化模板方案,提供iOS/Android两端统一的动态化能力。使用XML格式描述模板,基于Android的布局方案设计了较为简单的DSL,以简单易懂的方式描述控件以及布局,一次书写,两端运行。兼容服务端的各种样式数据结构。内置基础控件和布局系统,同时提供自定义控件、自定义事件处理、自定义数据绑定等支持功能。
测试关注点
DinamicX的测试尽可能的结合业务中需要使用Dinamic模板的需求一并测试,关注模板布局及渲染正常以外,还需要关注其动态化能力的测试。
测试
结合业务的具体模板测试模板布局与渲染功能测试;
模板重构的适配测试;
老版本与新版本的模板兼容测试,包括老版本兼容新版本模板、老版本升级新版本后模板正常升级。
参考资料
7. 动态化容器
Windvane
简介
WindVane 是一个可扩展的Hybrid应用解决方案,主要客户端内的 Web 页面提供WebView 容器。WindVane提供了丰富的功能扩展,包括 URL 拦截、事件机制、资源预加载和JSBridge功能,支持Web页面与Native进行交互。
测试关注点
WindVane内建很多JSBridge API,所以Windvane的测试重点主要集中在JSBridge API的测试。
测试
Windvane有自己的测试页面,让开发内嵌到App内测试各个API功能是否正常即可。
Weex
简介
能够使用同一套代码来构建 Android、iOS 和 Web 应用。Weex 的结构是解耦的,渲染引擎与语法层是分开的,不依赖任何特定的前端框架,目前主要支持 Vue.js 和 Rax 这两个前端框架,比较方便在Native和DSL层面进行扩展。
测试关注点
除了关注Weex页面功能外,还需要考虑拦截与降级。
测试
这里推荐一篇ATA文档,里面简介了weex页面详细的功能测试点及拦截、降级的测试点,我这里就不做赘述了。客户端weex测试经验总结
8. 消息(Agoo)
简介
手机端的营销push、通知送达是App触达用户必不可少的收到。Agoo提供基于长链接和厂商通道的消息推送解决方案,支持亿级消息高效送达。主要使用的场景有营销push、消息通知、物流活动通知等。
Agoo的通知推送通道有两种:accs长链接推送、厂商离线通道。
accs长链接推送,ACCS是淘宝无线向开发者提供全双工、低延时、高安全的通道服务,同时具备实时推送消息能力。App启动后,推送一条消息给用户,用户online,accs长链接处于激活状态,agoo将消息通过accs推送给客户端,客户端收到accs消息调用系统通知,弹出push通知栏。
厂商通道,如果app未启动,没有长链接,我们怎么触达用户?agoo接入了各个手机厂商的消息通道,在用户离线状态下,agoo会将消息通过厂商的离线消息通过推送到设备上,按照各个手机厂商定制的格式弹出系统通知。支持的通道有,iOS使用的是apns,华为、小米、vivo、魅族、oppo等。
测试
agoo sdk接入,各个通道注册配置较多,测试务必要覆盖完备:
accs通道测试:用户登录、app启动状态下,通过aden平台下发通知给用户,iOS设备用户可以收到通知push,点击后可以拉起app,进入到通知配置的跳转url。
Android厂商通道:杀掉app进程,保证app未启动,通过aden平台给用户下发通知,华为、小米、vivo、魅族、oppo手机可以收到离线通知,点击通知可以拉起app,并跳转到目标url。
苹果APNS:iOS使用越狱机安装越狱包进行离线推送测试,aden平台给用户下发通知,用户可以收到通知,点击通知可以拉起app,并跳转到目标url。
参考资料
9. 闪屏
简介
闪屏在iOS规范里被称为Launch Screen,即用户在触发应用时立即显示在屏幕上的页面,很快就会被应用中第一个页面所替换,主要为增强应用的视觉感知。闪屏的配置与测试都是在工匠平台(链接)完成。
测试关注点
各类型的闪屏配置能正常生效。
测试
在工匠平台建立闪屏测试配置,分别配置测试闪屏类型、闪屏时长、闪屏次数、闪屏启动方式、闪屏页跳转的功能是否正常。
10. 扫码
测试
开启wifi、4G网络等扫码功能正常使用。
扫码页面的扫码历史记录、选择图片等功能正常使用。
11. 定位
简介
脚手架接入的是高德定位SDK,提供GPS定位、网络定位。
测试
开启GPS定位,通过定位接口获得独客App经纬度信息。
关闭GPS定位,开启wifi、4G网络等,定位接口可以返回独客App的经纬度信息。
关闭GPS、网络,定位接口无法获得App的经纬度信息。
二、 网络
1. MTOP
简介
MTOP是一个面向集团用户的无线API网关,支持HTTP和HSF两种访问方式。MTOP提供了以下功能:
API标准化:定义了一套标准的API数据协议,规范了API的请求和应答。
安全稳定:API授权功能保证API只被已授权用户访问,签名验证功能保证了API调用中数据不被篡改,客户端结合安全黑匣子工具保护客户端中密钥的安全性。
多维度报表:提供多维度的准实时报表,包括客户端、渠道、版本、API等维度,获取API调用的总量、平均响应时间、错误率等信息,并可以查看不同的错误信息出现的次数。
在线监控:支持API级别监控。
测试
独客App调用任意Mtop接口,抓包查看请求参数x-appkey、x-app-ver,确认与当前app key,app版本一致。
2. ACCS
简介
ACCS提供全双工、低延时、高安全的通道服务,同时具备实时推送消息能力。目前主要使用场景是推送、消息同步、IM等。
测试
由于ACCS主要用于agoo消息推送,ACCS的测试其实可以和后续的消息测试合并,能通过Agoo顺利发送消息,那么ACCS也就通了。
三、 存储
1. 统一存储
简介
统一存储框架作为手淘的统一存储框架经历过长时间的考验,作为脚手架App默认接入。提供关系型存储、KV存储,上层的业务有图片库、启动闪屏、MTOP等。
测试
统一存储作为底层通用的能力,可以在上层使用的业务场景下测试。图片库、闪屏业务场景测试时就可以覆盖,不建议单独测试。
四、 安全
1. 无线保镖
简介
无线保镖是安全部门推出的移动端应用完整性、应用运行环境可行性,数据安全保障的SDK解决方案。
测试
通过App集成检测,查看App无线保镖接入是否正确
独客App调用任意Mtop接口,查看是否能正确获得返回结果
五、 高可用
1. CashReport & 安全模式
简介
手淘架构组在移动高可用上做了很多文章,这里主要简介crashReport和安全模式。crashReport在App触发Crash、ANR、OOM时会自动上报相关日志信息,提供丰富的数据供特种分析、调用追踪、现场还原等;安全模式,针对低级bug导致的crash会自动进行捕获,以一种优雅的方式(返回crash前的页面或者App首页)拦截crash,防止客户端频繁崩溃,并提供短时间内客户端频繁触发crash后的自修复功能。
测试
crash日志,独客App debug模块下编写会触发crash,比如NPE的入口。触发后在EMAS,平台上搜索对应App的crash日志,查看crash Report是否正确上报
安全模式,30秒内连续触发3次crash,会进入二级安全模式,出现安全保护页面,提醒App是否需要恢复默认设置。页面默认是手淘样式,独客App需自定义定制。
六、 运维
1. 日志(Tlog)
简介
TLog是一个分布式实时数据处理平台,移动端日志上报解决方案。
测试
Tlog作为底层日志框架,支撑了很多上层业务,Mtop、消息、App启动等场景都会使用到Tlog,无需额外编写测试方法。启动App后,可以在EMAS日志中拉取查看Tlog日志
2. 监控
Crash(EMAS 魔兔)
简介
应用Crash时需要记录Crash的原因等详细信息,crashReport在App触发Crash、ANR、OOM时会自动上报EMAS 魔兔平台。
测试
独客App debug模块下编写触发crash的入口,触发后在EMAS,平台上搜索对应App的crash日志,确认Crash信息是否正确(时间、机型、系统、堆栈信息等)。
网友评论