如何測試Android應用多終端適配?

2012-05-16 09:50:27來源:極客公園作者:depthsky

Android 碎片化的問題確實困擾的不少的應用開發商,Animoca 是香港的一個應用開發商,它的應用已經有7000萬下載量,為了讓應用有最佳的表現,他們購買了400多款手機對應用進行質量測試。

Android 碎片化的問題確實困擾的不少的應用開發商,Animoca 是香港的一個應用開發商,它的應用已經有7000萬下載量,為了讓應用有最佳的表現,他們購買了400多款手機對應用進行質量測試。

下面的這張照片是 Animoca 的用于測試的Android的設備全家福。Animoca 母公司 Outblaze CEO Yat Siu 稱他們在網絡上已經檢測出有600多款不同的 Android 設備,而更糟糕的是,有很大的一部分設備在市面上已經無法買到。

如何測試Android應用多終端適配?

Android 系統由谷歌開發,以開源軟件方式免費提供給全球手機和平板電腦廠商,外部廠商可以自由修改定制,這導致市場上的 Android 系統版本極為凌亂,缺乏統一管理也導致 Android 平臺上出現了大量吸取用戶話費的惡意應用。不過面對業界長期抱怨的 Android 平臺碎片化問題,谷歌似乎仍未找到解決的良方。

Android 平臺碎片化來源——終端難題

對于終端廠商和開發者來說,版本升級與適配測試工作是十分繁瑣、復雜的,需要完成大量的軟件開發、測試、適配和認證。

\

當 Google 將開放源代碼錄入 Android 開源項目庫時,整個更新過程才能開始,而這通常只能是 Google 推出新的體驗設備時才會有的。原始設備制造商必須要獲得該代碼,并整合到內部代碼樹,此時,這項工作才算開始。接下來,一般要面臨三個階段:

第一階段:優化硬件抽象層(HAL)

硬件抽象層是 Android 的軟件層的基礎,這樣才可以使軟件訪問硬件設備。為適應 Android4.0 系統,Google 采用了 TI OMAP 作為操作系統基礎開發平臺,這就讓很多制造商不得不更新他們的 HAL,因為他們使用的不是基于 TI OMAP 的硬件方案,或者是高通,三星,聯發科,ROCKCHIP 等等。不過同樣是不以 TI 硬件作為開發平臺,廠商升級的難易度也不盡相同,加之眾多的產品型號、外形、屏幕尺寸和規格差異很大,HAL將需要針對每一個設備進行微調。

第二階段:Android 定制修改

終端廠商為了滿足自己運營商和其他合作伙伴的需求,開始對 Android 做定制修改。他們做了修補程序,自定義接口和其他一些雜項的修改,并對由此產生的系統ROM進行測試。所有的原始設備制造商都必須在定制 Android 平臺后進行內部測試、入網測試、內置應用程序測試等環節。

第三階段:網絡部署

根據不同的設備和運營商,網絡部署更新會有所不同。廠商傾向于通過測試小組測試來查找漏洞,然后再把更新公布給成千上萬的普通用戶。這就是所謂的浸泡測試。制造商可能會有幾十個測試設備,但它們也無法測到每一個可能的軟件和設置組合。通過浸泡測試,能在更新發布前避免BUG流出到用戶手中。如果一切進行的順利的話,這個更新就可以發布。

Android 平臺碎片化危害——應用適配現狀

隨著 Android 終端的迅猛發展和普及,越來越多的 App 與終端的不適配導致的 App 應用不能安裝、程序崩潰、意外終止等問題越來越多地困擾著廣大的用戶,也是終端廠商遭到投訴最多的一類問題,糟糕的口碑也使得愈加激烈的終端市場競爭雪上加霜。另一方面,大量終端廠商的低成本、低配置 Android 終端,以異常迅猛的趨勢覆蓋國內二三線城市、中亞和非洲國家市場,使得 App 應用和終端的不適配問題迅速國際化。據獨立第三方測試機構Testin 的數據表明,目前中國主流的 App 應用對 Android 系統的適配率不到 70% 。同時,有接近半數的應用存在嚴重缺陷,主要體現在無法安裝、點擊后閃退、啟動時間超長、UI錯位、運行不穩定、與其他應用程序沖突等問題 。

