?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

龍都國際游戲官方網站:基于Agere開發平臺的GSM手機自動化測試解決方案

?

【擇要】本文就杰爾系統( Agere system )平臺根基上開拓的 GSM 手機自動化測試供給一些技巧先容,并結合實際例子解說一些利用履歷,來闡明自動化測試在手機功能測試一級中所帶來的效率。

【關鍵詞】手機平臺,杰爾系統, Trace , PTE 敕令,手機軟件功能測試,自動化測試

•海內手機功能測試現狀:

當前海內手機廠商和設計公司據統計已達到 300 多家,但至今所有的設計開拓都是基于國外技巧平臺根基上的二次開拓,即平日所說的 MMI 開拓, 供給開拓的手機平臺今朝主要有德州儀器( TI ),英特爾( Intel ),飛思卡特( freescale ),杰爾系統( Agere system ),英飛凌( infineon ),瑞薩科技( renesas ),菲利普半導體( philips ),意法半導體( ST ),美國博通( broadcom ),美國模擬器件( ADI ),微控科技( wavecom )。平日這些平臺供應商的核心技巧都紕謬外開放,只為購買其開拓平臺的用戶供給一個可二次開拓的情況,比如本文所要先容的自動測試所基于的平臺 ——Agere system , 它在其軟件架構的上層為開拓用戶做了一層 UI ( User Interface ) , 并做了最基礎的 AL 開拓,平日規劃供給后可以直接作為海內廠商用于 FTA 測試,這等于海內浩繁手機廠商和 design house 開拓和測試的母體。

曾聽一位從事手機功能測試的同仁說 “ 做手機功能測試只要有手就可以了 ” ,確鑿手機功能測試很輕易給人一種是簡單而重復按鍵操作的感到。但手機功能浩繁,并且回歸測試事情量大年夜,假如單個測試工程師靠手動按鍵來履行所有測試用例,花費的光陰少則幾小時,多則必要幾天的光陰,這樣消費大年夜量測試光陰的同時也輕易讓測試工程師孕育發生委頓以致是厭倦心里,很輕易造成測試的漏掉。手機測試中常碰著很多重復性高的事情,如發送數條 SMS 或者 MMS 以驗證其收發成功率以及穩定性、繼續進行多次呼叫、多次對文件系統進行添加刪除操作、多義務多進程環境下的沖突測試以及極限測試等等,都是重復性高的事情,手動履行的話費時辛勤,假如能有一套自動履行的機制,將能大年夜大年夜前進測試的效率。

因為手機平臺的特殊性,海內平日都沒有自動化測試對象支持手機功能測試,紛紛繁雜的功能測試大年夜多只能經由過程文本化測試用例的指示,由廣大年夜測試員手工來完成。手機這種板機的 MMI 功能測試不合于基于 PC 上的 MMI 測試,后者借助 PC 平臺,今朝市場上已有異常多功能強大年夜且通用的自動測試對象支持其測試,如對照范例的有 Winrunner , Robot , Loadrunner 等等,但這些對象平日不能兼容到象手機這種嵌入式系統中來。當然平臺供應商對他們底層 lay1 , lay2 , lay3 的測試都有自己開拓的測試對象來自動履行,但這些對象暫時都不供給給海內的開拓廠家。

為了辦理上述手機測試事情中的艱苦,筆者所在的測試團隊顛末賡續的總結實踐,今朝已在基于杰爾系統( Agere system )平臺上建立了一套實用的自動測試機制,經由過程該機制的建立,不只調動了測試工程師的事情積極性和熱心,同時也大年夜大年夜前進了測試的效率。下面將環抱 Agere 平臺上自動測試機制給大年夜家做個總體先容。在講述該規劃前,將先對 Agere 平臺的窗體和消息,以及手機同 PC 的數據交互道理做個簡單先容。

•手機中的窗體和消息:

功能測試時,在手機上每按下一按鍵,都是在特定的窗口下完成其功能,窗口處置懲罰函數接管到窗口所用鍵盤中定義的按鍵消息后履行響應的處置懲罰,完成指定的事情。這里所談的窗口系統本色上是一個鏈表,主如果相應手機中常用的三類消息:用戶的按鍵操作、 GSM 收集消息、以及計時器消息。

手機中窗體處置懲罰函數布局平日如下:

static UINT32 TestWindowProc( UIWINDOW * win, UINT16 cmd, UINT16 wParam, UINT32 lParam )

{

switch ( wParam )

{

case EV_KEYSEND: /*按發送鍵*/

CALL(MAOTelNumber);

return TRUE;

case EV_KEYEND: /*按掛機鍵*/

ENDCALL(MAOTelNumber);

return TRUE;

......

default:

break;

}

}

