1. 事前準備
本程式碼研究室會說明如何在 Android 應用程式中進行測試,以及如何套用自動化測試。
必要條件
- 具備在 Android Studio 中瀏覽專案目錄的基本知識。
課程內容
- 什麼是測試。
- 什麼是自動測試。
- 什麼是單元和檢測設備測試。
- 如何在 Android 專案中尋找單元和檢測設備測試檔案。
需求條件
- 已安裝 Android Studio 的電腦。
- 您在本課程上一個程式碼研究室中建立的專案。
2. 什麼是測試?
在軟體的結構定義中,「測試」是指檢查軟體確認其是否正常運作的結構化方法。自動化測試是實際的程式碼,可檢查並確認您撰寫的其他部分程式碼是否正常運作。
測試軟體功能的優點,即是可在正式將程式碼公開發布前先行修正錯誤;良好的使用者體驗至關重要。
雖然手動測試幾乎一律皆具有地點,但 Android 系統測試通常是由系統自動執行。在 Kotlin 課程的 Android 基本概念中,您會著重於自動測試,以測試應用程式的程式碼和應用程式本身的功能需求。在這個程式碼研究室中,您將瞭解在 Android 中執行測試的最基本概念。在後續的程式碼研究室中,您可進一步瞭解關於測試 Android 應用程式的進階做法。
熟悉 Android 開發流程並測試 Android 應用程式後,請定期使用應用程式程式碼撰寫測試加以演練。每當您在應用程式中建立新功能時,請務必建立測試,日後隨著應用程式增長,工作負載也會隨之減少。您也可以透過這種方式輕鬆確認應用程式是否正常運作,無須耗費太多時間手動測試應用程式。
3. 自動化測試簡介
自動化測試是一段程式碼,可確保您編寫的另一段程式碼正常運作,且會隨著專案不斷增長變化照常運作。自動化測試是所有軟體開發與 Android 開發流程中不可或缺的一環。因此,現在推出這項功能正逢其時!當您建立第一個 Android 應用程式時,可能會發現主要活動位於 main
目錄的子資料夾中。在 src
目錄中,您也可能會發現 test
和 androidTest
目錄。這兩個目錄為撰寫測試程式碼的所在位置。Android 開發流程中的自動化測試分為兩種類型:單元測試與檢測設備測試。這兩個目錄代表上述兩種測試類型,
尋找單元測試程式碼
Android 本機測試位於 test
目錄中,其通常為單元測試。單元測試會直接測試一小段程式碼,確保其正常運作。您可利用單元測試來測試函式、類別和屬性。本機測試會在 Java 虛擬機器上執行,因此可在開發環境中執行,而無須在裝置或模擬器上執行。在您的電腦上執行單元測試是一種理想境界。Android Studio 已準備好自動執行本機測試。
每當您建立新專案,Android Studio 即會自動產生一個簡易的單元測試。對於檢測設備測試也是一樣。請特別注意,這些測試並不會實際產生任何關聯性,只能用來當做預留位置。目前,我們只要瞭解在何處尋找測試檔案即可。您將在後續課程中深入探討這些產生的測試內容。
如何尋找單元測試程式碼:
- 開啟上一個專案的「生日賀卡」應用程式。
- 視需要從導覽選單中選取「Android」。
- 依序按一下「app」>「java」>「com.example.happybirthday (test)」>「ExampleUnitTest」。
尋找檢測設備測試程式碼
就 Android 開發結構定義而言,檢測設備測試通常是指「使用者介面測試」(UI 測試)。檢測設備測試可讓您根據活動與片段生命週期,以及平台 API 和服務,測試應用程式的部分內容。
有別於單元測試,UI 測試不會直接測試程式碼,而是測試使用者介面,以便確認顯示正確的 UI 元件,而且當使用者在 UI 中採取動作時,使用者介面會正常運作。另一個差異,在於所有檢測設備測試皆必須在實體裝置或模擬器上執行。在先前的課程中,您已設定模擬器,因此這個步驟已經完成。
當您在 Android 系統中執行檢測設備測試時,測試程式碼實際上已建置至專屬 APK,就像一般 Android 應用程式一樣。APK 是經過壓縮的檔案,內含在裝置或模擬器上執行應用程式所需的所有程式碼與必要檔案。該測試 APK 會與一般應用程式 APK 一併安裝在裝置或模擬器上。接著,測試 APK 會根據應用程式 APK 執行測試。
執行測試之前,請先瞭解程式碼的用途。
如何尋找檢測設備測試程式碼:
- 若您位於「Android」專案檢視,請按一下「app」>「java」>「com.example.happybirthday (androidTest)」>「ExampleInstrumentedTest」。
- 若您位於「Project」專案檢視,請按一下「HappyBirthday」>「app」>「src」>「androidTest」>「java」>「com.example.happybirthday」>「ExampleInstrumentedTest」。。
4. 恭喜
您已瞭解什麼是 Android 測試,以及如何在 Android 系統中尋找單元與檢測設備測試。