科技时报 全球最新科技资讯专业发布平台

Facebook如何测试移动应用?同时测试数千部手机

2016-07-14 08:47:50已围观次来源:新浪科技编辑:夏雪

  北京时间7月14日早间消息,市面上有成千上万种型号的移动设备,而Facebook希望其应用能流畅地在所有这些设备上运行,无论这些设备使用什么操作系统和运营商网络。然而,考虑到Facebook不断加入新代码,这是一项困难的任务。

  为了解决这一挑战,Facebook已在俄勒冈州Prineville的数据中心里成立了移动设备实验室,安装了订制的机架系统。Facebook设置了60个机架,每个机架能固定32部手机,并对这些手机进行同步测试。Facebook测试的应用包括Facebook、Messenger和 Instagram等等,而测试关注新版本和之前版本的差别,测试内容主要是关于性能和耗电量的回归测试。

  本周二,在Prineville数据中心,Facebook生产工程师安托尼·雷维赛特(Antoine Reversat)解释称,Facebook不仅关注当前的15亿用户,也在关注全球范围内即将首次联网的数十亿用户。

  他表示:“我们的想法是关注新兴市场,将人们经常使用的手机拿到这里来。”他解释了Facebook如何挑选测试手机。而除了在新兴市场和美国热门的手机之外,该团队还会测试高端手机。

  每个机架都配备了无线接入点和摄像头,使Facebook工程师可以看到升级后的应用如何影响手机。每个机架固定32部手机是因为,这是单一WiFi网络中可同时运行的手机数量。

  进行这种手机测试的机架与数据中心中的服务器机架有所不同,因为某一机架的WiFi信号会干扰相邻机架的信号。因此,他们自行设计了机架,安装了可隔绝射频信号的泡沫塑料和铜圈,使机架成为电磁隔离装置。

  为了测试苹果的设备,其中一个机架安装了8台Mac Mini,每台连接4部iPhone。团队会驱动手机安装、测试及卸载应用。为了测试Android手机,Facebook在每个机架上安装了4台OCP Leopard服务器,而每台服务器连接8部Android手机。

  雷维赛特的团队还希望确保软件的一致性,因此他们利用配置管理工具Chef开发了配置清单,确保手机在测试中保持一致的状态。

  关于未来,雷维赛特表示,团队希望将设备加密一倍,让每个机架固定64部手机。这可能会有一些挑战,例如需要确保手机与无线接入点之间有4英尺(约合 1.2米)的间隙,确保信号有适当的衰减。此外,由于该团队计划明年开始测试大尺寸手机,因此加入更多手机将会更困难。与此同时,该团队希望,Chef配 置清单能更好地支持iOS系统。

  最终,Facebook希望开源设备测试机架的硬件设计,以及用于控制手机的Chef配置清单。(李丽)


window.onload = function (){ var oLi = document.getElementById("tab").getElementsByTagName("li"); var oUl = document.getElementById("ms-main").getElementsByTagName("div"); for(var i = 0; i < oLi.length; i++) { oLi[i].index = i; oLi[i].onmouseover = function () { for(var n = 0; n < oLi.length; n++) oLi[n].className=""; this.className = "cur"; for(var n = 0; n < oUl.length; n++) oUl[n].style.display = "none"; oUl[this.index].style.display = "block" } }}