根據(jù)測(cè)試平臺(tái)總體框架,可以將軟件框架分為四個(gè)模塊;測(cè)試用例管理模塊、平臺(tái)通信管理模塊、測(cè)試過(guò)程管理模塊、測(cè)試結(jié)果管理模塊,如圖3所示。

測(cè)試用例管理模塊負(fù)責(zé)測(cè)試用例的抽取、腳本參數(shù)的配置等功能。當(dāng)配置完成后,通過(guò)通信管理模塊將測(cè)試腳本以及參數(shù)分發(fā)給測(cè)試平臺(tái)中的各個(gè)終端設(shè)備,接下來(lái),由測(cè)試過(guò)程管理模塊負(fù)責(zé)完成整個(gè)測(cè)試執(zhí)行工作,同時(shí)記錄測(cè)試執(zhí)行的結(jié)果以及日志等信息,最后由測(cè)試結(jié)果管理模塊對(duì)測(cè)試結(jié)果進(jìn)行提取與分析,形成最終的測(cè)試報(bào)告。
在各個(gè)功能模塊中,平臺(tái)通信管理模塊是基礎(chǔ),為其他模塊提供了控制通路。測(cè)試過(guò)程管理模塊對(duì)整個(gè)測(cè)試過(guò)程進(jìn)行凋控,實(shí)現(xiàn)測(cè)試過(guò)程的自動(dòng)化,保證過(guò)程的順利完成。
3 WLAN自動(dòng)化測(cè)試工具的實(shí)際應(yīng)用
本系統(tǒng)控制端運(yùn)行在Linux操作系統(tǒng)下,采用Glade+Gtk技術(shù)完成主控界面的開(kāi)發(fā)。通過(guò)主控端分別Telnet到AP端和STA端,并采用Expe ct技術(shù)分別完成與AP端和STA端的交互,主控端作為橋梁,進(jìn)而可以完成AP端與STA端的交互,保證了時(shí)間同步性。測(cè)試執(zhí)行完成后,可以在主控端收集、查看測(cè)試日志,并生成測(cè)試報(bào)告。
3.1 自動(dòng)化測(cè)試平臺(tái)的具體實(shí)現(xiàn)
3.1.1 遠(yuǎn)程控制
(1)AP控制。當(dāng)網(wǎng)卡作為待測(cè)試設(shè)備時(shí),需要借助于第三方的AP設(shè)備來(lái)完成基本功能的測(cè)試,而目前市面上的AP設(shè)備大都是采用Web界面進(jìn)行配置,即使提供了Telnet等遠(yuǎn)程控制服務(wù),由于廠家處于商業(yè)層面的考慮,使用者也很難獲取其內(nèi)部的配置接口。
在實(shí)現(xiàn)的過(guò)程中,采用開(kāi)源的DD-WRT固件來(lái)升級(jí)測(cè)試平臺(tái)內(nèi)的AP設(shè)備,通過(guò)DD-WRT的公共接口命令來(lái)實(shí)現(xiàn)對(duì)AP設(shè)備的配置。
(2)網(wǎng)卡控制。當(dāng)AP作為待測(cè)試設(shè)備時(shí),需要借助于第三方的網(wǎng)卡設(shè)備來(lái)完成基本的功能測(cè)試。對(duì)于工作在Linux平臺(tái)的網(wǎng)卡,由于源代碼為開(kāi)源,實(shí)現(xiàn)配置與控制比較容易;對(duì)于工作在Windows平臺(tái)的網(wǎng)卡,可以采用Native Wifi API構(gòu)建控制臺(tái)程序,結(jié)合XML形式的無(wú)線配置文件Wireless Profile進(jìn)行綜合的控制。
(3)認(rèn)證服務(wù)器控制。對(duì)于lli證書(shū)模式的測(cè)試,必須采用認(rèn)證服務(wù)器。認(rèn)證服務(wù)器有兩種實(shí)現(xiàn)方式,一種是采用Windows Server系列所提供的服務(wù)構(gòu)建,另一種是采用Linux平臺(tái)配置OpenSSL。前者的操作較為復(fù)雜,不便于遠(yuǎn)程控制,因此本系統(tǒng)擬采用后者的方式構(gòu)建認(rèn)證服務(wù)器。
3.1.2 時(shí)間同步
測(cè)試過(guò)程中,需要對(duì)平臺(tái)內(nèi)的不同終端進(jìn)行配置,如執(zhí)行聯(lián)網(wǎng)的測(cè)試時(shí),首先要配置AP組建相應(yīng)的網(wǎng)絡(luò),確保成功后再配置網(wǎng)卡進(jìn)行聯(lián)網(wǎng)操作。因此在測(cè)試過(guò)程中,如何界定事件結(jié)束的時(shí)間是一個(gè)關(guān)鍵的問(wèn)題,需要一種交互式的控制方式以反饋執(zhí)行的狀態(tài)或結(jié)果。
Shell命令可以實(shí)現(xiàn)簡(jiǎn)單的控制流功能,但無(wú)法完成需要交互的場(chǎng)合,而Expect可以實(shí)現(xiàn)自動(dòng)與交互式任務(wù)進(jìn)行通信,而無(wú)需人為干預(yù),因此在實(shí)現(xiàn)時(shí)將采用兩者相結(jié)合的方式來(lái)完成不同終端以及同一終端不同測(cè)試項(xiàng)之間的同步控制。
3.1.3 平臺(tái)無(wú)關(guān)性
測(cè)試平臺(tái)要同時(shí)考慮待測(cè)設(shè)備工作在Windows以及Linux兩種平臺(tái)環(huán)境下的測(cè)試,由于兩種平臺(tái)環(huán)境本身存在差異,而且即使相同平臺(tái)環(huán)境下也存在不同版本,使得兼容以上所有平臺(tái)環(huán)境存在一定的難度。
現(xiàn)在將AP端和STA端的測(cè)試腳本及控制操作都放在控制端,做到與待測(cè)設(shè)備隔離,使控制臺(tái)完成所有與測(cè)試相關(guān)的控制、配置任務(wù),而待測(cè)終端只進(jìn)行控制命令的接收和執(zhí)行,這樣就保證了測(cè)試平臺(tái)不依賴于具體的待測(cè)設(shè)備終端系統(tǒng)。
3.1.4 用例腳本化
一方面,平臺(tái)無(wú)關(guān)性要求將與平臺(tái)系統(tǒng)環(huán)境相關(guān)的測(cè)試命令進(jìn)行相應(yīng)的歸類和抽取,另一方面,測(cè)試過(guò)程中測(cè)試終端之間的控制同步對(duì)命令的批量處理也有一定的要求。此外,為了提高用例的復(fù)用度,將測(cè)試用例腳本化是一個(gè)必然的要求。
3.1.5 包分發(fā)與捕獲
一方面,對(duì)于測(cè)試過(guò)程中特定用例的幀交互過(guò)程進(jìn)行檢查,需要對(duì)空中包進(jìn)行捕獲與過(guò)濾;另一方面,對(duì)于灰盒級(jí)的測(cè)試,需要模擬各種場(chǎng)景,勢(shì)必要借助于空中包分發(fā)裝置來(lái)完成。
電子發(fā)燒友App










評(píng)論