商业

iOS 13最初版本漏洞百出,于是iOS 14测试流程变了

来源:网易科技

11月23日消息,据国外媒体报道,据知情人士透露,在最新版的iPhone和iPad操作系统接连出现一大堆漏洞之后,苹果公司正在改革其软件测试方式。

在与公司软件开发人员举行的最近一次内部“启动”会议上,苹果软件主管克雷格·费德里吉(Craig Federighi)和斯泰西·利希克(Stacey Lysik)等副手们宣布了软件测试方面的变化。新方法要求苹果开发团队确保未来软件更新的测试版,也就是所谓的“每日构建(Daily build)”,在默认情况下禁用未完成或有缺陷的所有功能。然后,测试人员可以通过一个称为Flags的全新内部流程和设置菜单有选择地启用这些特性或功能,从而能够将每个单独添加特性会对系统产生何种影响相互隔离开来。

今年9月,当苹果公司的iOS 13操作系统与iPhone 11系列智能手机同时发布时,iPhone用户和应用程序开发者发现了一连串的软件故障:应用程序崩溃或启动缓慢;手机信号参差不齐;应用程序出现了用户界面错误,比如消息、系统搜索都出现问题,电子邮件也存在加载问题。而通过iCloud共享文件夹以及将音乐流媒体传输到多组AirPods上等新功能要么被推迟,要么仍未实现。毫不客气的说,这次操作系统升级是是苹果历史上最麻烦、最粗糙的。

“iOS 13在继续摧毁我的士气,”知名开发者马尔科·阿蒙德(Marco Arment)在Twitter上写道。“我也是,”购物清单应用AnyList联合创始人杰森·马尔(Jason Marr)说,“在iOS 13上,苹果的表现的确是对开发者和用户的不尊重。”

这些问题表明,iPhone已经变得有多复杂,而且用户很容易对一家以软硬件顺畅整合而著称的公司感到失望。对苹果公司来说,每年跟随最新款iPhone定时发布软件更新,是增加系统新功能、防止用户转向主要竞争对手Android的关键途径。更新后的操作系统还为开发者提供了更多的应用程序开发工具,从而为苹果的应用商店带来了更多收入。

苹果发言人特鲁迪·穆勒(Trudy Muller)拒绝置评。

新的开发过程将有助于提高早期内部iOS操作系统版本的可用性,或者用苹果的话说,(不同功能)更加“易于相处”。在iOS 14开发之前,有些团队每天都会添加一些还没有经过充分测试的功能,而其他团队则每周都会对现有功能进行修改。“每天的开发过程就像一整份食谱,但很多厨师都在添加配料,”一位了解开发过程的人士表示。

测试软件在开发不同阶段的变化是如此之多,以至于这些设备常常变得难以运行。由于这个原因,一些“测试人员会在一团糟的情况下将系统跑上几天,所以他们根本不会真正清楚哪些功能会对系统产生何种作用。”该人士说。在这种情况下,由于苹果工程师很难测试出操作系统对许多新添加功能的反应,从而导致iOS 13频频出现某些问题,因此也无法达到测试目标。

苹果公司内部测试是所谓的“白手套”测试,用1到100的等级来衡量和排名其软件整体质量。有问题的软件版本得分可能在60分左右,而更稳定的软件可能在80分以上。iOS 13的得分低于之前更完善的iOS 12操作系统。在开发过程中,苹果团队还为软件产品的功能特性分别设置了绿色、黄色和红色的代码,以显示这种功能特性在开发过程中的质量。相应的优先级从0到5,其中0是关键问题,5是次要问题,用于确定单个软件错误的严重性。

新策略已经被应用到代号为“Azul”的iOS 14系统开发中,该系统将于明年发布。苹果还考虑将iOS 14的一些功能推迟到2021年发布,在公司内部这一更新被称为“Azul +1”,也可能会以iOS 15公开发布,这也让公司有更多时间关注操作系统性能。不过,熟悉苹果计划的人士表示,预计iOS 14在新功能的广度上将与iOS 13不相上下。

测试策略的转移将适用于所有苹果的操作系统,包括iPadOS、watchOS、macOS和tvOS。最新的Mac电脑操作系统macOS Catalina也出现了一些问题,比如与许多应用程序不兼容,邮件中缺少信息。一些运行基于iOS操作系统的HomePod音箱在最近一次iOS 13更新后无法工作,导致苹果暂时停止升级。另一方面,最新的苹果电视和苹果手表系统更新则相对顺利。

苹果公司的高管们希望,从长远来看,全面改革后的测试方法将提高公司软件质量。但这并不是苹果工程师第一次听到管理层这么说。

去年,苹果曾推迟了iOS 12的几项功能发布,其中包括对CarPlay和iPad主屏幕的重新设计,专注于提高可靠性和整体性能。在2018年1月的一次全体会议上,费德里吉表示,公司对新功能的重视程度过高,应该优先向消费者提供他们想要的质量和稳定性。

随后,苹果成立了所谓的“老虎团队”来解决iOS特定部分的性能问题。该公司从整个软件部门调派工程师,专注于加快应用程序启动时间、改善网络连接和延长电池寿命等任务。当iOS 12操作系统于2018年秋季发布时,运行相当稳定,在头两个月内只进行了两次更新。

这种成功没有延续到今年的操作系统升级。iOS 13的最初版本漏洞百出,以至于苹果不得不匆忙发布了几个补丁。在iOS 13发布的头两个月里,已经进行了8次更新,是自2012年费德里吉接管苹果iOS软件工程部门以来最多的一次。该公司目前正在测试另一个新版本iOS 13.3,这本是要在明年春天进行的后续工作。

今年6月份苹果召开了2019年度全球开发者大会。大约在此一个月前,该公司的软件工程师就开始意识到,当时在公司内部被称为Yukon的iOS 13表现不如之前的版本。一些参与这个项目的人说系统开发是一个“烂摊子”。

今年8月,苹果工程师们意识到,几周后与新iPhone一起发布的iOS 13.0根本无法达到质量标准,于是决定放弃对其进行修补,专注于改进后续的第一次更新版本iOS 13.1。苹果私下里认为iOS 13.1是“真正的公开发布版本”,其质量水平与iOS 12相当。公司预计只有铁杆苹果粉丝才会在手机上安装iOS 13.0操作系统。

9月24日苹果发布了更新的iOS 13.1,这比既定时间提前了一周,也压缩了iOS 13.0作为苹果旗舰操作系统发布的时间。新iPhone与苹果软件紧密集成,因此从技术角度讲,不可能推出搭载iOS 12操作系统的iPhone 11系列智能手机。由于新款手机发布时iOS 13.1还没能及时准备好,苹果唯一的选择就是发布iOS 13.0,并尽快让所有人更新到iOS 13.1。

虽然iOS 13出现的问题确实让iPhone用户感到不安,但更新速度还是相当快。据苹果称,截至10月中旬,半数苹果设备用户都在运行iOS 13。这一升级速度仍远远领先于谷歌的Android。

iOS 13.1发布后,苹果的软件工程部门迅速转向iOS 13.2,其质量目标是优于iOS 12。这次更新后的抱怨比iOS 13操作系统的前几次更新都要少,但却仍有一个错误,系统会在不应该关闭的情况下关闭后台的应用程序。

苹果应用程序资深开发者史蒂夫·特劳顿-史密斯(Steve Troughton-Smith)在Twitter上写道:“iOS 13给人的感觉就像是一个超级混乱的版本,自iOS 8以来我们从未见过如此糟糕的情况。”