在窗體中除了對消息的實時處置懲罰外,還有經由過程詳細的消息通報函數對本窗口中消息進行派發和定向流動,平日有 GSM 消息的流動和鍵盤消息的流動,派發 GSM 消息時,依據窗口建立的逆向順序逐層往上流動,而鍵盤消息只向上通報一層,即子窗口向父窗口傳送。 在系統功能測試歷程中,窗口中的消息履行環境是看不到摸不著的器械,然則各個窗口中這三類消息的處置懲罰以及消息的派發流動都是測試所必須懂得和測試的重點,如何才能直不雅的看到,跟蹤并懂得這些消息的履行環境呢?測試工程師可以經由過程在跟蹤點加測試樁或者跟蹤語句來實現追蹤,使用杰爾系統的 trace 對象( optitrace )以文本的形式輸出所必要懂得的信息,根據這些信息的輸出流程和實際數據,以達到測試跟蹤和闡發的目的,如上面這一簡單例子中所枚舉的兩個事故 EV_KEYSEND 和 EV_KEYEND ,最簡單的跟蹤是經由過程在這兩類事故觸發前增添類似于 print 跟蹤語句,判斷 “ 發送鍵 ” 按下后是否在指定的窗口里履行到 EV_KEYSEND 事故并調用呼叫函數 CALL 履行呼叫哀求 , 實際運行時,根據 optitrace 對象所顯示的 print 信息察見地度榜樣的運行及消息的履行環境,跟蹤的手段很多,在此就不具體枚舉。下面先容 PC 如何經由過程 Optitrace 對象實現同手機板機的數據交互。

•手機與 PC 的數據交互

平日每個平臺為軟件開拓供給一系列的開拓套件,常用的有仿真軟件、 Trace 跟蹤闡發軟件、 Download 目標代碼的裝載軟件等等,經由過程這些軟件實現手機同 PC 的數據交互,實現軟件的開拓仿真,問題的跟蹤闡發,以及法度榜樣的灌寫等。這些軟件大年夜多采納串口通訊的要領,經由過程特定的數據線連接手機串口通訊端與 PC 的串口或者 USB 端( USB 轉串口)。下面將要先容的是杰爾系龍都國際游戲官方網站統( Agere system )的開拓套件之一 optitrace 。

該對象可以運行于 win9X/2000/NT 系統中,是 Agere 參考設計平臺的幫助診斷對象,它為軟硬件開拓職員供給 Protocol Stack and MMI 的跟蹤闡發以及模擬用戶硬件如串口顯示和按鍵,為 field Test 職員供給 Trace Logs 和 Vital signs ,為產品測試工程師供給 Product Test environment ( PTE ) 窗口和腳本的定制以及播放。

該對象的運行界面如下:

以上運行界面中經由過程 optitrace 對象捕捉的用戶按鍵消息,如 Key Code 4 ,表示用戶在手機上按下數字鍵 4 , key code 后面的數字是按鍵所定義的編碼值,手機中每個按鍵都有獨一的按鍵編碼值。從中可以看出,用戶所有的按鍵動作都以 “AL got key AL_KeyDown event , key code X” 的形式被記錄下來。這些按鍵信息的捕捉只是該對象 trace 信息的一部分,該對象供給異常多的 trace 選項,實際利用中,可以根據所要跟蹤的信息來選擇顯示。

該對象一個最緊張的功能是可以在 PC 端經由過程 PTE 敕令模擬用戶來操作數據線別的一真個手機,該對象本身定義了 11 類的 PTE 敕令,下面重點先容兩個緊張的 PTE 敕令,

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

輸進款式: Key

返 回: Key:DONE

用戶可以在 optirace 的 PTE 敕令輸入行中,經由過程輸入精確的 Key龍都國際游戲官方網站 敕令,往手機端寫入按鍵事故,手機端解析后履行響應的按鍵操作,如用戶輸入 key 8 回車后,手機端 LCD 顯示 8 或者履行按鍵 8 所對應的操作,履行后返回 key : DONE 消息。同時 trace 中顯示 AL got key AL_KeyDown event , key code 8 。

•定義按鍵事故的發送距離

輸進款式: Wait

返 回: Key:DONE

舉例:

wait 6000 // 等待 6000Ms ,即 1 分鐘

經由過程該敕令,可以哀求一個 pause 。比如呼叫 1001 通話 1 分鐘后掛斷。 PTE 腳本編寫如下:

Key 1

Wait 500 // 按鍵間等待 0.5 秒

Key 10

Wait 500

Key 10

Wait 500

Key 1

Wait 500

Key 11 // 按呼叫鍵

Wait 3000 // 等待呼叫, 3 秒

Wait 60000 //1001 接通后等待 1 分鐘

