Facebook是如何让你不讨厌它的应用程序的

没有什么比缓慢的性能和巨大的电池消耗更能引发应用程序的卸载。Facebook透露了它是如何防止这些卸载的。

Facebook是如何让你不讨厌它的应用程序的
苏茜Ochs

一个应用程序需要做很多事情才能让你喜欢它,而只有两件事做错了才会让你讨厌它:执行缓慢和消耗大量能量。

Facebook运营工程师Antoine reverse透露了Facebook如何防止这两件事的发生,并防止用户卸载其应用程序。他向我展示了他设计并运营的自动化移动测试实验室,这个实验室以前从未向公众公开过。该系统自动测试了Facebook的移动应用程序,包括iOS和Android上的Messenger和Instagram。

在Facebook位于俄勒冈州普林维尔(Prineville)的数据中心,60个架子上摆放着近2000部安卓和iOS智能手机。2020欧洲杯预赛这种标准尺寸、特别设计的机架可容纳32部电话,并与一台服务器相连。Linux服务器连接Android手机,Mac mini连接iphone。在测试过程中,这些手机使用一个自动化系统进行远程控制和监控,就像Facebook的很多做法一样,该系统将开放源代码,供其他移动测试人员使用,并做出改进。

Facebook口袋设计的替代品

该系统自动安装用于测试的应用程序,监控应用程序,测量应用程序的执行情况,并将测试结果报告给Facebook的开发者,后者可以在Facebook的任何软件开发地点。测试手机被用来测量应用程序的性能和功耗。该测试将应用程序的性能和功耗与前一个版本的基线进行比较,称为回归。如果应用运行速度较慢或消耗的电量超过这一基准,开发者就会被要求进行修复。

开发者没有采取主动。每到第二十次,应用程序就会从软件仓库中取出,安装在一些手机上并进行测试。虽然Facebook的应用程序看起来是静态的,这样规模的测试实验室是不必要的,但事实并非如此。应用是动态的,因为手机设计师和开发者热衷于测试应用中的新功能、用户界面的微妙之处和新的用户交互。

应用程序的更新经常发布给选定的用户群体,以进行用户体验测试。用户的体验是通过内置在应用程序中的工具进行测量的,然后将结果与稳定版本进行比较,以确定用户是否喜欢这些变化和新功能。如果测试证明用户体验更好,就会向Facebook用户发布有限的测试版本。移动测试实验室确保应用程序的性能和功耗不会向缓慢或耗电的方向漂移,从而引起用户的愤怒。

Facebook的测试架

放置测试手机的架子看起来就像Facebook 35万平方英尺的数千个架子中的任何一个。数据中心的灯是关闭的,2020欧洲杯预赛除了它们是完全封闭的。该外壳防止Wi-Fi接入点连接每个机架中的32个手机,防止泄漏和干扰其他机架中正在测试的手机。

像所有的服务器机架一样,移动测试实验室机架设计为无人操作,除非系统发出硬件故障警报时由技术人员进行干预。手机的iOS和Android操作系统可以自动升级或降级,以匹配测试场景。同样,设备状态也可以通过配置Wi-Fi设置、安全证书等参数进行管理。

测试后,应用程序被删除,系统将手机恢复到测试前的状态。如果测试仪器指示需要重新启动以将它们返回到初始的预测试状态,系统将发送一个重新启动命令,并确认为下一次测试做好状态准备。

reverse的演示又说明了一点。手机平台的升级周期与PC平台有很大的不同。英特尔和个人电脑制造商可以根据微软的操作系统和应用软件升级来预测他们的收入和产品推出,因为每次升级都需要更强大的硬件。

Facebook代表了移动应用开发的另一种趋势,即在不消耗更多智能手机硬件资源的情况下增加应用功能。苹果(Apple)、三星(Samsung)和其他智能手机制造商必须设计出能吸引消费者的手机,而不指望应用程序开发商消耗更多资源。无线自由移动的理查德·温莎充分解释了这种困境是如何影响苹果的最近的博客文章

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对自己最关心的话题发表评论。

版权©2016足球竞彩网下载

2021年IT薪资调查:结果在