iOS 13最初版本漏洞百出於是iOS 14測試流程變了
據知情人士透露,在最新版的iPhone和iPad操作系統接連出現一大堆漏洞之後,蘋果公司正在改革其軟件測試方式。在與公司軟件開發人員舉行的最近一次內部“啟動”會議上,蘋果軟件主管克雷格·費德里吉(Craig Federighi)和斯泰西·利希克(Stacey Lysik)等副手們宣布了軟件測試方面的變化。
新方法要求蘋果開發團隊確保未來軟件更新的測試版,也就是所謂的“每日構建(Daily build)”,在默認情況下禁用未完成或有缺陷的所有功能。然後,測試人員可以通過一個稱為Flags的全新內部流程和設置菜單有選擇地啟用這些特性或功能,從而能夠將每個單獨添加特性會對系統產生何種影響相互隔離開來。
圖:蘋果軟件主管克雷格·費德里吉(Craig Federighi)正在對iOS 14的開發和測試進行全面改革,以便及早發現問題。
今年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不相上下。
測試策略的轉移將適用於所有蘋果的操作系統,包括iPad OS、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以來我們從未見過如此糟糕的情況。”