Facebook 揭秘其应用测试平台,并开源核心技术

简介:

本周,Facebook让一群记者参观了它位于俄勒冈州普赖恩维尔市的数据中心,在这个过程中也展示了他们的一个移动应用测试实验室,用来测试Facebook app、 Messenger 和Instagram。

目前 这个实验室总共含有60个机架,每个机架上放置32台移动设备,这样整个实验室拥有将近2000台移动设备。每个机架拥有自己单独的Wi-Fi 信号,并配有电磁干扰附件,以确保周围的机架不会相互挤占Wi-Fi 信号。

每次Facebook对自己的手机应用做出改变时,都会在这些设备上进行测试,确保没有程序崩溃以及其他性能问题。为确保所有的测试都是可比较的,每一次测试完成之后,这些手机须全部重新启动。

image

这些移动设备包含了市面上常见机型,例如基本的三星 Galaxy 系列,以及最新版的iPhone系列。同时,这些手机也会运行各版本的操作系统,包含了 KitKat以来所有版本的安卓系统,以及 从 iOS 7 到 iOS 9。

另外,为了加载最新的代码,所有手机都要连上PC和Mac Mini。分别对应安卓和iOS系统,一台机架上可能配有4台OCP Leopard服务器 或8台Mac Mini(因为一台Mac Mini 只能连接4台手机)。

相比于在实体设备上测试,模拟器上测试更加容易,但是Facebook为什么选择前者呢?

Facebook团队成员解释道,尽管在模拟器上可以弄清楚app产生错误的原因,但是它不能很好地测试性能,“比如说,我们并不能在模拟器上追踪1%的性能回归,所以我们选择了实体设备测试。”

虽 然Facebook没有明确说明除了使用Chef这个服务器工具以外,他们是怎样把最新的代码加载到这些移动设备上的,但是工作人员提到这个实验室来源于 Facebook在CT-Scan领域里的工作(CT-Scan 是一种性能监测服务),或许我们从中能稍微得到一些线索。

在早些时候,工程师只在一台设备上测试运行app,鉴于市场上多种多样的手机和平板设备,这是不够的,所以Facebook“生产工程”(Production Engineering)部门内的一个小团队就开始着手组建这些机架。

image

早期的这些机架构造十分简单,都是用的金属材料,这使得Wi-Fi 信号不能有效接收,从而造成整个系统运行不畅。之后员工们尝试建造一面可以放置240部设备的墙壁,但那样占的空间就太大了。

现在新版的机架不仅解决了Wi-Fi 信号问题,还增加了新功能--安装了摄像头,用来追踪设备上的各种情况,然而工作人员好像还没开始用这个功能。

接下来的一段时间,实验室工作人员正试图把每个机架上的设备数量增加到64个,同时让代码加载到移动设备的效率更快。然而可能更重要的是,Facebook正打算开源机架的设计,以及公开Chef的核心技术秘密。

当然,拥有同样类型实验室的并非只有Facebook一家。微软、亚马逊和谷歌都有开放的移动应用测试平台,如果你要测试自己的app,任选一家就行。

文章转载自 开源中国社区[http://www.oschina.net]

相关文章
|
7月前
|
关系型数据库 MySQL 测试技术
【分享】AgileTC测试用例管理平台使用分享
AgileTC 是一个脑图样式测试用例管理平台,支持用例设计、执行与团队协作,帮助测试人员高效管理测试流程。
405 116
【分享】AgileTC测试用例管理平台使用分享
|
7月前
|
人工智能 数据可视化 测试技术
AI测试平台自动遍历:低代码也能玩转全链路测试
AI测试平台的自动遍历功能,通过低代码配置实现Web和App的自动化测试。用户只需提供入口链接或安装包及简单配置,即可自动完成页面结构识别、操作验证,并生成可视化报告,大幅提升测试效率,特别适用于高频迭代项目。
|
8月前
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
351 6
|
7月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
7月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
8月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
8月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
10月前
|
存储 测试技术 虚拟化
VMmark 4.0.3 - 虚拟化平台基准测试
VMmark 4.0.3 - 虚拟化平台基准测试
283 0
VMmark 4.0.3 - 虚拟化平台基准测试
|
7月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
883 11
|
7月前
|
人工智能 Java 测试技术
单元测试覆盖率的自动控制技术
Jacoco是Java程序覆盖率工具,可以在pom.xml通过配置来自动控制程序的覆盖率
170 5