Key 12 // 按掛機鍵,停止通話

Wait 500

•自動測試規劃及框架體系 :

下面先容本公司實踐的一套自動化功能測試規劃架構,如下圖 :

•規劃簡述 :

自動測試主要事情流程分以下幾個主要階段:

•測試用例的設計和籌備 , 形成一套自動測試用例腳本庫

自動測試用例的籌備,假如貴公司在需求定義的同時有各功能具體詳細的 menu tree 架構,那即可在此根基上手動編寫 PTE 敕令腳本。

如一菜單布局如下:

假設一手機的關機功能菜單位于主菜單中第 5 項菜單 “ 話機設置 ” 的第一子菜單中,可以用以下腳本要領實現手機履行關機。

Key 15 // 在待機下按左鍵進主菜單

Wait 500

Key 5 // 按 5 進入住菜單的第 5 個子菜單 “ 話機設置 ”

Wait 500

Keyhold 1 , 2000 // 長按 1 鍵關機

Wait 500

從中可以看出只要定義了 menu tree ,理解菜單的排列順序,以及實際的功能操作步驟,即可以用腳原先模擬所有按鍵和履行步驟來定義測試的 PTE 腳本。

另一種腳本編寫要領可以經由過程錄制加轉換的要領實現,使用 optitrace 對象錄制實際操作時的按鍵動作,存為 txt 文件,然后將該 txt 文本轉換為 PTE 腳本文件。實際測試中經由過程在集成測試或者系統測試低級階段錄制腳本,這樣不會因軟件大年夜的變化導致測試用例掉效,或者必要大年夜規模掩護,低落了風險指數。這些腳本在日后的回歸測試中將發揮偉大年夜的感化。

按鍵錄制時測試工程師針對某一功能或者依照某一組測試用例履行一次完備繼續的手工測試,經由過程 optitrace 捕捉本次測試歷程中所有的按鍵事故,天生一份對應的 >.TXT ( optitrace 只能天生文本文檔),然后對應將所有按鍵事故轉換為 > 。

•代碼樁或者跟蹤語句

測試時根據實際環境可能必要在各檢測點編寫用戶查驗的代碼樁或者跟蹤語句,代碼測試樁有利于龍都國際游戲官方網站對本自動測試體系中軟件問題作出較正確的定位和闡發,同時也有利于對測試結果的快速判斷與自動天生測試申報。這些代碼測試樁對應按鍵事故所對應的法度榜樣履行路徑和邏輯,主要經由過程白盒測試措施跟蹤代碼履行的路徑、邏輯覆蓋、信息流,數據流和節制流等。在測試履行時,測試樁將履行結果相應并經由過程 Trace 跟蹤語句顯示在 optitrace 對象中。編寫該測試樁必要測試工程師具備較強的編程能力,同時對手機系統要對照認識和懂得。各功能完備的代碼測試樁的編寫事情量異常大年夜,前期可以只針對部分功能的部分特點做考試測驗。同時測試樁插入在響應的代碼中,為了避免紛亂,設置設置設備擺設擺設時必須將測試代碼同法度榜樣代碼分開,只在測試履行時打開對應的編譯開關獲得對龍都國際游戲官方網站應的編譯版本。

•天生一份預期的測試申報

運行預先錄制的 PTE 腳本和對應的測試樁,經由過程 optitrace 對象天生一份預期的測試結果申報 ( 實際便是 optitrace 天生的一份按鍵事故和測試樁跟蹤輸出信息 ) 。這份預期的測試申報日后同實際結果對照,作為實際測試結果與預期結果是否同等的判斷。

•天生自動測試用例庫

終極由 > 、 > 、代碼測試樁、 > 組成一份自動測試用例。所有的自動測試用例按照必然的布局組織起來形成自動測試用例庫。

•測試用例的提取并履行

在回歸以及后期的驗證測試歷程中,測試工程師或者法度榜樣員對應提取由 > 和測試樁組成的測試用例,履行后天生一份 > ,保存該信息,從而測試履行停止。

•測試結果闡發,天生測試申報

測試結果的闡發可以自動和手動履行,手動履行可以經由過程 Beyond Compare 對象對照 > 和 > ,即可以得出一份測試的履行申報。

自動天生測試申報對照繁雜,必要在 pc 頂用高檔說話建立一個測試治理中間,該治理中間龍都國際游戲官方網站可用 VC 或者 C++ 等高檔說話編寫,在該治理中間中,用戶可以選擇必要履行的 PTE 腳本或者多個腳本串成的一組腳本,該測試治理中間可以指定測試用例的自動履行,自動提取對應的結果做自動對照闡發,從而天生一份對應的測試申報,假如無差異,輸出文件中只顯示 OK ,否則輸出差異信息文件。

•實際利用 :

下面以待機下呼叫 1001 共 100 次來測試呼叫成功率的例子來闡明上述規劃的利用。下面是該例的錄制,腳本編寫,及實際運行的例子。

•錄制按鍵事故 .

首先運行 optitrace.exe 法度榜樣

設置 trace 選項 , 只選擇 application layer 中的 ALTraceUHMess 如圖所示:

最背工機開機,跑動 trace ,測試工程師針對某一功能或者某一組測試用例履行一次完備繼續的測試,獲得以下按鍵信息,如圖所示。

著末測試履行停止后,保存該按鍵 trace 信息,做好版本記錄信息。天生對應事故的按鍵列表《呼叫 1001 共 100 次 .TXT 》文檔, 該 TXT 文檔內容完全同上圖所示內容,在次不再重復。

•天生 PTE 腳本:

因實際 optitrace 只錄制按鍵消息,必要將這些按鍵消息轉換為 PTE 敕令并天生工 optitrace 對象運行的 *.PTE 腳本。而平日按鍵事故浩繁,手動一一天生 PTE 腳本異常麻煩,是以必要做一個文件轉換對象,逐行提取按鍵消息轉換成 PTE 敕令,并做一些響應的注釋。

將以上按鍵列表轉換為 PTE 敕令列表,天生《呼叫 1001 共 100 次 .PTE 》文件,轉換后的 PTE 腳本如圖所示:

•編寫測試樁:

編寫測試代碼對必要檢測的路徑、邏輯覆蓋、信息流、數據流和節制流等做測試跟蹤,在檢測點輸出有效的 trace 信息。

該測試用例對照簡單,在此只枚舉該測試義務中必要關注的呼叫是否成功,記錄實際呼叫成功的次數,詳細呼叫函數、以及邏輯覆蓋因篇幅有限不枚舉,設計一計數器( NumOfCallSuccess ),假如呼叫成功,該計數器累加 1 ,并且每次呼叫后用 printf 語句在 optitrace 對象上輸出該計數器的實際值。

在呼叫窗口的處置懲罰函數中,對收集返回的 GSM 消息進行統一處置懲罰,在返回的回鈴音處置懲罰消息中檢測呼叫成功即可,如下所示:

case GSMAlerting: // 成功接管回鈴消息

if(NumOfCallSuccess < 100) GSMprintf("\n====NumOfCallSuccess=%d======\n",

++ NumOfCallSuccess); // 呼叫成功

else

{

NumOfCallSuccess =0;

GSMprintf("\n====== NumOfCallSuccess = %d======\n", NumOfCallSuccess);

}

break;

•結合以上測試樁,運行《呼叫 1001 共 100 次 .PTE 》,天生預期的測試結果申報,《呼叫 1001 共 100 次 trace.TXT 》的 trace 跟蹤記錄文件,作為實際測試運行結果對照的依據。

Trace 信息去除無用信息及文件轉換后如下所示:

•自動運行《呼叫 1001 共 100 次 .PTE 》,測試停止后目錄下共有以下文件:

《呼叫 1001 共 100 次 .PTE 》:測試運行的腳本

《呼叫 1001 共 100 次 trace.TXT 》:預期的測試結果文本, Txt 款式。

《呼叫 1001 共 100 次 trace2.TXT 》:實際運行的 trace log 結果,被治理對象轉換后的 TXT 文本。

《呼叫 1001 共 100 次 .Txt 》:測試后天生的測試申報文件, TXT 款式。

•總結:

本文結合杰爾系統( Agere system )中開拓套件 optitrace 對象的應用,從 PTE 腳本的制作,到回歸測試中腳本的測試運行,先容了一個測試團隊在手機功能級測試中采納的自動化規劃,本團隊在實際的應用中感想熏染了該自動化測試規劃所帶來的樂趣和效率,在此著資源文供大年夜家一路探究,著末謝謝本文的所有讀者,假如您能從中汲取一點有用的營養,獲得一些贊助,那我將認為無限的欣慰,這也是我收拾這篇手機自動測試資料的初衷。

因為光陰倉匆匆水平有限,差錯之處在所難免,敬請廣大年夜讀者品評斧正。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

河北十一选五开奖的 3d詹天佑的最新预测 今天山西快乐十分走势全图 韩国快乐8 sg飞艇是不是全国开奖 川上美奈奈老公对不起 18选7有走势图 安卓美女麻将 甘肃11选5任5 福州股票配资·信任杨方配资 时时彩河南十一选五走势图 十大潮喷排名 广西快乐双彩74期开奖结果 解密上马麻里子喷奶 26选5开奘结果 郑州沐足技师招聘信息 黑龙江11选5选3走势图