Categories
程式開發

優酷暗黑模式(十一):質量保證簡析


一、測試背景

隨著iOS 13系統添加了對暗黑模式的支持,暗黑模式所帶來的質感以及填充感是大家所公認的。優酷App也準備加入對iOS 13和Android 10系統的暗黑模式支持,優酷測試部門的暗黑模式適配工作提上了日程。全站暗黑視覺升級對測試來說也是全新的挑戰,因為暗黑模式的適配涉及大到一個頁面、組件,小到一個按鈕、一個組件元素;涉及到交互彈窗、Toast,同時也有全局換膚以及氛圍配置的兼容工作。

那麼優酷測試部門是怎麼去覆蓋全站的暗黑模式的測試工作的呢?這篇文章希望通過對暗黑模式測試的簡單總結,來為未來的全站顏色切換等測試流程提供方法沉澱,同時也希望給其他BU開展暗黑模式適配的測試提供參考。

優酷暗黑模式(十一):質量保證簡析 1

二、測試方案

起初,對於優酷App暗黑模式的測試,我們邀請開發同學進行了實現方案講解,分析影響面之後,我們總結出有效review case 7類。起初,測試團隊認為這些case足以覆蓋所有的情況,剩下的UI細節交給設計同學走查驗收。

優酷暗黑模式(十一):質量保證簡析 2

可是,在之後的實際測試中,我們發現除一級頁面之外,其他二級頁面,小的組件都存在沒有切暗黑狀態的情況。要么被開發同學遺漏,或者被設計走查遺漏。並且還發現App啟動崩潰、App啟動耗時變長、iOS 13以下系統的兼容性等問題。經過复盤之後,測試團隊覺得暗黑模式的測試可能沒有這麼簡單,光憑這7類case是不夠全面的,大家之前的評估存在偏差。

所以我們需要考慮暗黑模式適配到底需要測什麼?通過測試中遇到的問題,我們不難看出暗黑模式測試需要包括功能、性能、穩定性、兼容性、用戶體驗,相關的測試一個都不能少。需要方方面面覆蓋,不然App整體的質量及用戶體驗堪憂。

優酷暗黑模式(十一):質量保證簡析 3

1、暗黑怎麼測?

通過上面的介紹,我們知道了測什麼。那麼,應該怎麼測呢?各個階段我們需要關注哪些內容?下面詳細介紹怎麼測,以及對應測試階段需要關注的測試點避免踩坑。

1) 功能測試

全站暗黑模式測試是有很多頁面的,我們需要覆蓋這些大大小小、深深淺淺的頁面呢。這裡,我們就要整體確定測試維度,避免忙亂無序,事倍功半。前期就需要我們制定有序的測試維度:

優酷暗黑模式(十一):質量保證簡析 4

2) Android 10、iOS 13及以上系統設備

基本測試case包括下面幾個方面:

  • 深色/淺色切換顯示顏色模式正確
  • 暗黑模式下切換皮膚、氛圍,優先級暗黑<皮膚<氛圍
  • 冷啟動、切後台暗黑模式讀取狀態正確

有一些特殊組件是需要專門適配的。例如: 服務端下發標題image在暗黑模式下展示效果不正確,所以針對此類特殊組件需要降級處理。

優酷暗黑模式(十一):質量保證簡析 5

2、穩定性測試

最開始,我們並未為暗黑模式添加全局的 “enable/disable”開關。然而,優酷iOSApp提測之後,我們發現App偶現啟動崩潰。經過定位,發現此類崩潰是讀取暗黑模式需要的顏色時機過早,iOS暗黑SDK還未初始化完畢導致的。

針對此類問題我們設計了兜底策略,保證一定能讀取到相應的值。同時,添加全局”enable/disable”開關,App默認開啟暗黑模式,如果遇到質量問題可以隨時下線。

優酷暗黑模式(十一):質量保證簡析 6

3、兼容性測試

1) Android 10、iOS13 以下系統設備

下面是我們需要測試的點

  • Android 10,iOS13 以下的手機要能正常安裝支持暗黑模式的包且正常工作
  • Android 10,iOS13 以下的系統不能錯誤地讀取到暗黑模式的色值和資源

2)Android 9系統廠家自行實現“暗黑模式”的情況

  • 需要檢查此類設備切到非官方“暗黑模式”後,功能有沒有嚴重異常。由於這類暗黑模式的實現非官方,針對此設備上出現的輕微UI問題,一般不做修復。
  • 此類機型上我們出現過播放場景橫豎屏切換崩潰的問題 。

4、用戶體驗

我們在保證技術實現的基礎上,必須要保證用戶體驗達標。本著對用戶負責的態度,暗黑模式的驗收第一標準就是用戶體驗。針對用戶體驗問題也是最高優先級修復:我們在保證技術實現的基礎上,必須要保證用戶體驗達標。本著對用戶負責的態度,暗黑模式的驗收第一標準就是用戶體驗。

針對用戶體驗問題也是需要最高優先級修復。所以暗黑模式準備上線的時候,優酷App是準備默認不打開暗黑模式,通過下發配置來打開開關,二次啟動App暗黑模式才會生效。測試團隊認為這個方案導致視覺觀感不佳,對這個方案進行了質疑。雖然看似確保了穩定性,但是嚴重影響用戶體驗。所以最終研發團隊修改了方案,在最大程度保證穩定性的前提下,將優酷App的暗黑模式設置為默認打開。

三、展望

暗黑模式的上線,給測試團隊的測試工作帶來了極大的挑戰,我們也在思考如何減輕測試團隊的壓力。

1、暗黑模式的頁面和組件改造可能是有遺漏的。是否可以把已經實現暗黑模式的組件加上埋點,上線後通過撈取數據來查缺補漏。

2、針對暗黑模式的回歸測試方案,怎麼能最大化的減少測試回歸量。目前方案:iOS 13暗黑模式下跑全量功能case,每個業務場景試一下淺色模式和暗黑模式的切換;Android 10暗黑模式下跑全量功能case,每個業務場景試一下淺色模式和暗黑模式的切換。

3、之後新開發的組件,如何減小測試回歸範圍。

對於這些問題,如果各位同學有好的建議和想法,歡迎在評論中和我們交流。

作者簡介

琴奇,阿里文娛測試開發工程師。

相關閱讀

優酷暗黑模式(一):是什麼、為什麼、如何落地?

優酷暗黑模式(二):如何建立設計語言標準化管理體系

優酷暗黑模式(三):暗黑模式設計指南

優酷暗黑模式(四):設計標準化的技術實現

優酷暗黑模式(五):暗黑模式的技術實現策略

優酷暗黑模式(六):暗黑模式的技術支撐 iOS

優酷暗黑模式(七):暗黑模式的技術支撐 Weex & H5

優酷暗黑模式(八):分發場景落地(Android & iOS)

優酷暗黑模式(九):消費場景落地(Android)

優酷暗黑模式(十):消費場景落地(iOS)