您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 >
開源的Web Service測試工具介紹
作者:網絡轉載 發(fā)布時間:[ 2012/12/25 15:45:00 ] 推薦標簽:

TestMaker可以在命令行執(zhí)行,因此,你的測試代理(test agent)可以被自動化系統執(zhí)行。另外,TestMaker還綁定了Apache Axis TCPMonitor工具,它讓你可以監(jiān)視某個端口的HTTP信息交換。這對于檢查內部請求/響應對來決定如何編寫Jython測試代碼時會很有用! 

商業(yè)的TestMaker版本添加了XSTest,提供性能測試和容量測試(Scalabillity testing),一個監(jiān)視面板提供實時的結果,報告能力,還有TestNetWork – 能遠程執(zhí)行測試代理(test agent),因此,允許你搭建測試代理服務器來同時測試目標Web應用程序! 

TestMaker的文檔很好,工具的感覺像專業(yè)的應用。但是,很難掌握和精通。需要留出大量時間來閱讀指南和分析那些例子的源代碼! ebInject  WebInject是一個極其輕量級的測試工具,能自動化測試Web services和Web應用程序。事實上,WebInject能測試XML/SOAP Web Service好像是近增加的功能,早期版本不能很好地處理SOAP協議! 

WebInject首先是一個用Perl寫的命令行工具,雖然它的作者提供了一個簡單的Perl/Tk用戶界面,至少簡化了測試的執(zhí)行(對于某些人來說不愿意花太多的時間在命令行)。如果你不熟悉Perl,不要害怕。WebInject的使用可以不用任何Perl代碼! 

WebInject其實是一個執(zhí)行和報告引擎。不像其他工具,它沒有IDE類型的用戶界面,因此測試的編輯必須在WebInject界面之外完成。這讓人感覺WebInject沒有那么專業(yè),但是這不妨礙這個工具的使用,我可以想象WebInject的用戶都有一個目錄存儲了各種測試“模板”。新建一個測試的時候,這些用戶只需要打開他們喜歡的編輯器,拷貝粘貼一些代碼,調整一下完成了一個新的測試用例!‘斈氵\行WebInject時,它讀入一個包含測試用例描述信息的XML文件。每個測試用例使用XML標簽來描述。因此,一個簡單的驗證某個Web方法返回一個書名列表是否包含My Antnia的測試用例可能會像下面的代碼所示: 
 id=”5”  description1 = “Verify My Antonia in list”  method=”post”  url=”Http://localhost:8080/axis/bkService.jsw”  postbody=”file=>soapListTest.xml”  posttype=”text/xml”  addheader=”SOAPaction: urn:getBookList”  verifypositive=”My Antonia”  />   

“id”屬性不僅提供了測試用例的名稱,還標識了測試用例的執(zhí)行順序。其他的屬性都是很直觀易懂的(只要你細讀它的文檔)。賦給“postbody”屬性的值告訴WebInject取當前目錄名為“soapListTest.xml”的XML文件,并用它來組成SOAP請求的內容。  

如果結果包含“My Antonia”字符串,則測試通過。WebInject提供了三個額外的“verifypositive”屬性,每個的值都被作為正則表達式處理。這意味著你可以創(chuàng)建很復雜的驗證說明 – 更確切地說,你可以構建一個測試步驟,只有通過4個正則表達式的過濾條件才算通過測試,每一個正則表達式對應一個“verifypositive”屬性”。一個測試用例元素還可以包括4個“verifynegative”屬性,功能與“verifypositive”屬性”相反,如果任何一個正則表達式不匹配,則測試用例失敗。  

本質上,一個WebInject“項目”只是一連串的組成的XML文件。WebInject的簡單結構讓你可以非?焖俚貥嫿y試。但是你必須適當了解SOAP協議的機制,還需要一個工具幫助你捕獲和產生HTTP/SOAP請求和響應。你需要那些請求信息來構建POST的正文,需要那些響應信息來創(chuàng)建合適的“verifypositive”和“verifynegative”的正則表達式來檢查測試是否成功。我使用Eclipse的Web Service工具包來為WebInject獲取請求和響應信息,一旦我掌握其中的訣竅,我覺得創(chuàng)建測試用例是很簡單的事情! 

對于每個測試用例的執(zhí)行,WebInject的UI都會顯示狀態(tài)(通過或者失敗)。你可以配置WebInject以提供完整的HTTP請求和響應信息,這是一個非常有用的功能,如果你想在測試用例失敗時調試的話! 

除此之外,UI還能產生實時的圖表,為每一對請求和響應產生往返時間的統計圖表,因此你可以使用WebInject構建和監(jiān)視性能測試。而且WebInject還為MRTG(Multi Routing Triffic Grapher)提供插件,MRTG是一個網絡監(jiān)視和數據收集工具,允許你執(zhí)行和捕獲測試用例運行一段時間的結果,還能分析數據的模式和趨勢! 


WebInject的大特點是它的簡單性。一旦你掌握了WebInject的XML命令的訣竅,你可以快速地構建、修改和擴展測試用例。整個文檔包含一個Web頁面,這些信息可以在同一個地方讀取到。但是,這個頁面的文檔有時候也會讓你感覺不知道如何進一步測試。此外,你需要適當了解SOAP協議,還有額外的一個工具來提取Web Service響應信息的POST正文,以便創(chuàng)建測試用例。  

為你效勞  這三款工具從快速和易用到復雜和強大的都有。如果你需要快速編碼來測試你的Web service的話,WebInject是個符合邏輯的選擇;你將在一個下午的時間里測試你的Web service。如果你需要高端的工具,讓你可以創(chuàng)建強大的測試,可能擴展到其他的系統資源 – 文件系統、數據庫、e-mail等的話,那么TestMaker是佳選擇。但是首先要看看Jython,準備好艱難的學習過程! 

我喜歡中間的soapUI。由soapUI的向導創(chuàng)建的基本測試結構比起TestMaker創(chuàng)建的要容易讓其豐滿起來。而且如果我需要更復雜的測試,我還可以使用soapUI的Groovy。  

如果說把這些產品與商業(yè)的Web service測試工具比較的話,我會說它們是大雜燴。它們雖然是免費的,并且對于簡單到中等復雜程度的工作而言工作得不錯;但是另一方面,它們比商業(yè)工具在易用性方面要弱些,你需要做一些復雜的工作,必須自己構建。TestMaker看起來比較接近商業(yè)工具,但是需要學習Jython意味著需要更長的時間來構建測試。soapUI看起來沒有那么專業(yè),但是可以讓你不需要編程能創(chuàng)建可用的測試。WebInject則是徹頭徹尾的開發(fā)人員的工具。你需要懂得SOAP,才能很好地使用它,并且能力也不會有soapUI或TestMaker那么強大,因為它的測試用例依賴模板驅動。

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd