技術交流

如何提升系統軟體品質?淺談 SoapUI:Web Service 單元測試工具

近年來時有所聞,政府資訊服務常因系統異常造成服務中斷,或個資外洩等新聞,這些事件不僅僅造成民眾困擾,甚至因為資料外露造成詐騙案件更趨頻繁,民眾強烈質疑政府建置資訊系統品質低落。要如何提升系統軟體品質一向是個需要被嚴正視之的課題,資通電腦集多年系統整合與資訊安全經驗,協助政府機關執行各項大型專案,確保掌控專案進度與品質!

測試,是品質的重要基石

軟體測試是項複雜且龐大的工程,更是軟體產品執行品質控管重要關鍵。正確地規劃軟體測試計畫,可以協助軟體專案在開發與維護過程中,有效地執行軟體測試工作,提高軟體測試效益。在多年的參與系統開發建置經驗中可得知,測試花費占整個系統開發工作至少 30% 以上時間及成本,所以選擇合適的測試工具將可大幅提升軟體測試效益。

SoapUI:Web Service 單元測試工具

SoapUI 是當前比較簡單實用的開源 Web Service 測試工具,提供桌面應用程式和 IDE 插件程序兩種使用方式。能夠快速構建測試 Project 和組織 Test Case 是該工具的一大特性,下面將通過實例介紹如何使用 SoapUI 進行 Web Service 單元測試。

SoapUI 基本操作

※ 建立測試專案

  • 開啟 SoapUI,新增 SOAP 專案
    操作圖
  • 輸入專案名稱及 WSDL 位址
    操作圖
  • 建立測試個案
    操作圖
  • 輸入測試個案名稱
    操作圖
  • 完成的測試個案
    操作圖

※ 增加引用 Web Service

  • 點選專案名稱按右鍵 --> 選擇 Add WSDL
    操作圖
  • 輸入 WSDL 路徑
    操作圖
  • 新增完成
    操作圖
  • 增加測試步驟:點選測試步驟 --> Add Step --> SOAP Request
    操作圖
  • 新增一個 Web Service:增加使用者登入,取得 Token 作業
    操作圖
  • 選擇新的 Web Service
    操作圖
  • 設定測試名稱
    操作圖
  • 以拖曳方式調整執行順序
    操作圖
  • 設定測試參數內容:分別設定兩個 Web Service 的 SOAP 參數內容
    操作圖

※ 增加參數移轉

  • 插入參數移轉步驟(Property Transfer): 在第一個 Web service(Qrylogin)後差入一個 Property Transfer 的步驟
    操作圖
  • 新增參數
    操作圖
  • 輸入參數名稱
    操作圖
  • 輸入來源及目的:本案例是以 QryLogin 的回傳值(response)的 Token 欄,傳送至 ManToDoList 的輸入參數(request),兩者是以 xpath 取出及寫入
    操作圖

※ 測試

  • 點選測試個案,按右鍵選擇 Show TestCase Editor
    操作圖
  • 選擇 Runs this testcase
    操作圖
  • 檢視測試結果:逐一檢查測試是否正確
    操作圖

※ 評估測試結果

  • 增加測試結果評估:選擇 Adds an assertion to this item
    操作圖
  • 新增結果評估:選擇 Property Content
    操作圖
  • 回傳結果評估:含有指定字串視同成功
    操作圖
  • 測試成功
    操作圖
  • 測試失敗
    操作圖
閱讀更多