爱思助手

前苹果资深工程师解释 iOS 软件更新故障频发的原因

通常情况下,苹果总会装作若无其事地发布软件更新,比如侧重于提升整体性能和系统可靠性的 iOS 12 更新。但是在最新的 iOS 13 身上,事情似乎进展得并没有那么顺利。早在 iOS 13 正式发布前,许多人就已经在 iOS 13.1 的公测版本中感受到了这一点。在 Mac 平台,最近发布的 macOS Catalina 更新并没有引入太多新功能,但还是有不少用户抱怨其带来的糟糕体验。


前苹果资深工程师解释 iOS 软件更新故障频发的原因


报道称,许多用户在 macOS Catalina 的安装过程中遇到了麻烦。尽管苹果可以通过后续打补丁来解决问题,但人们不禁要问,为何苹果不做好充分的测试就将新版本放出来?


对于这些问题,曾在苹果工作 18 年的资深工程师 David Shayer,或许可以给我们一些解释。Shayer 主要从苹果公司的内部流程来解释,因为较早的 bug 会被赋予比新 bug 更低的优先级。


若一位工程师不小心破坏了一项可用功能,则会在回归(regression)中修复它。


但若提交了错误报告,且质量检查工程师认定该软件的先前版本中也存在该 bug,则会将其标记为非回归(not a regression)。


根据相关定义,它算不上是一个新问题,而是旧 bug 。如此一来,很可能没人会被指派去修复它。


尽管并非所有苹果团队都在这么干,但这种情况并不罕见,有时挺让人抓狂的。我认识的某个团队,甚至制作了一件‘Not Regression’的 T 恤。


或许这就是上面提到的 iCloud 照片上传和联系人同步 bug 可能永远得不到修复的原因。


此外,David Shayer 提出了另一个经常被忽视的解释 —— 今天的苹果,比以往拥有更多的客户。此外,苹果的软件,也变得比以往任何时候都更加复杂。


换言之,当苹果从面向小众的 OS X 更新开始转型,这种情况就越跑越偏了。现如今,苹果需要迅速为数百万设备用户推出先进的软件更新。


现代苹果操作系统具有数千万行的代码,您的 Mac、iPhone、iPad、Apple Watch、AirPods 和 HomePod 都支持互通和连接 iCloud 。


所有应用程序都是多线程的,且通过(并不完善的)互联网互相通信。综上所述,Shayer 指出,测试这种复杂的软件,必然成为一项更具挑战性的工作。


图文来自 cnBeta,如有侵权请联系删除。