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

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

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

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

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

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

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

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

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

\

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

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

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

第二階段:Android 定制修改

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

第三階段:網(wǎng)絡部署

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

Android 平臺碎片化危害——應用適配現(xiàn)狀

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

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

\

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

企業(yè)應用適配解決方案

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

個人應用適配解決方案

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

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

Testin 平臺的操作性:

如圖所示:

\

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

以《商業(yè)價值》客戶端測試為例:

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

\

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

\

3:真機自動運行完成后,會生成數(shù)據(jù)報告,供開發(fā)者下載查看,數(shù)據(jù)報告包括應用的適配率,應用適配主要錯誤出現(xiàn)環(huán)節(jié)等。

\

Testin 平臺的安全性:

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

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

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

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

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

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

\

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

贊助商鏈接: