用一张表格解决移动端产品的兼容性问题

用一张表格解决移动端产品的兼容性问题

复杂的生存环境

做移动端产品最让人头疼的就是兼容性问题。PC时代的兼容性问题主要来自于浏览器的差异,而移动端产品要考虑到各种机型、操作系统,还要兼容不同的内容平台,比如同样的内容在自家App、合作方App、微信公众平台、浏览器中都可以呈现。

总体趋势是移动端产品的生存环境却越来越复杂。产品设计、研发、测试的每一个环节都要考虑兼容性问题该如何处理,整个团队对付兼容性问题所花的成本也并未降低,甚至更高。

团队中比较普遍的问题是对于兼容性问题的优先级定义不清晰,内部信息不同步,缺乏数据收集意识。比如产品在小米手机的UC浏览器中出现了一个中等严重程度的BUG,这个问题的影响范围多大?该以何种优先级处理?之前有没有类似的处理方案积累?估计很多团队并不能很好地回答这些问题。

移动端环境表

解决兼容性问题的关键在于对移动端产品的生存环境进行梳理,在此基础之上制定应对策略。

所谓生存环境主要分为三个维度:

  • 硬件环境,细分为品牌和机型,决定了屏幕大小、性能等硬件限制
  • 操作系统,比如iOS6和iOS7,或者安卓各家的定制系统的不同版本
  • 浏览器,主要分为App容器,原生浏览器,各品牌浏览器

通常情况下,硬件设备和操作系统是绑定在一起的,共同决定了软件可以使用的特性,可以合并为广义的硬件环境,与浏览器这个维度一起形成一张表格:

这个表格我们可以称之为移动端环境表,或者兼容性表。它分别以软硬件为维度描述了移动端产品各种可能的生存环境,处理兼容性问题的各种手段都与之相关。

环境占比等级分布

制定产品策略的时候要考虑到不同环境的占比差异,有些需求可能不需要在低占比的环境中实现,要考虑渐进增强或者优雅降级,缺陷的优先级也与环境占比有关。

将机型和浏览器分别按占比从大到小排序之后,就能很形象地表示出每个环境的占比差异,越靠近左上角的占比越高,程扩散状分布:


可以把环境占比划分不同的等级,比如一级环境表示占比超过10%,二级环境表示占比超过5%,其它为三级环境。

缺陷优先级分布

缺陷的优先级是由占比等级和严重程度共同决定的。

缺陷的严重程度可以分为三级,比如一级表示用户无法完成主要操作流程,二级表示影响边缘流程,三级表示体验细节类问题。

优先级分布如图所示:

从这个表格能够清楚地表示出什么样的环境,什么样的问题,对应着何种优先级。

缺陷表现分布

移动端环境的组合众多,不同环境下缺陷的表现并不一致。一旦发现问题,我们需要使用工具汇总信息,以体现某个兼容性问题的分布情况:

测试人员可以通过协同编辑一起收集信息。研发人员可以根据缺陷表现的分布来定位问题,针对不同环境制定修复策略。

兼容性数据统计

我们可以通过Wiki,Excel,或者自制管理系统等形式,以移动端环境表为基准,记录各种出现过的兼容性问题。

遇到兼容性问题时,我们可以通过查找记录找到一系列相似的问题,这是团队重要的知识积累。

有了数据之后,我们可以对各个环境给出兼容性风险评估,比如:

风险指数 = \sum_{}^{}{} BUG数量 * 严重程度

我们可以根据风险指数调整开发策略,比如买更多的测试机,风险高的部分先开发等等。

如何实践

  • 收集用户数据,了解不同维度的占比
  • 根据占比配置测试设备
  • 制作符合团队特点的移动端环境表
  • 确认环境占比等级分布
  • 确认缺陷优先级分布,在团队内部达成统一认知
  • 使用移动端环境表描述BUG表现
  • 收集并记录兼容性问题,形成数据库

总结

兼容性问题涉及到产品设计、开发、测试等各个环节,可以使用移动端环境表来描述信息,贯穿整个开发流程,从而加强团队内部的信息同步,降低沟通成本。做好移动端产品开发不止需要技术方面的架构更新,整个团队的方法论建设也要持续升级。

编辑于 2016-05-17 21:37