谷歌的官方電子市場在一定程度上能測試和解決應用的適配,但基于國內的網絡環境和混亂市場環境,普通用戶還是看得到,用不到。

\

移動開發的一個重要難題,就是應用在開發過程中,必須使用手機真實環境進行測試,才有可能進入商用。由于手機操作系統的不同,以及操作系統版本之間的差異,使得真機測試這個過程尤其復雜,涉及終端、人員、工具、時間、管理等方面的問題。所有的移動互聯網應用,測試是一個應用的必備環節,并且需要重復測試保證各種使用場景下的穩定性,在目前,全球移動互聯網的應用測試絕大部分都是由人手工執行,少有的企業級解決方案靈活性很差,費用昂貴(國企專用哦,中小開發者們看看就行了)。

企業應用適配解決方案

一般大型企業通常都會選擇諸如HP Business Process Testing之類的企業級應用方案,HP Business Process Testing 軟件支持創建實際為模塊、可重用的測試案例,幫助確定自動化測試的最佳方案。 它采用準確涵蓋各項功能的業務流程,為業務分析師設計和調整測試提供了一種無需編寫腳本的機制,與此同時,支持測試工程師專注于自動化的子系統。 HP Business Process Testing 軟件無需您創建和維持定制框架。但事實上作為這樣一款定位為企業級的應用,惠普的服務費用高昂,并不是所有中小型開發者都能夠負擔。(更多詳細介紹見這里)

個人應用適配解決方案

國內開發者大多都會買測試機來測試,但很少有開發者能向本文開頭介紹的那樣買 400 多款手機對應用進行質量測試。不管是時間成本還是金錢成本都遠遠超出中小開發者的承受能力。

Testin 是一家面向全球互聯網開發者和運營企業提供7x24自動真機 App 測試的 SaaS 服務平臺,為廣大移動 App 開發者提供免費的測試服務,建立面向全球 App 開發者的 App 在線云測試平臺,以幫助各國移動 App 開發者可以隨時選擇全球或特定市場型號的終端、對 App 進行針對性的兼容適配性測試。更重要的是,it's free。

Testin 平臺的操作性:

如圖所示:

\

開發者向 Testin 提交 App,Testin 平臺根據任務要求可以在全球的任何地點、網絡、終端上自動測試這些 App,然后將測試結果即可交付給開發者。開發者會拿到關于應用適配的數據報告,同時,Testin 還提供自動腳本測試服務,開發者可以自定義腳本,讓應用在Testin 的真機上按照自己設定的方式運行,以測試應用的操作性和穩定性。

以《商業價值》客戶端測試為例:

1:上傳 App 到 Testin 的云端,選擇需要測試的機型。

\

2:由 Testin 分布在全國各地的不同環境下的真機自動安裝運行 App,記錄每一個環節并截圖和生成 log 日志。

\

3:真機自動運行完成后,會生成數據報告,供開發者下載查看,數據報告包括應用的適配率,應用適配主要錯誤出現環節等。

\

Testin 平臺的安全性:

1)所有在 Testin 測試平臺提交的 App 測試用戶可以自定義報告展示與否;

2)所有提交到 Testin 測試的 App 都將以黑盒的方式進行測試,完全不涉及程序代碼;

3)目前 Testin 推出一款 Itest 測試客戶端,用戶可以自己錄制測試腳本,只需將腳本提交測試平臺即可,完全不涉及應用程序數據包;

4)所有提交到 Testin 測試平臺的 App 數據包都會有相關保密協議;

Testin 在上周應用測試數突破了百萬次,正在為全球數以萬計開發者提供免費的測試服務。

附測試機機柜實體圖一張。

\

筆者在對 Testin CEO 王軍采訪的時候,聊到他參加 GMIC2012 全球互聯網大會期間,開發著名益智游戲割繩子(Cut the Rope)的 iFree 亞洲 CEO Evgeny Kosolapov 曾告訴他:“中國的山寨 Android 終端已經嚴重地困擾著他和他們的用戶。”這算是真正的中國改變世界嗎?

贊助商鏈接:

双色球基本走势图图表中彩网