自動化元件測試

2021-06-07 05:11:15 字數 1533 閱讀 8632

「元件測試」或「子系統測試」驗證系統的各個部分,可能需要安裝整個系統或某些外部依賴關係,如資料庫、檔案系統或網路終端等。這些測試驗證元件間的互動能產生預期的組合行為。典型的元件測試需要底層資料庫支援,甚至可能跨越架構邊界。因為每個測試用例執行的**量更大,每個測試的**覆蓋率也更大,所以這些測試一般比單元測試執行的時間長。

**清單6-3展示了乙個元件測試的例子,它利用dbunit框架來生成資料庫中的基底資料,然後嘗試基於資料庫中的內容找到資料。dbunit使用了一些xml檔案,它讀入這些檔案並將對應的資料插入到匹配的資料庫表中。

**清單6-3  使用dbunit的元件測試

public class defaultworddaoimpltestextends databasetestcase

protected idatabaseconnectiongetconnection() throws exception

public voidtestfindverifydefinition() throws exception }

publicdefaultworddaoimpltest(string name) }

元件級的測試比單元測試用到更多的依賴關係,但不一定像更高階的系統測試(稍後定義)用到的那麼多。元件級的測試通過api來執行**,但這些api可能暴露給客戶,也可能不暴露給客戶。在**清單6-3中,主要通過暴露出的介面測試了資料訪問物件(dao)層的乙個物件。另乙個元件測試的例子通過strutstestcase框架測試了struts架構中乙個動作類,如**清單6-4所示。這個測試明顯需要乙個資料庫才能執行,但web容器則是虛擬的,執行的api也不必暴露給客戶。

**清單6-4  使用strutstest的元件測試

publicclass projectviewactiontest extends deftmeinmockstrutstestcase

protected stringgetdbunitdatasetfileforsetup()

publicprojectviewactiontest(string name) }

在**清單6-4中,strutstestcase框架與dbunit一起提供了向資料庫填充基底資料的功能和乙個虛擬的容器。deftmeinmockstrutstestcase類是乙個模板,它要求實現getdbunitdatasetfileforsetup方法。

這種型別的測試也被稱為「整合測試」。這種型別的測試與系統測試的不同之處在於,整合測試(或元件測試、子系統測試)並不總是執行那些期望公開的api。例如,系統測試可以通過web應用程式的web頁面執行它,但元件測試可以執行應用程式web頁面底下的業務層。

本文節選自《持續整合:軟體質量改進和風險降低之道》一書

圖書詳細資訊:

[美]paul m.duvall (保羅.m. 杜瓦爾)steve matyas (史蒂夫.邁耶斯)andrew glover(安德魯.格洛弗) 著

王海鵬譯

電子工業出版社出版

自動化元件測試

自動化元件測試 元件測試 或 子系統測試 驗證系統的各個部分,可能需要安裝整個系統或某些外部依賴關係,如資料庫 檔案系統或網路終端等。這些測試驗證元件間的互動能產生預期的組合行為。典型的元件測試需要底層資料庫支援,甚至可能跨越架構邊界。因為每個測試用例執行的 量更大,每個測試的 覆蓋率也更大,所以這...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

測試自動化 自動化測試的定義

相關術語 automated testing test tool,automated testing test suite,automated testing test script等.具體參見 http en.wikipedia.org wiki test automation 推薦書籍 1 軟體...