現今 UI 效能已成為涉足 App 發行的 潛在遊戲規則。因此,企業應更注 重 UI 效能測試,以改善使用者體驗,從而 在增加使用者同時留住現有客戶。UI 效能 取決於現有的功能測試環境。從使用者角 度更好地了解網路效能非常重要。其中關 鍵是將 App 效能測試整合至 CI / CD 流程 中。即可在開發流程的一開始就發現問題 並為您的客戶提更完善的使用者體驗。

在叡揚 e 論壇 99 期分享了以功能性 QA 工程師為何需要追求行動應用程式效能 ( 上 ),這篇延續上期論點,從效能 – 使 用者角度繼續探討企業如何透過效能測試 與 CI/CD 流程,進而提供更完美的使用者 體驗。

如何提高移動效能?

上述的網路概念點出了對於測試環節的重 要性,組織更應該專注於如何改進效能測 試流程。通常,組織會依據構建 App、構 建伺服器、部署伺服器、上傳 App 並執行測試等流程不斷循環。往往效能測試環節 會在整個開發流程的最後一步。甚至出現 由使用者發現效能問題的情況。然而,最 好的方法是利用 CI / CD 管道將測試流程 整合在開發過程中。

15 1

改善使用者體驗的最佳方法是將效能測試 合併到功能測試部分中。為此,建議請將 收集交易資料作為功能測試的一部分。例 如:創建一個將存儲所有交易訊息的交易 訊息資料庫。當執行手動和自動測試時, 交易資料將存儲在此資料庫中。然後,對 此資料執行交易分析以分析和調試問題。

15 2

以現有版本或早期版本的交易時間作為比 較基準。例如:當前版本之 App” 登入” 通常需要 4 秒鐘。可能無法直觀判斷速度 快慢;但當改版後的 App 登入時間增加到 6-8 秒時,就可以非常明確的肯定時間變 慢。透過分析資料的過程找尋導致延遲的 原因。例如:使用 HAR 可視化工具分析資 產的加載方式並確定回歸問題。以下列展 示為例,帶各位瞭如何識別效能問題。

打開 Experitest 雲端測試平台

您可以查看全球範圍內的智慧型裝置列 表,您可在各種裝置上執行測試。隨機點 選一個裝置測試。

15 3圖中的事務記錄器,當您按下紅色按鈕時,系統便開始記錄
遠端裝置上完成的事

設定測試的實體網路類型

在智慧型裝置上打開一個網頁並執行記錄器。例如:Netflix。由於大部分使用者會 透過 3G/4G 網路進行上網,為了讓測試 貼近使用者的實際使用狀況,建議測試過 程中使用 3G 網路連線而非 Wi-Fi。

15 4

首先在網址列中輸入 URL,接著點選 Record 前往頁面,能觀察到 Netflix 在打 開網站前已加載大多數頁面元素,因此提 供了良好的使用者體驗。

檢視測試過程

15 5

您可執行記錄查看完整的交易過程,操作 介面左上角點選查看網站詳細訊息,例如: 網站名稱、平台、裝置和瀏覽器。在操作 介面右側區塊中可看到如:持續時間、 CPU、儲存空間、電池使用量等指標。打 開 HAR 視圖時,可看到瀑布流程圖,圖中 會顯示每個資源的加載方式。近一步點擊 可檢視每個事件並進行分析。

測試過程

15 6

15 7

15 8

15 9

在測試平台中開啟新裝置,並安裝應用程 式後開啟並登入。請注意,測試會從點擊 登入按鈕後開始,不是在輸入使用者名和 密碼時開始。因此,在輸入使用者名和密 碼時記得點選按記錄器按鈕,登入後 App 便會與伺服器後台進行身份認證行為。頁 面完全渲染後,停止事務並保存記錄,打 開測試記錄就可看到完整的交易明細。

測試分析時,不能憑單個測試事件來分析 應用程式效能,因樣本數量會影響分析結 果,建議收集百次以上的測試執行後,針 對日誌記錄事務進行比較、分析持續時間 的變化以便歸納問題。以下使用 Appium 和 IntelliJ IDE 進行功能測試為例。

STEP 1------------------------------------------

從 IntelliJ IDE 安裝新版本的應用程式,登入到應用程式並設 定使用者名和密碼。

15 10

STEP 2

點擊登入按鈕,然後等待身份驗證流程。

15 12

STEP 3

當整個測試流程錄製完成,即可以在多個設備上多次執行測 試,並打開 Jenkins CI / CD 工具。若要進行複雜的視覺化 呈現,可使用 Jenkins 套件 Blue Ocean。

15 12

STEP 4

在 Jenkins CI / CD 管道中,查看構建、部署和執行測過程, 並進行測試執行。

15 13

STEP 5

Jenkins 會自動進行下載資源、編譯以及執行測試,所有測試 項目以及執行畫面都會呈現於儀表板。

15 14

STEP 6

分析時可選擇多個測試結果資料。另可針對測試類型、裝置 類型、App 版本等進行調整。如圖所示選擇了登入驗證、 Android 裝置和最新的 3 個 App 版本。

15 15

結果

15 16

如圖所示,比較 100 筆登入流程的平均 時間中 App 版本 1 花費 2 秒、版本 1.1 花 費 4 秒、版本 1.2 花費 6-7 秒。在大樣本 數測試下,以舊版程式測試時間為基準, 利用測試時間的變化量、檢查儲存空間、 CPU 和其他資源的使用情況等,進行問題 歸納。確認問題後,可透過瀑布圖打開該 流程資料並確定各元素的執行情況。

結合上下兩期的內容,企業透過 UI 效能測 試的目的是為了改善 APP 使用者體驗,提 高顧客的穩定性,進而提供更加優質的服 務。要實現此目標最好的方式是將 APP 測 試整合至 CI/CD 流程中,在開發的同時 便找出問題,給予客戶更完善的使用者體 驗。