Mobile App測試時需要考慮的一些因素
Mobile App測試時需要考慮的一些因素
1、裝置選擇
在開始Android應用程式測試過程之前,這是最關鍵的步驟之一。
- 決定測試過程中要考慮哪些裝置:使用模擬器還是使用真實的Mobile裝置;
- 選擇是為了最大化目標客戶的數量;
- Android 作業系統版本、螢幕解析度和表單因素 [Tablet 或 Smart Phone] 在選擇階段起著至關重要的作用;
- 為了測試真實場景,物理裝置是必須的。模擬器和物理裝置都要以平衡的方式使用以獲得優化的結果。
2、Android應用程式的Beta Testing及策略
- Beta Testing 對於真實世界的使用者、真實裝置、實際網路和安裝在廣闊地理環境中的應用程式非常有效;
- Beta Testing 清楚地說明了網路密度、網路變化 [Wi-Fi、4G、3G和2G] 以及對應用的影響。
在現實世界中的Beta測試就是其中之一,不能在受控環境中複製。
3、連線性(Connectivity)
- 通常,Android應用程式連線到網際網路中以滿足各種需求;
- 不同裝置上的連線性在提出策略時起著關鍵作用;
- 連線性主要由模擬器軟體控制,該軟體有助於在測試時調節網路速度、延遲和有限的連線;
- 在真實資料網路連線下的測試對於實時結果/資料是及其有用的。
4、手工測試和自動化測試
- 雖然自動化測試在第一次執行中需要大量的時間,但是當必須重複測試時,它就非常有用了。這也減少了在不同開發階段進行測試的總時間跨度。
- 當應用程式開發階段的迴歸測試重複性很高時,Android Automation 應該支援手動測試,對於同一應用程式,必須在不同的 OS版本、向後相容性檢查點等上進行相容性測試。
Android Application Testing Framework
1. Robotium
Robotium是一個Android測試自動化框架,它完全支援本地和混合應用程式。Robotium使得為Android應用程式編寫強大而健壯的自動黑盒UI測試變得容易。在Robotium的支援下,測試用例開發者可以編寫功能、系統和使用者接受測試場景,跨越多個Android活動。
主要針對Android平臺的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點選、長按、滑動等)、查詢和斷言機制的API,能夠對各種控制元件進行操作。
https://github.com/RobotiumTech/robotium
NEWS: Robotium 5.6.3 is released!
Robotium 5.6.3 is the fastest, most accurate and stable version of Robotium yet.
Robotium 的優點:
Robotium provides the following benefits:
- Test Android apps, both native and hybrid.
- Requires minimal knowledge of the application under test.
- The framework handles multiple Android activities automatically.
- Minimal time needed to write solid test cases.
- Readability of test cases is greatly improved, compared to standard instrumentation tests.
- Test cases are more robust due to the run-time binding to UI components.
- Fast test case execution.
- Integrates smoothly with Maven, Gradle or Ant to run tests as part of continuous integration.
2. Robolectric
這個框架有助於基於JUnit4框架在JVM上測試Android應用程式。它使用Android API。這有助於編寫測試用例並在JVM上執行它們。
http://robolectric.org/blog/2018/10/25/robolectric-4-0/
Robolectric 4.0 brings support for the Android P (SDK 28) release, new and improved support and testing APIs for dozens of Android classes, initial support for some androidx-test
APIs, and a complete rewrite of the resource handling code making it behave much more like a real Android device.
With the major version number bump to 4.0, we're making changes to some public APIs, detailed below. Check out the migration notes and use the new automated migration tool to help convert your existing tests to be compatible with Robolectric 4.0.
3. Appium Test Framework
這個框架適用於Android裝置的本地、混合和行動網路應用。Appium可以免費使用實用程式。單個API既適用於Android也適用於iOS平臺。這是支援跨平臺測試的框架之一。它使用Selenium Web驅動程式與Android應用程式互動。AppIII支援使用很多程式語言編寫指令碼,如Java、C語言、Python、PHP、Ruby etc.
根據需要,Android應用程式自動化可以通過手動實現。但是,如果將Androind自動化測試新增到策略中,那麼選擇正確的工具是一項很大的任務。在選擇自動化工具時,應考慮多平臺支援、測試工作流程、工具價格、服務/支援等因素。
Android應用程式測試涉及幾個挑戰。在Android測試過程真正實現之前,需要考慮不同的因素,但是一旦完成,這將成為一個非常有趣的任務。