跨平台长连接组件设计及可插拔改造

背景 我们在提出开发跨平台组件之前, iOS 和 Android 客户端分别使用一套长连接组件,需要双倍的人力开发和维护;在产品需求调整上,为了在实现细节上保持一致性也具有一定的难度;Web 端与客户端长连接的形式不同,前者使用 WebSocket ,后者使用 Socket ,无形中也增加了后端的维护成本。为了解决这些问题,我们基于 WebSocket 协议开发了一套跨平台的长连接组件。 架构介绍 组件自上而下分为五层: Native 层:负责业务请求封装和数据解析,…

Read More

自动化接口用例从 1 到 1000 过程中的实践和思考

引言 当一个新人刚加入公司的时候,我们通常告诉新人怎么去写一个自动化用例:从工程配置到如何添加接口、如何使用断言,最后到如何将一个用例运行起来。 而在实际工作和业务场景中,我们常常面临着需要编写和组织一堆用例的情况:我们需要编写一个业务下的一系列的自动化接口用例,再把用例放到持续集成中不断运行。面临的问题比单纯让一个用例运行起来复杂的多。 本人加入有赞不到一年,从写下第 1 个 case 开始,持续编写和运行了 1000 多个 case ,在这过程中有了一些思考。在本文中,和大家探论下如何编写大量自动化接口用例以及保持结果稳定。 一、…

Read More

异步系统的两种测试方法

互联网软件系统一直随着需求、用户量上升等等的原因在演进,以求适应更复杂的业务场景,更高的性能要求等等。软件演进方式各种各样,系统异步化即为其中一种。 一般的,对于那些实时性要求不高,但却计算密集或者需要处理大数据量的耗时较长的任务,或是有较慢 I/O 的任务,选择异步化是一个不错的选择。在系统层面,像引入消息中间件来解耦系统,将耗时长的任务放在中间件后异步执行。在方法层面,像把耗时较长的任务放到其他线程中去异步执行。 与测试同步系统或方法不同,当我们测试异步系统(端到端测试、集成测试)或异步方法的时候(单元测试)…

Read More

我来介绍下有赞前端团队之2018

约莫一年半前,我写过一篇 《我来介绍下有赞前端团队》,很多应聘者都跟我们说投简历前就看过这篇文章,已经比较了解这个团队了,并且心向往之。但现在回头来看,很多内容已经过时。这次再来一篇,力求真实展示团队风貌——这样,我们通过面试了解应聘者,应聘者通过这篇文章了解我们,互相之间信息能够更对等。 一、组织介绍 有赞目前前端工程师人数一共80+,主要分布在以下部门: 电商: 有赞传统的优势项目,主要是微商城这一块(base 在杭州) 零售:线上线下打通的线下新零售软硬件解决方案(…

Read More

Vant 1.0 正式发布:轻量、可靠的移动端 Vue 组件库

Vant 是有赞前端团队维护的移动端 Vue 组件库,提供了一整套 UI 基础组件和业务组件。通过 Vant 可以快速搭建出风格统一的页面,提升开发效率。 Vant 一、关于 1.0 距离 Vant 首次发布刚好过去了半年时间,在这半年时间里 Vant 团队广泛吸纳社区的反馈和建议,持续对组件进行打磨、优化,使得…

Read More