Facebook揭示了成千上万每周代码更新的精心打击电话测试流程
Facebook周三介绍了它在其Prineville,Ore。,数据中心的普遍存在实验室中的数千个移动设备上的新代码的见解。
社交网络公司还表示计划开源在其定制移动设备测试机架以及厨师软件中使用的硬件设计。用于控制智能手机和其他用于测试操作的设备。
在冗长的博客文章中,Facebook生产工程师Antoine Reversat布局测试实验室如何帮助工程师监控每周数千个代码更改的方式,可能会影响智能手机的内存,数据或电池使用情况。
博客介绍了构建实验室的精心制作过程,以测试不同的操作系统和网络上的近2,000部手机以及不同的配置。
去年开始的工作开始,当Facebook创建了CT-Scan服务时,该服务监视并预测代码更改的含义,但该方法没有缩放到足够的设备。创建了一支小型工程师,以解决问题。该集团快速决定不使用模拟器方法,更倾向于测试实际设备上的代码变化,以提高准确性。
管理所需涉及所需的设备的纯粹卷,包括确保Wi-Fi与每个设备正常工作。工程师从各种方法开始,从“雪橇”设计开始,然后是“吊杆”设计,然后是一个“Slatwall”,最后是一个定制的“机架”,它类似于外面的传统服务器机架,其中几十个电话连接在外。Facebook表示它将开源为自定义机架开源设计,但没有宣布计时。
Facebook在尝试不同的测试设计后,Facebook工程师创建了一个定制的机架,此处显示。该公司计划开源开源机架的设计。
除了硬件测试设计外,Facebook安装了厨师,可以管理服务器配置的软件工具,以便在手机和其他任务中需要安装哪些软件包。Reversat说,厨师帮助Facebook在实施修复方面变得更加高效。厨师也将是开放的。厨师软件是由亚当·雅各布的,该公司的联合公司也被称为厨师,它与Facebook一起配合使用。
“我们希望通过我们的开放式采购我们的移动设备测试机架的硬件设计以及写入手机的厨师食谱,其他人可以从我们的学习中受益,并为我们的设计提供贡献,”Reversat写道。
Reversat说,Facebook拥有大约60个手机的机架,或1,920部手机,并在解决一些障碍后,计划很快加倍该号码。
今天,只有使用CT-Scan编写测试的工程师都可以使用移动实验室,但Facebook希望创建一个通用平台,以便在Facebook内想要进行设备测试。为了达到这个目标,ReverSAT表示Facebook正在与WebDriver的产品合作。
更正:此故事已更新,以纠正厨师软件不受Facebook所拥有的。Facebook使用该软件由亚当·雅各(Adam Jacob)开发的软件公司的联合创始人开发,具有同名厨师。