您的位置:軟件測試 > 開源軟件測試 > 開源軟件測試解決方案 >
基于Agere開發(fā)平臺的手機(jī)自動化測試解決方案
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/2/21 9:49:30 ] 推薦標(biāo)簽:

【摘要】本文杰爾系統(tǒng)( Agere system )平臺基礎(chǔ)上開發(fā)的 GSM 手機(jī)自動化測試提供一些技術(shù)介紹,并結(jié)合實(shí)際例子講解一些應(yīng)用經(jīng)驗(yàn),來說明自動化測試在手機(jī)功能測試一級中所帶來的效率。

【關(guān)鍵詞】手機(jī)平臺,杰爾系統(tǒng), Trace , PTE 命令,手機(jī)軟件功能測試,自動化測試

•  國內(nèi)手機(jī)功能測試現(xiàn)狀:

當(dāng)前國內(nèi)手機(jī)廠商和設(shè)計公司據(jù)統(tǒng)計已達(dá)到 300 多家,但至今所有的設(shè)計開發(fā)都是基于國外技術(shù)平臺基礎(chǔ)上的二次開發(fā),即通常所說的 MMI 開發(fā), 提供開發(fā)的手機(jī)平臺目前主要有德州儀器( TI ),英特爾( Intel ),飛思卡特( freescale ),杰爾系統(tǒng)( Agere system ),英飛凌( infineon ),瑞薩科技( renesas ),菲利普半導(dǎo)體( philips ),意法半導(dǎo)體( ST ),美國博通( broadcom ),美國模擬器件( ADI ),微控科技( wavecom )。通常這些平臺供應(yīng)商的核心技術(shù)都不對外開放,只為購買其開發(fā)平臺的用戶提供一個可二次開發(fā)的環(huán)境,比如本文所要介紹的自動測試所基于的平臺 ——Agere system , 它在其軟件架構(gòu)的上層為開發(fā)用戶做了一層 UI ( User Interface ) , 并做了基本的 AL 開發(fā),通常方案提供后可以直接作為國內(nèi)廠商用于 FTA 測試,這即是國內(nèi)眾多手機(jī)廠商和 design house 開發(fā)和測試的母體。

曾聽一位從事手機(jī)功能測試的同仁說 “ 做手機(jī)功能測試只要有手可以了 ” ,確實(shí)手機(jī)功能測試很容易給人一種是簡單而重復(fù)按鍵操作的感覺。但手機(jī)功能眾多,并且回歸測試工作量大,如果單個測試工程師靠手動按鍵來執(zhí)行所有測試用例,花費(fèi)的時間少則幾小時,多則需要幾天的時間,這樣耗費(fèi)大量測試時間的同時也容易讓測試工程師產(chǎn)生疲倦甚至是厭倦心里,很容易造成測試的遺漏。手機(jī)測試中常碰到很多重復(fù)性高的工作,如發(fā)送數(shù)條 SMS 或者 MMS 以驗(yàn)證其收發(fā)成功率以及穩(wěn)定性、連續(xù)進(jìn)行多次呼叫、多次對文件系統(tǒng)進(jìn)行添加刪除操作、多任務(wù)多進(jìn)程情況下的沖突測試以及極限測試等等,都是重復(fù)性高的工作,手動執(zhí)行的話費(fèi)時費(fèi)力,如果能有一套自動執(zhí)行的機(jī)制,將能大大提高測試的效率。

由于手機(jī)平臺的特殊性,國內(nèi)通常都沒有自動化測試工具支持手機(jī)功能測試,紛繁復(fù)雜的功能測試大多只能通過文本化測試用例的指導(dǎo),由廣大測試員手工來完成。手機(jī)這種板機(jī)的 MMI 功能測試不同于基于 PC 上的 MMI 測試,后者借助 PC 平臺,目前市場上已有非常多功能強(qiáng)大且通用的自動測試工具支持其測試,如比較典型的有 Winrunner , Robot , Loadrunner 等等,但這些工具通常不能兼容到象手機(jī)這種嵌入式系統(tǒng)中來。當(dāng)然平臺供應(yīng)商對他們底層 lay1 , lay2 , lay3 的測試都有自己開發(fā)的測試工具來自動執(zhí)行,但這些工具暫時都不提供給國內(nèi)的開發(fā)廠家。

為了解決上述手機(jī)測試工作中的困難,筆者所在的測試團(tuán)隊經(jīng)過不斷的總結(jié)實(shí)踐,目前已在基于杰爾系統(tǒng)( Agere system )平臺上建立了一套實(shí)用的自動測試機(jī)制,通過該機(jī)制的建立,不但調(diào)動了測試工程師的工作積極性和熱情,同時也大大提高了測試的效率。下面將圍繞 Agere 平臺上自動測試機(jī)制給大家做個總體介紹。在講述該方案前,將先對 Agere 平臺的窗體和消息,以及手機(jī)同 PC 的數(shù)據(jù)交互原理做個簡單介紹。

•  手機(jī)中的窗體和消息:

功能測試時,在手機(jī)上每按下一按鍵,都是在特定的窗口下完成其功能,窗口處理函數(shù)接收到窗口所用鍵盤中定義的按鍵消息后執(zhí)行相應(yīng)的處理,完成指定的工作。這里所談的窗口系統(tǒng)本質(zhì)上是一個鏈表,主要是響應(yīng)手機(jī)中常用的三類消息:用戶的按鍵操作、 GSM 網(wǎng)絡(luò)消息、以及計時器消息。

