Android Google DDMS GMS CTS

遵循官方文件規範 Android行動裝置測試更完善

2014-04-28
本專欄題將介紹時下主流行動裝置作業系統Android的軟硬體(裝置及應用程式)官方測試標準以及測試工具,藉由一系統化的資料介紹讓讀者對於行動裝置測試有基本的認識。本期將先介紹Android官方測試文件規範內容。

Android系統經由幾年的發展,已成為主流行動裝置作業系統之一,常見的測試需求有兩種;若裝置上要擁有Android應用市集Google Play功能,必須通過官方的相容性測試套件(Compatibility Test Suite);若是要搭載Google特有的服務例如Gmail、Google MAP等,則須要通過Google行動服務(Google Mobile Service)測試套件。除此之外,Google提供的官方測試文件Android Compatibility Definition Document(CDD),描述了各版Android系統,以及必須提供的軟、硬體基礎功能需求,以下整理為七大類型:

Application Packaging Compatibility

在Android Compatibility Definition Document中,此章節定義了Android的應用程式資料格式,目前系統只支援.apk型態的檔案進行安裝與執行。

Multimedia Compatibility

此章節定義系統各版本系統必須支援的多媒體編、解碼格式,可分為聲音、影片以及影像三部分,在新版本的Android 4.x之後開始加入V8、V9的網路串流格式,資料整如表1~2所示。

另外,在Android的多媒體測試中,也特別針對串流部分進行測試。

Developer Tools and Options Compatibility

Android系統包含四個發展工具:Android Debug Bridge、Dalvik Debug Monitor Service、Monkey以及SysTrace,分別說明如下:

Android Debug Bridge
 

這是最常見的Android除錯工具,可透過無線網路或通用序列匯流排(USB)進行電腦與裝置連線。常用adb指令整理如表3。

Dalvik Debug Monitor Service
  提供了連接埠轉發(Port-forward)、裝置畫面截取以及系統資源監控等功能,例如可以進行即時系統程序(Thread)分析協助使用者了解資源應用狀態。
Monkey
 

此工具提供模擬輸入的功能,可協助進行系統壓力測試,透過隨機輸入(螢幕觸控、拖移、滑動等),確保系統不會因為不合邏輯的組合操作造成應用程式或系統異常,可模擬的事件描述如表4所示。

SysTrace
 
圖1 GMS與CTS僅是Android系統測試的一部分

為進階的應用程式分析工具,可進行應用程式剖析,例如當程式開始執行按下按鈕後直到繪出圖案,而此過程中每一個命令所消耗的系統資源使用情形。所以,此工具非常適用於進行軟體效能調校(圖1)。

Hardware Compatibility

此章節用於定義裝置硬體之相容性,內容包含如下七種不同的硬體模組:

顯示與圖形
 

包含解析度、顯示方向、是否支援二維(2D)/三維(3D)硬體加速以及螢幕類型等,如表5所示,Android一共支援八種像素密度(Density),以及兩種類型的螢幕類型。固定像素(Fixed-pixel)用於手機、平板等嵌入式裝置顯示,而變動像素(Variable-pixel)適用於外部輸出,例如VGA、HDMI等畫面輸出時使用。

輸入裝置
  包含鍵盤、方向鍵、觸控螢幕以及麥克風等輸入硬體元件。
感測器
  除了定義常見的加速計、磁力計、全球衛星定位系統(GPS)以及陀螺儀,並支援多種新型感測器,如氣壓計、溫度計、照度計以及接近感應器。
資料連線
  連線的方法包含電話、無線區域網路(Wi-Fi)、藍牙(Bluetooth)以及近距離無線通訊(NFC)等。
相機
  此部分定義了鏡頭的功能規格與使用行為,例如當裝置同時擁有前後鏡頭時必須提供切換畫面的功能。
記憶體與儲存裝置
  此部分清楚地描述到Android系統至少必須擁有340MB的記憶體容量以及1GB以上的儲存空間(建議值為2GB)。
USB
  由於大多數的裝置都是透過USB介面進行連線,因此Android對於此介面特別有一小節進行描述定義,其中也建議硬體開發者最好能夠提供USB充電的功能。

Performance Compatibility

Android系統效能部分只有針對原生的三個應用程式執行速度進行規範,細部規定如表6所示。

Security Model Compatibility

此章節定義了系統的安全相容性測試,可分為應用程式權限安全與系統資料安全兩部分來看。

應用程式權限安全
 

在Android的應用程式中,主要是透過權限機制(Permissions)進行控管,所有應用程式之權限皆定義在AndroidManifest.xml檔案內。此外,有些特殊權限(如重開機)除了在權限檔案中必須事先宣告外,還必須配合擁有此權限使用者才可執行。

系統資料安全
  此部分定義了系統的檔案權限限制以及多使用者的帳戶管理,例如有些特定的目錄是不准許使用者進行檔案的新增與刪除。

Software & Software Compatibility Testing

此部分為文件中描述篇幅最多的章節,內容包含軟體相容性(Soft API Compatibility)、應用程式介面相容性(API Compatibility)、網路相容性(Web Compatibility)等,定義了多項裝置描述、系統資訊描述、系統輔助工具等,其中還包含了Android Compatibility Test Suite(CTS)、Compatibility Test Suite Verifier(CTS Verifier)、Reference Applications等三大測試工具。

Android Compatibility Test Suite

圖2 CTS測試流程與測試報表示意圖

此測試套件為Android官方所提供的相容性測試套件,用來驗證其系統API相容性,此運作原理如圖2所示,測試腳本是透過Java語言編寫JUnit的方式再透過Android內建Instrumentation介面進行測試。當測試完成後,會自動產生測試報表,告知測試者測試總數、測試執行情形等資訊。

隨著Android的改版,CTS套件執行的方式也不同,對照表如表7所示:

Compatibility Test Suite Verifier

此部分為半自動的測試項目,主要用來測試無法由程式自動判斷的功能,例如裝置硬體周邊聲音品質、亮度調整、加速計功能等,測試方法為依據測試套件指示進行動作操作,再依據裝置回應由人工方式判讀決定測試結果。

Reference Applications

針對此部分,Google的官方文件準備了十五個參考應用程式,Android裝置必須皆可正常執行,細部說明如表8所示。

Updatable Software

此章節定義了Over-the-air(OTA)、Tethered、Offline等三種系統韌體更新的模式。Over-the-air模式,係透過網路下載進行離線更新;Tethered模式,由個人電腦(PC)透過USB介面更新;Offline模式,則從裝置儲存裝置進行韌體更新。

(本文作者任職於資策會智慧網通系統研究所)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!