基於GUI的自動化軟體測試工具

shbwf發表於2009-06-23
基於GUI的自動化軟體測試工具在軟體測試自動化領域發揮著巨大的作用。但要真正找到一個方便高效的軟體測試工具卻並非易事,通過實踐,我們發現一個好的軟體測試工具必須具備如下特徵:

支援指令碼化語言:包括支援陣列、列表、結構等多種常用的變數和資料型別、各種條件邏輯和迴圈、函式的建立和呼叫。如果此工具使用如VBC等通用語言,測試就更方便。指令碼語言的功能越強大,就能為軟體測試者提供更靈活的使用空間,或者用它寫出比被測軟體還要複雜得多的軟體測試系統。

對程式介面中物件的識別能力:工具必須能夠將程式介面中的所有物件都區分並標識出來,錄製的測試指令碼才具有更好的可讀性、靈活性和更大的修改空間。另外,對開發語言的支援也是很重要的一項。對於程式中存在的一些比較難於標識的物件,如點陣圖物件,那麼在軟體設計階段就應考慮,是一定要實現這樣的功能,還是要保證軟體的可測試性,或採取一些折衷處理方法。

支援函式的可重用:用它可以建立一套比較通用的函式庫,一旦程式做了修改,只需把原指令碼中的相應函式進行更改,而不用把所有可能的指令碼都改動,可以大大節省工作量。

支援外部函式庫:一些外部函式同樣能夠為軟體測試提供強大功能,如Windows程式中對DLL檔案的訪問,ClientServer程式中對資料庫程式設計介面的呼叫等。

抽象層:可以將程式介面中存在的所有物件實體一一對映成邏輯物件,測試就針對邏輯物件進行,這樣當程式介面改變時,就可大大減少軟體測試維護工作量。

分散式測試支援:一個軟體測試專案,通常需要多名測試人員協同工作,因此如果軟體測試工具不支援分散式測試,將很難保障這種協同測試工作的開展。分散式測試最大的好處是我們可以事先定製任務執行的時間表,如在指定時間、指定裝置上執行指定測試任務。

支援資料驅動測試:在資料驅動測試中,只需編制少量的指令碼,而準備大量的測試資料,測試工具可以自動重複完成大量的測試工作。比如在WINDOWS系統中,如果測試工具支援對INI檔案的處理,被測軟體通過讀.INI檔案知道要在哪一臺伺服器上執行,那麼我們只要把需要執行程式的伺服器名寫進.INI檔案中,而不需要修改測試指令碼,就可以讓程式在指定裝置上執行……

支援指令碼的命令列方式執行: 如果能夠通過命令列方式執行測試指令碼,可以為軟體測試的執行帶來更大的靈活性。如機器啟動時、程式Bulid後都可以自動啟動測試指令碼的執行。

使用者社群:軟體測試工具通常沒有這個功能,但最好能尋找一些其它工具,幫助建立使用者討論組、Web站點等,支援成員間互相討論、學習,共享一些比較實用的函式、原始碼等,這對於自動化測試的開發非常有用。

購買建議:通常先買少量License,在小範圍內試用是減小風險的好辦法,特別是在現有軟體測試工具還可以使用,而上面提到的某功能又不具備時,如果試用效果很好,再全面更新軟體測試工具也不遲。多數銷售商在推銷產品時會首先強調產品易用性,而對其功能的可擴充套件性、定製和程式設計等不會特別宣傳,而這些特點都是在你使用了一段時間,系統的維護、原始碼的管理工作量越來越大以後,才會發現它的重要性的。因此以上提到的這些特徵能夠幫助對軟體測試工具的選購提供參考,在實際購買時應該根據對軟體測試工具的要求、資金情況進行綜合考慮。

本文轉載自51Testing軟體測試網(檢視全文):http://www.51testing.com/html/04/n-92204.html

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11323760/viewspace-1023405/,如需轉載,請註明出處,否則將追究法律責任。

相關文章