手機(jī)中窗體處理函數(shù)結(jié)構(gòu)通常如下:

static UINT32 TestWindowProc( UIWINDOW * win, UINT16 cmd, UINT16 wParam, UINT32 lParam )
{
switch ( wParam )
{
case EV_KEYSEND: /*按發(fā)送鍵*/
CALL(MAOTelNumber);
return TRUE;

case EV_KEYEND: /*按掛機(jī)鍵*/
ENDCALL(MAOTelNumber);
return TRUE;
......
default:
break;
}
}

在窗體中除了對消息的實(shí)時處理外,還有通過具體的消息傳遞函數(shù)對本窗口中消息進(jìn)行派發(fā)和定向流動,通常有 GSM 消息的流動和鍵盤消息的流動,派發(fā) GSM 消息時,依據(jù)窗口建立的逆向順序逐層往上流動,而鍵盤消息只向上傳遞一層,即子窗口向父窗口傳送。 在系統(tǒng)功能測試過程中,窗口中的消息執(zhí)行情況是看不到摸不著的東西,但是各個窗口中這三類消息的處理以及消息的派發(fā)流動都是測試所必須了解和測試的重點(diǎn),怎樣才能直觀的看到,跟蹤并了解這些消息的執(zhí)行情況呢?測試工程師可以通過在跟蹤點(diǎn)加測試樁或者跟蹤語句來實(shí)現(xiàn)追蹤,利用杰爾系統(tǒng)的 trace 工具( optitrace )以文本的形式輸出所需要了解的信息,根據(jù)這些信息的輸出流程和實(shí)際數(shù)據(jù),以達(dá)到測試跟蹤和分析的目的,如上面這一簡單例子中所列舉的兩個事件 EV_KEYSEND 和 EV_KEYEND ,簡單的跟蹤是通過在這兩類事件觸發(fā)前增加類似于 print 跟蹤語句,判斷 “ 發(fā)送鍵 ” 按下后是否在指定的窗口里執(zhí)行到 EV_KEYSEND 事件并調(diào)用呼叫函數(shù) CALL 執(zhí)行呼叫請求 , 實(shí)際運(yùn)行時,根據(jù) optitrace 工具所顯示的 print 信息觀察程序的運(yùn)行及消息的執(zhí)行情況,跟蹤的手段很多,在此不詳細(xì)列舉。下面介紹 PC 怎樣通過 Optitrace 工具實(shí)現(xiàn)同手機(jī)板機(jī)的數(shù)據(jù)交互。

•  手機(jī)與 PC 的數(shù)據(jù)交互

通常每個平臺為軟件開發(fā)提供一系列的開發(fā)套件,常用的有仿真軟件、 Trace 跟蹤分析軟件、 Download 目標(biāo)代碼的裝載軟件等等,通過這些軟件實(shí)現(xiàn)手機(jī)同 PC 的數(shù)據(jù)交互,實(shí)現(xiàn)軟件的開發(fā)仿真,問題的跟蹤分析,以及程序的灌寫等。這些軟件大多采用串口通訊的方式,通過特定的數(shù)據(jù)線連接手機(jī)串口通訊端與 PC 的串口或者 USB 端( USB 轉(zhuǎn)串口)。下面將要介紹的是杰爾系統(tǒng)( Agere system )的開發(fā)套件之一 optitrace 。

該工具可以運(yùn)行于 win9X/2000/NT 系統(tǒng)中,是 Agere 參考設(shè)計平臺的輔助診斷工具,它為軟硬件開發(fā)人員提供 Protocol Stack and MMI 的跟蹤分析以及模擬用戶硬件如串口顯示和按鍵,為 field Test 人員提供 Trace Logs 和 Vital signs ,為產(chǎn)品測試工程師提供 Product Test environment ( PTE ) 窗口和腳本的定制以及播放。

運(yùn)行界面中通過 optitrace 工具捕捉的用戶按鍵消息,如 Key Code 4 ,表示用戶在手機(jī)上按下數(shù)字鍵 4 , key code 后面的數(shù)字是按鍵所定義的編碼值,手機(jī)中每個按鍵都有的按鍵編碼值。從中可以看出,用戶所有的按鍵動作都以 “AL got key AL_KeyDown event , key code X” 的形式被記錄下來。這些按鍵信息的捕捉只是該工具 trace 信息的一部分,該工具提供非常多的 trace 選項(xiàng),實(shí)際應(yīng)用中,可以根據(jù)所要跟蹤的信息來選擇顯示。

該工具一個重要的功能是可以在 PC 端通過 PTE 命令模擬用戶來操作數(shù)據(jù)線另外一端的手機(jī),該工具本身定義了 11 類的 PTE 命令,下面重點(diǎn)介紹兩個重要的 PTE 命令,

•  模擬一個按鍵按下和釋放

輸入格式: Key <INT16 Keycode>

返 回: Key:DONE

用戶可以在 optirace 的 PTE 命令輸入行中,通過輸入正確的 Key 命令,往手機(jī)端寫入按鍵事件,手機(jī)端解析后執(zhí)行相應(yīng)的按鍵操作,如用戶輸入 key 8 回車后,手機(jī)端 LCD 顯示 8 或者執(zhí)行按鍵 8 所對應(yīng)的操作,執(zhí)行后返回 key : DONE 消息。同時 trace 中顯示 AL got key AL_KeyDown event , key code 8 。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd