本文說明如何設定並執行發佈前測試報告。如果你已執行發佈前測試報告,並想瞭解如何解讀結果,請前往瞭解你的發佈前測試報告。
在內部、封閉或公開測試發佈途徑發佈應用程式時,系統會自動產生發佈前測試報告,以助你在使用者取得應用程式前主動找出問題。發佈前測試報告會測試下列項目:
- 穩定性問題
- Android 兼容性問題
- 效能問題
- 無障礙功能問題
- 安全漏洞
- 私隱權問題
發佈前測試報告的運作方法
上載及發佈測試 Android App Bundle 後,我們會在測試實驗室將應用程式安裝到一系列 Android 裝置上。然後,我們會自動啟動並檢索你的應用程式數分鐘。檢索器會執行基本操作,例如打字、輕按和滑動。你亦可為檢索器提供自訂測試或測試帳戶憑證。
檢索完成後,我們會在發佈前測試報告中編製結果。我們亦會從所有裝置解除安裝你的應用程式。
評估應用程式是否適合執行發佈前測試報告
只要我們能夠安裝並「檢索」你的應用程式,發佈前測試報告就能正常運作。不過,特定應用程式可能需要修改少量程式碼。常見例子包括需要驗證國家/地區或驗證安裝的應用程式。如要瞭解詳情,請前往我們的常見問題。
請注意,測試裝置無法對沒有主要啟動活動 (包括啟動器、小工具、鍵盤和錶面) 的應用程式執行測試。
執行發佈前測試報告
測試應用程式如要為應用程式產生發佈前測試報告,請在封閉或公開測試發佈途徑上發佈應用程式。
如果你經測試發佈途徑發佈應用程式,除非你選擇退出,否則系統將自動向你傳送發佈前測試報告。上載 App Bundle 後,通常會在 1 小時內收到測試結果,但有時候則要等數小時才能收到。
按照下列步驟設定,便可在有發佈前測試報告時收到電郵通知:
在封閉或公開測試發佈途徑上發佈應用程式時,系統會自動產生發佈前測試報告。如要為應用程式停用所有發佈前測試報告,請按下列步驟操作:
- 開啟「Play 管理中心」> [發佈前測試報告] > [設定]。
- 往下捲動至「偏好設定」,並取消勾選「開啟發佈前測試報告」選框,為應用程式停用報告。
- 按一下 [儲存]。
自訂測試
你可自訂測試,以讓發佈前測試報告更全面,同時提供與應用程式更相關的資料。
步驟 1:如果你的應用程式設有登入畫面,請提供測試帳戶憑證
如果你的應用程式設有登入畫面,而你想檢索器測試登入程序或登入後的內容,則需要提供帳戶憑證。
請注意:如果你的應用程式支援「使用 Google 帳戶登入」功能,檢索器就能夠自動登入,因此你無需提供憑證。如果你已在「應用程式內容」頁面提供憑證,亦無需再提供。
以下是測試憑證時須緊記的一些重要事項:
- 你提供的憑證只會作測試用途。
- 我們會竭盡所能保護測試憑證的安全,但仍建議你不要在發佈前測試報告中加入任何官方憑證。相反,請建立測試帳戶使用者名稱及密碼。
- 憑證只能自動插入使用標準 Android 小工具的 Android 應用程式,並無法在透過 OpenGL 輸出自訂控制項的應用程式使用,亦無法用於透過 WebView 執行網頁認證流程的應用程式。
- 如果你的應用程式支援「使用 Google 帳戶登入」功能,Google 將自動登入。
- 開啟「Play 管理中心」。
- 選取應用程式。
- 在左側選單中,選取 [測試] > [發佈前測試報告] > [設定]。
- 在「測試帳戶憑證」部分,選取 [提供憑證]。
- 輸入下列資料:
- 使用者名稱:與你的測試帳戶關聯的使用者名稱。
- 密碼:與你的測試帳戶關聯的密碼。
- 按一下 [儲存]。除非有人編輯,否則這些憑證將會用於日後所有測試。
- 開啟「Play 管理中心」。
- 選取應用程式。
- 在左側選單中,選取 [測試] > [發佈前測試報告] > [設定]。
- 作出變更:
- 如要編輯憑證:請在「測試帳戶憑證」部分的使用者名稱和密碼欄位,輸入已更新的憑證。
- 如要移除憑證:請在「測試帳戶憑證」部分選取 [不提供憑證]。
- 請注意:如果你移除應用程式的測試憑證,則需要先新增新的憑證,日後的測試才能登入應用程式。
- 按一下 [儲存]。除非有人編輯,否則這些憑證將會用於日後所有測試。
步驟 2:提供 Robo 指令碼或遊戲循環
如果你想控制檢索器在測試應用程式時執行的步驟,可以提供 Robo 指令碼或遊戲循環。
提供 Robo 指令碼,以自訂 Java 應用程式的測試路徑如果你想控制檢索器在測試應用程式時所執行的步驟,可以提供 Robo 指令碼以執行特定操作,例如測試一般使用者體驗或應用程式的新部分。
如果你使用附加指令碼執行測試,檢索器會首先執行預先規定的操作,然後照常探索應用程式。
如要上載指令碼至發佈前測試報告,請按下列步驟操作:
- 請使用 Android Studio 中的 Firebase 工具錄製指令碼 (按一下 [Android Studio] > [工具] > [Firebase] > [Test Lab] > [錄製 Robo 指令碼])。詳情請參閱 Firebase 說明中心。
- 請注意:你無需 Firebase 帳戶,亦可建立 Robo 指令碼。
- 指令碼準備就緒後,請開啟「Play 管理中心」。
- 選取應用程式。
- 選取 [測試] > [發佈前測試報告] > [設定]。在「控制發佈前測試報告如何探索你的應用程式」部分上載你的指令碼。你可以拖放檔案或選取 [上載]。
- 按一下 [儲存]。
如要測試遊戲或使用 OpenGL 的應用程式,則需要提供遊戲循環,才能獲得良好的發佈前測試報告。遊戲循環界定你想檢索器執行的操作。你可在同一應用程式測試多於 1 個遊戲循環。
如何在發佈前測試報告中使用遊戲循環:
- 修改遊戲以執行下列操作:
- 啟動循環
- 執行循環
- 關閉循環 (選用)。請在開發環境進行以上修改。詳情請參閱 Firebase 說明中心。
- 請注意:你無需 Firebase 帳戶,亦可在發佈前測試報告中使用遊戲循環。
- 在封閉或公開測試發佈途徑發佈包含遊戲循環的遊戲版本。檢索器會自動偵測並執行遊戲循環。
步驟 3:利用深層連結自訂測試起點
你可新增最多 3 個深層連結到發佈前測試報告,以為應用程式測試額外進入點。
檢索器會如常運作幾分鐘,然後會關閉應用程式,並順序瀏覽深層連結,再額外檢索 30 秒。在額外檢索過程中發現的問題亦會如常記錄至報告中。
如要瞭解如何為應用程式建立並測試深層連結,請瀏覽 Android 開發人員網站。
步驟 4:查看特定語言的測試報告
如想查看特定語言版本的測試結果,可以在發佈前測試報告設定頁面設定偏好語言。你最多可選取五種語言。
提示:由於發佈前測試報告會在你上載測試 App Bundle 時自動執行,因此你只能在初次測試完成後新增偏好語言。
設定偏好語言- 開啟「Play 管理中心」。
- 選取應用程式。
- 在左側選單中,選取 [測試] > [發佈前測試報告] > [設定]。
- 在「測試應用程式的特定語言版本」下,選取 [+ 新增語言]。
- 最多可選取 5 種語言。在日後的測試中,你只能看到所選語言的測試結果。
- 請注意:如果你不選取任何語言,我們會自動選取你的應用程式安裝次數最多的語言。
- 按一下 [儲存]。
查看發佈前測試報告
如有發佈前測試報告,你可以查看測試摘要,其中包括測試期間發現的錯誤、警告和輕微問題數量 (按問題類型分類)。你亦會看到根據應用程式測試結果提供的發佈建議。
查看發佈前測試報告摘要如要查看發佈前測試報告的摘要,請按下列步驟操作:
- 開啟「Play 管理中心」。
- 選取應用程式。
- 選取 [測試] > [發佈前測試報告] > [概覽]。
- 查看各部分:
- 穩定性
- 效能
- 無障礙功能
- 安全性和信任
- 如果任何部分出現問題,選取 [顯示摘要] 即可展開該部分。
- 選取 [查看詳情] 即可查看關於問題的更多詳細資料。
- 如要查看之前的發佈前測試報告,請捲動至頁面底部「報告詳情」部分中的表格。
請注意:如果畫面顯示「測試進行中」,即代表最新測試尚未完成。當最新測試無法執行時,系統可能會顯示「測試失敗」。如要執行另一個測試,請發佈另一個 App Bundle。
如要查看發佈前測試報告的詳細結果,請按下列步驟操作:
- 開啟「Play 管理中心」。
- 選取應用程式。
- 選取 [測試] > [發佈前測試報告] > [詳情]。
- 查看穩定性、效能、無障礙功能、螢幕截圖和安全性和信任標籤。你可以在每個頁面上看到最新測試結果的完整詳情,包括堆疊追蹤、螢幕截圖和圖表。
請注意:如果畫面顯示「測試進行中」,即代表最新測試尚未完成。當最新測試無法執行時,系統可能會顯示「測試失敗」。如要執行另一個測試,請發佈另一個 App Bundle。
常見問題
應用程式測試
測試應進行多長時間?上載 App Bundle 後,通常會在 1 小時內收到測試結果,但有時候則要等數小時才能收到。如你在兩日後仍未收到完整報告,請嘗試再次上載成品。這會觸發系統傳送全新報告。
在啟動時進行驗證的應用程式
我可以為執行國家/地區驗證的應用程式執行發佈前測試報告嗎?如你不介意修改應用程式的少量程式碼,則仍可獲得發佈前測試報告。
測試裝置位於美國。如果你的應用程式使用地理位置,或有基於國家/地區的內容限制,測試裝置只會顯示所在位置可提供的內容。
如果你需要在測試裝置所在位置以外的地理位置測試應用程式,你可基於測試目的發佈移除位置規定的 App Bundle。你可以透過兩個方法偵測 Test Lab 是否正在執行發佈前測試報告:
- 你可以將此「Firebase Test Lab 概覽」中記錄的 IP 位址區段列入許可名單。
- 你可以新增系統變數,以查看「修改 Test Lab 的測試行為」。
測試平台不支援檢查裝置是否擁有 Android 控制權限 (root 存取權) 的應用程式。
含有廣告或付費選項的應用程式
我的應用程式有廣告。如何確保發佈前測試報告測試不會令我的展示次數和點擊次數提升 (我的廣告聯盟可能會偵測到這些次數或對此感到不滿意)?Google 廣告已排除發佈前測試報告位址範圍的流量。對於其他廣告聯盟,你需要指定要排除的 IP 位址範圍。
如要瞭解如何透過自動應用程式測試減少欺詐廣告收益,請參閱 Google 開發人員網站。
測試裝置無法在測試期間作出交易。如果你的應用程式提供訂閱或應用程式內產品以存取某些應用程式部分,則測試情境可能受限。
其他應用程式行為
我的程式碼經編碼隱匿 (Java) 或是被剔除 (原生),我是否仍可使用發佈前測試報告嗎?可以。無論程式碼是否經編碼隱匿或被剔除,系統都會執行發佈前測試報告測試。
不過,如果你的程式碼隱匿編碼或被剔除,在測試過程中發現的任何當機或 ANR 也將會有隱匿編碼或被剔除的堆疊追蹤。為了讓堆疊追蹤更易偵錯,建議你上載反模糊化或符號化檔案。
你可進一步瞭解如何上載反模糊化或符號化檔案。
不可以。測試平台不支援為裝置預先載入媒體或預先安裝的應用程式。
不過,如果想測試含預載資料的應用程式,你可以在 App Bundle 中嵌入媒體檔案,然後才為應用程式發佈測試版。
如果你的應用程式處於公開測試階段或已發佈正式版本,發佈前測試報告便會在測試時使用一個 ID 作為應用程式的授權 ID。
如果你的應用程式並非處於公開測試階段,而且尚未發佈有效的正式版 App Bundle,則應用程式將無法通過授權檢查。你仍會收到發佈前測試報告結果,但應用程式會處於未授權狀態。如要測試這些應用程式,你可以為應用程式發佈封閉版,並停用授權服務。
根據預設,測試裝置會以固定的直向屏幕定向執行測試。不過,如果應用程式鎖定為橫向,則影片和螢幕截圖應會以水平模式顯示。
裝置選擇
Google 如何決定要用哪些裝置測試我的應用程式?我們會選擇廣泛覆蓋整個生態系統的測試裝置,並會同時考慮裝置受歡迎度、當機頻率、螢幕解像度、製造商、Android 作業系統版本等因素。因此,測試裝置的選擇會因情況而有所不同。
如果你在應用程式資訊清單中的指定目標排除了部分裝置,則發佈前測試報告亦會在測試中排除這些裝置,但不會為應用程式指定任何額外裝置。
發佈前測試報告由 Firebase Test Lab 提供。如要自訂測試裝置,請考慮在 Firebase 控制台中自行進行測試。
可以,我們將在模擬器上執行應用程式,並如同在實體裝置上進行檢索。
我們的裝置組涵蓋手機、平板電腦、Wear OS 和 Chromebook 等桌面裝置。但你無法透過 Android Auto 或 Android TV 測試應用程式。
我們的裝置組涵蓋 Android 9 或以上系統的裝置。