Web services測試對于開發和測試團隊來說提出了一系列嶄新的問題。JUnits可以創建用來測試Web service的一部分功能,但是確保充分驗證所需的總體功能性,它卻不能提供,同時它也會使更新數據值變得困難。還有許多需要被測試的Web service組件仍未找到合適的、更加通用的測試工具。由于Web service測試是一個在開發過程中很早就涉及到外部合作伙伴的領域,所以格外危險,可能很快就會變成一場惡夢。
SOAPtest提供了一套完整的針對Web service的測試工具,使開發團隊和(或)測試團隊能夠利用一個一致的工具,對從Web Service定義語言(WSDL)確認到無需自己構建和更新測試客戶端的性能測試,來證明Web services是否合適。
SOAPtest的一個主要特征是該工具支持大量數據源。生成測試數據可能是耗時的,并易于出錯,但是SOAPtest工具有效地減輕了所有這些問題。SOAPtest支持來自任何可通過ODBC/JDBC連接的數據庫的測試數據,例如.csv文件、內部表、Excel電子表格,或者任何上述類型文件的集合都支持。增加一個數據源是非常簡單的,您只需要選擇數據源的類型和位置。我使用的是指南中提供的Excel電子表格。
首先,我運行一系列WSDL確認。WSDL通過描述服務和標識位置來控制對Web service的訪問。屏幕界面相當直觀,我能很快就驗證一組WSDL文件 。
您也可以檢查任何URL鏈接在WSDL中是否依然有效。最有趣的是該工具能夠執行Web Services互操作性組織確認。該工具能夠生成一份印象深刻的報告,報告可由開發和測試團隊進行分析,并酌情分發給您的合作伙伴。
該工具還支持WSDL比較和回歸測試,使開發團隊能夠在其他測試之前輕松地獲得并確認WSDL變化。
一旦WSDL得到確認并生效,下一個關鍵步驟就是確保Web service操作在單元測試層次上的有用性。這是通過創建一組單元測試來完成的,按照邏輯劃分每組單元測試都屬于一組測試套件。SOAPtest支持正面測試(測試期望的場景)、反面測試(錯誤條件下的測試)和回歸測試(執行改變確認)。利用該工具,測試數據可以全部或部分來自各種數據源,或者由工具快速生成。在數據生成方面,該工具具有大量的功能,并有能力根據用戶定義的一系列規則來生成數據。但有一個缺點就是當我試圖僅僅保存某個獨立測試本身時,卻不知道如何完成。
當開發人員完成了單元測試,SOAPtest工具才能夠提供創建實際場景測試的功能。在測試過程中,場景測試表現了業務場景的再現。場景測試可以從頭創建,也可以通過一系列已經生成的單元測試與測試團隊定義的附加測試相融合的聯合體得到。
SOAPtest提供了數據確認能力的范圍。數據可以由元素確認,或者僅由那些您想比較的元素來確認。
Web services的另一個關鍵方面是其異步特性。那些期望使用其他應用程序的傳統異步響應的測試工具在處理Web services的這個典型方面時遇到了困難。SOAPtest提供了對那些使用Parlay、SCP和WS-Addressing通信協議的異步調用進行測試的功能。這很關鍵,因為大多數這些服務的性質不能直接得到確認或者響應。SOAPtest包含一臺Tomcat服務器,當部署了結果回調異步模式時,Tomcat服務器使SOAPtest能夠測試期望的“回調”響應。當使用了回調測試時,一個建議的更新是讓Tomcat服務器自動啟動。一組異步測試的結果如圖1所示:
當開發Web services時,另一個關鍵細節與安全的重要性有關。揭示Web services的本質特性需要安全考慮;因此,測試安全特性對任何Web service的確認測試都是不可缺少的。SOAPtest提供了一個加密工具,能夠支持對消息的全部或者部分加密。該工具提供的加密標準包括三重DES、AES 128、AES 192和AES 256。這些數字代表密鑰的位數。當使用加密測試時, 一定要安裝JCE(Java密碼術擴展)Unlimited Strength Jurisdiction Policy File,因為沒有它測試就無法工作。
SOAPtest所提供的其他關鍵安全特性包括XML簽字工具、XML 驗證工具和對用戶名和SAML標志的支持。XML簽字工具提供數字簽名功能。如果您的Web service需要某種數字簽名,該工具能用來驗證其功能性。同樣,XML驗證工具允許用戶進行加密/解密/驗證數字簽名消息,方法是利用公鑰/私鑰存儲文件。支持的密鑰存儲文件格式包括JKS、PKCS12、BKS和UBER。
安全聲明標注語言(SAML)為交換安全信息提供了一個標準。SAML為Web services提供了一個交換認證和授權聲明的方法。這賦予團隊在整個組織中提供身份管理服務的機會。在出現一個失敗之前,SOAPtest 支持SAML驗證。
如果您的Web service測試不具備上述測試的特征,SOAPtest將通過提供自定義腳本功能來提供最高的靈活性。腳本可使用Java、JavaScript或者Jython,以及支持文件導入的工具來編寫。為了完成測試,腳本代碼能夠完成任意所需的其他測試邏輯。
在測試Web services時,另一個關鍵方面是確認性能需求和識別性能的界線。在Web service測試的工具中,SOAPtest相當獨特,這是因為它在負載測試領域所提供的強大功能。
要訪問SOAPtest的負載測試工具包,從左側導航面板中選擇Load Test選項卡,F有的場景可以利用以前的功能測試,也可以生成新的測試場景。 該工具提供了通過約束相關機器來在整個網絡中運行這些測試的能力。當您能夠避免本地機器局限性的時候,這也使得負載水平顯著地增加。
通過創建用戶配置文件,可以將功能測試和負載測試合為一體。每個配置文件由一個或者多個功能測試組成,并且能被加入到每個負載測試或者從每個負載測試中刪除。我使用的配置文件是基于前面創建的正面和負面測試場景的。
也可以延遲每個配置文件,以便更好地監視每個功能測試對負載的影響。配置文件比率可以通過使用與該場景相關的Profiles選項卡來調整。在整個計劃的測試周期中,它以圖形顯示信息,允許對用戶數量和每秒鐘的點擊數進行調整。很簡單,在圖的任何地方點擊右鍵,創建一個點,然后把那個點移到合適的位置。每秒鐘的點擊數和用戶的數量也可以動態地調整。
文章來源于領測軟件測試網 http://www.k11sc111.com/