手機軟件MMI測試自動化工具設計思路

發表于:2007-08-26來源:作者:點擊數: 標簽:手機測試
手機軟件M MI 的自動化測試需要手機終端和計算機進行通訊,所以通訊方式可以選擇串口或者藍牙,鑒于穩定性和易用性,設計簡單程度,串口通訊是非常簡單的很容易實現的。 然后自動化 測試工具 選擇腳本語言的問題,我們可以選擇 VB Script,Perl,Python,比較
手機軟件MMI的自動化測試需要手機終端和計算機進行通訊,所以通訊方式可以選擇串口或者藍牙,鑒于穩定性和易用性,設計簡單程度,串口通訊是非常簡單的很容易實現的。

然后自動化測試工具選擇腳本語言的問題,我們可以選擇VBScript,Perl,Python,比較一下,Python比較強大,Nokia的一些工具就是python做腳本的。

兩者之間的通信機制:可以使用ATcommand進行通信,出了GSM標準支持的ATC,還要有手機專門自己的命令來支持遠程終端操控手機。比如鍵盤控制,長按短按等。

手機需要暴露一些接口,比如截圖,文字識別,返回圖像,文字等。這樣可以做自動化驗證,做到無人值守。這些均需要手機來支持。比如設計手機要有這樣的接口 BOOL GetPicture(int top, int bottom, int right, int left, BITMAP & bitmap); 這樣通過ATC發過來命令然后手機解析一下,得到top,bottom等信息,然后得到bitmap返回。文字識別需要python來完成,char* GetStringFromPic(Point pt, const Bitmap* bitmap); 我就用C++來表示了。這樣在腳本里面就可以進行比較文字了。

更進一步,支持錄制腳本功能,比如按下某個鍵,串口信息,監聽串口信息,這樣腳本解析按下的鍵,然后判斷在轉譯成腳本語言。Key();

關于手機只需要支持識別ATC參數,然后傳回要的結果,我想主要是通過圖片來返回,因為這是模擬人工測試的原理,我按下某個鍵,就會出現什么結果,這樣需要返回圖片即可,然后腳本客戶端需要對圖片進行處理,要么進行比較圖片內容,要么進行文字識別進行文字對比,這樣可以實現測試自動化。

前文已經把大致的手機需要提供的接口說了一下,再次總結一下:

1.需要手機支持GSM07.07中規定(Optional)的鍵盤控制的命令at+ckpd
2.需要手機支持一些特殊的ATC,比如傳回手機當前圖片,以便作比較。
3.自動化測試的目的:能夠替代人工實現大量手工難以完成的工作,重復性較強的工作,比如一些壓力測試,存五百條通訊錄等,刪除等,考驗手機內存釋放時是否有內存泄露等等。二是能夠完成大量的回歸測試,易于維護等特點。

思路:

選擇腳本語言:由于python使用很靈活而且具有強大的文本處理能力,且易于學習等特點,可以選用python作為腳本語言和實現語言。

方式:

比如定義def CCKEY()來完成發送CCKEY,也可以通過一個map文件來實現CCKEY--at+ckpd="c"這種方式,然后用戶這邊只是用譬如以下的命令:

CenterKey()
Key("#", 2)
LongPress("#")
PressKey("0")
LSK()
RSK()
NaviUp()
NaviDown()

  再加上python的控制流程,異常處理等,可以編出強大的易于維護的腳本來。

  手機方面的接口可以是GetImage(),然后通過腳本進行處理,這個可能需要很大的工作量,因為要么重新研究圖像識別對比,文字識別等技術,要么購買組件等,即驗證這一關也很難實現。

  在初期可以考慮人工來驗證一些結果,比如圖片對比結果,可以使用一些技術,比如蒙板等,得到一些異狀圖片,用戶自己審閱一下,加入明顯的由異樣,就Fail,這樣就不能自動,可以說是半自動化了。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97