• 測試用例的提取并執(zhí)行
在回歸以及后期的驗(yàn)證測試過程中,測試工程師或者程序員對應(yīng)提取由 <<*.PTE 文本 >> 和測試樁組成的測試用例,執(zhí)行后生成一份 << 實(shí)際的測試運(yùn)行 trace 信息 >> ,保存該信息,從而測試執(zhí)行結(jié)束。
• 測試結(jié)果分析,生成測試報(bào)告
測試結(jié)果的分析可以自動(dòng)和手動(dòng)執(zhí)行,手動(dòng)執(zhí)行可以通過 Beyond Compare 工具比較 << 預(yù)期的測試結(jié)果報(bào)告 >> 和 << 實(shí)際的測試運(yùn)行 trace 信息 >> ,即可以得出一份測試的執(zhí)行報(bào)告。
自動(dòng)生成測試報(bào)告比較復(fù)雜,需要在 pc 中用高級語言建立一個(gè)測試管理中心,該管理中心可用 VC 或者 C++ 等高級語言編寫,在該管理中心中,用戶可以選擇需要執(zhí)行的 PTE 腳本或者多個(gè)腳本串成的一組腳本,該測試管理中心可以指定測試用例的自動(dòng)執(zhí)行,自動(dòng)提取對應(yīng)的結(jié)果做自動(dòng)比較分析,從而生成一份對應(yīng)的測試報(bào)告,如果無差異,輸出文件中只顯示 OK ,否則輸出差異信息文件。
• 實(shí)際應(yīng)用 :
下面以待機(jī)下呼叫 1001 共 100 次來測試呼叫成功率的例子來說明上述方案的應(yīng)用。下面是該例的錄制,腳本編寫,及實(shí)際運(yùn)行的例子。
• 錄制按鍵事件 .
首先運(yùn)行 optitrace.exe 程序
設(shè)置 trace 選項(xiàng) , 只選擇 application layer 中的 ALTraceUHMess
后手機(jī)開機(jī),跑動(dòng) trace ,測試工程師針對某一功能或者某一組測試用例執(zhí)行一次完整連續(xù)的測試,得到按鍵信息
后測試執(zhí)行結(jié)束后,保存該按鍵 trace 信息,做好版本記錄信息。生成對應(yīng)事件的按鍵列表《呼叫 1001 共 100 次 .TXT 》文檔, 該 TXT 文檔內(nèi)容完全同上圖所示內(nèi)容,在次不再重復(fù)。
• 生成 PTE 腳本:
因?qū)嶋H optitrace 只錄制按鍵消息,需要將這些按鍵消息轉(zhuǎn)換為 PTE 命令并生成工 optitrace 工具運(yùn)行的 *.PTE 腳本。而通常按鍵事件眾多,手動(dòng)逐一生成 PTE 腳本非常麻煩,因此需要做一個(gè)文件轉(zhuǎn)換工具,逐行提取按鍵消息轉(zhuǎn)換成 PTE 命令,并做一些相應(yīng)的注釋。
將以上按鍵列表轉(zhuǎn)換為 PTE 命令列表,生成《呼叫 1001 共 100 次 .PTE 》文件
• 編寫測試樁:
編寫測試代碼對需要檢測的路徑、邏輯覆蓋、信息流、數(shù)據(jù)流和控制流等做測試跟蹤,在檢測點(diǎn)輸出有效的 trace 信息。
該測試用例比較簡單,在此只列舉該測試任務(wù)中需要關(guān)注的呼叫是否成功,記錄實(shí)際呼叫成功的次數(shù),具體呼叫函數(shù)、以及邏輯覆蓋因篇幅有限不列舉,設(shè)計(jì)一計(jì)數(shù)器( NumOfCallSuclearcase/" target="_blank" >ccess ),如果呼叫成功,該計(jì)數(shù)器累加 1 ,并且每次呼叫后用 printf 語句在 optitrace 工具上輸出該計(jì)數(shù)器的實(shí)際值。
在呼叫窗口的處理函數(shù)中,對網(wǎng)絡(luò)返回的 GSM 消息進(jìn)行統(tǒng)一處理,在返回的回鈴音處理消息中檢測呼叫成功即可,如下所示:
case GSMAlerting: // 成功接收回鈴消息
if(NumOfCallSuccess < 100) GSMprintf(" ====NumOfCallSuccess=%d====== ",
++ NumOfCallSuccess); // 呼叫成功
else
{
NumOfCallSuccess =0;
GSMprintf(" ====== NumOfCallSuccess = %d====== ", NumOfCallSuccess);
}
break;
• 結(jié)合以上測試樁,運(yùn)行《呼叫 1001 共 100 次 .PTE 》,生成預(yù)期的測試結(jié)果報(bào)告,《呼叫 1001 共 100 次 trace.TXT 》的 trace 跟蹤記錄文件,作為實(shí)際測試運(yùn)行結(jié)果比較的依據(jù)。
• 自動(dòng)運(yùn)行《呼叫 1001 共 100 次 .PTE 》,測試結(jié)束后目錄下共有以下文件:
《呼叫 1001 共 100 次 .PTE 》:測試運(yùn)行的腳本
《呼叫 1001 共 100 次 trace.TXT 》:預(yù)期的測試結(jié)果文本, Txt 格式。
《呼叫 1001 共 100 次 trace2.TXT 》:實(shí)際運(yùn)行的 trace log 結(jié)果,被管理工具轉(zhuǎn)換后的 TXT 文本。
《呼叫 1001 共 100 次 .Txt 》:測試后生成的測試報(bào)告文件, TXT 格式。
• 總結(jié):
本文結(jié)合杰爾系統(tǒng)( Agere system )中開發(fā)套件 optitrace 工具的使用,從 PTE 腳本的制作,到回歸測試中腳本的測試運(yùn)行,介紹了一個(gè)測試團(tuán)隊(duì)在手機(jī)功能級測試中采用的自動(dòng)化方案,本團(tuán)隊(duì)在實(shí)際的使用中感受了該自動(dòng)化測試方案所帶來的樂趣和效率,在此著成本文供大家一起探討,后感謝本文的所有讀者,如果您能從中汲取一點(diǎn)有用的營養(yǎng),得到一些幫助,那我將感到無限的欣慰,這也是我整理這篇手機(jī)自動(dòng)測試資料的初衷。
由于時(shí)間倉促水平有限,錯(cuò)誤之處在所難免,敬請廣大讀者批評指正。