自動化元件測試
「元件測試」或「子系統測試」驗證系統的各個部分,可能需要安裝整個系統或某些外部依賴關係,如資料庫、檔案系統或網路終端等。這些測試驗證元件間的互動能產生預期的組合行為。典型的元件測試需要底層資料庫支援,甚至可能跨越架構邊界。因為每個測試用例執行的**量更大,每個測試的**覆蓋率也更大,所以這些測試一般比單元測試執行的時間長。
**清單
6-3展示了乙個元件測試的例子,它利用
dbunit
框架來生成資料庫中的基底資料,然後嘗試基於資料庫中的內容找到資料。
dbunit
使用了一些
xml檔案,它讀入這些檔案並將對應的資料插入到匹配的資料庫表中。
**清單
6-3使用
dbunit
的元件測試
public class defaultworddaoimpltest
extends databasetestcase
protected idatabaseconnection
getconnection() throws exception
public void
testfindverifydefinition() throws exception
}public
defaultworddaoimpltest(string name)
}元件級的測試比單元測試用到更多的依賴關係,但不一定像更高階的系統測試(稍後定義)用到的那麼多。元件級的測試通過
api來執行**,但這些
api可能暴露給客戶,也可能不暴露給客戶。在**清單
6-3中,主要通過暴露出的介面測試了資料訪問物件(
dao)層的乙個物件。另乙個元件測試的例子通過
strutstestcase
框架測試了
struts
架構中乙個動作類,如**清單
6-4所示。這個測試明顯需要乙個資料庫才能執行,但
web容器則是虛擬的,執行的
api也不必暴露給客戶。
**清單
6-4使用
strutstest
的元件測試
public
class projectviewactiontest extends deftmeinmockstrutstestcase
protected string
getdbunitdatasetfileforsetup()
public
projectviewactiontest(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 軟體...