❶ 基於LINUX環境的自動化測試的研究應用
(一)各種技術應用的前提。對於在開源社區和一些開源項目中獲得的測試工具,首先需要了解工具適用於哪些類型應用的測試,以及工具發布後的發布說明和FAQ。開源的工具通常不像商業工具那樣成熟穩定,因此找出工具的適用范圍以及探索工具的實現程度是進行自動化測試應用的前提。
(二)各種技術應用的環境需求。對於各類工具,需要關注編譯和運行時對各種包和庫及其版本的依賴關系以及對預先安裝的應用的依賴關系。這些在用戶手冊中都有詳盡的說明。
(三)伺服器性能監視器。大部分測試工具沒有提供伺服器端的性能監控功能,測試工程師需要根據實際的需求編寫性能監控腳本來配合工具的使用。
下面結合曾經參與進行過的Linux平台下的自動化測試的研究,面向不同類別的測試用例自動化的需求,將主要從功能測試,如GUI測試、命令行客戶端的測試,以及性能測試等幾個方面對Linux平台下的測試工作的自動化進行分析和說明。
GZW自動化洲試
對於GUI測試的自動化,通常的測試工具所使用的捕捉/回放技術有兩種,一種是通過記錄界面的滑鼠事件(如點擊、移動)和鍵盤事件來完成錄制和回放,另外一種則是錄制和回放都是基於控制項的識別和操作進行的掘空,每個腳本的執行都是控制項對象的屬性改變或事件觸發。我們從開源社區可以獲得如上兩種類型的運行於Linux平台之上的典型測試工具,如Knee和LDTP等。
(一)Xnee工具
在Linux操作系統的xll環境下,Xnee能夠錄制、回放和分發用戶的動作。Xnee的捕捉/回放技術是記錄滑鼠事件和鍵盤事件。進入錄制模式時,Xnee記錄發送至和來自X server之間的協議數據拷貝,並生成Xneesession文件。在回放模式下,Xnee讀取Xnee Session中的事件,模仿整個錄制過程(即用戶操作過程)完成和x server之間的通訊,被錄制的應用軟體(Xclient)則接收來自xserver的消息,完成預設的動作。
(二)LDTP測試工具/框架
Linux Desktop Testing Project(LDTP)測試工具/框架能夠基於用戶在應用界面的選擇進行腳本的錄制。LDTPI具使用了Gnome環境下的Accessibility庫即輔助選項庫(at-spi)。使用輔助選項能夠獲得應用通過AT-SPI協議提供的關於用戶界面的信息和界面控制項的當前狀態或者屬性。LDTPI具/框架的體系結構如下:
AT-SPI的基礎思想就是為用戶界面的可視化元素提供對應的輔助對象,而錄制完成的每個腳本的執行都是基於這些輔助對象進行的。對於希望利用LDTPI具進行測試的應用,需要激活輔助選項。
(三)GUI自動化測試工具的應用
在實際的GUI自動化測試中,LDTPI具應用的場景會更廣泛一些。LDTPI具可以識別窗口中的對象(如按鈕),測試腳本使用LDTP的API介面,每個API介面對UI對象進行操作判局瞎存在兩個最基本的入口,即窗口和對象臘早,窗口通過窗口的類型和名稱(即標題)識別,對象通過希望操作的控制項的類型和名稱(標簽或者關聯的標簽)識別。我們同樣可以通過at-pokel具展現激活了輔助選項的應用程序窗口的對象及對象屬性。在測試Linux桌面產品和伺服器產品的過程中,使用LDTPI具可以測試任何啟用輔助選項的Gnome應用,如Mozilla,OpenOffice.org、Evolution郵件客戶端,Nautilus文件瀏覽器等等,此外還可以測試UI界面基於Swing的Java應用,以及KDE4.O上基於QT4.0的應用等等。
而Xneel具所針對的應用程序類型就沒有特別的限制,對於一些簡單的窗口驗證測試和界面的穩定性測試等則比較有效。Xnee相對於基於控制項方式捕獲和回放的工具而言,不用擔心存在控制項不能被識別的問題。
從使用的情況來看,各個工具也都因為實現技術而存在一定的缺陷,如兩個工具均不能插入驗證點,從而不能實現用例級別的結果驗證;LDTP對於界面的個別元素捕獲不到以及不能對不支持輔助選項的應用進行測試等等;而Xneel具生成的腳本可編輯性差,同時由於錄制生成的腳本中的事件和屏幕坐標相關,因此當出現窗口彈出位置發生變化等問題時,就需要考慮回放時應該如何來處理這些變化。