關鍵字驅動測試(Keyword-Driven Testing)方法,測試用例以關鍵字的形式表示,並且測試執行引擎根據這些關鍵字執行相應的操作。這種方法將測試步驟和測試數據從測試用例中分離出來,以提高測試的可維護性和重用性。關鍵字驅動測試通常用於支持測試自動化和測試自動化框架的開發。
原則上,關鍵字驅動測試可以應用於所有測試級別(例如組件測試、系統測試)和各種類型的測試(例如功能測試、可靠性測試)。
關鍵字驅動測試的關鍵思想是將測試邏輯與測試數據分離開來。測試邏輯由關鍵字表示,而測試數據存儲在外部數據表或文件中。測試執行引擎讀取測試用例中的關鍵字,並根據關鍵字從數據源中提取相應的測試數據,然後執行相應的操作。這種分離使得測試用例的編寫更加簡潔和可讀,並且可以輕鬆地修改和擴展測試邏輯和測試數據,而無需修改測試用例本身。
關鍵字通常分為兩個層次:
- 在較低的級別上,每個關鍵字都與一組詳細的操作相關聯,這些操作描述了要執行的確切步驟。
- 在高層次上,使用有意義的名稱來標識關鍵字。此關鍵字可能需要一組輸入參數,這些參數也屬於結構中的此級別。關鍵字和參數一起構成了與測試用例相關的操作的高級描述。
模塊化幫助推廣了這種方法。如果需要測試自動化,那麼可以創建一個框架,將手動創建的關鍵字測試用例解釋為可執行的測試自動化腳本。這是通過為每個關鍵字實現測試自動化代碼(例如關鍵字執行代碼)來實現。
關鍵字驅動測試步驟
典型的關鍵字驅動測試(Keyword-Driven Testing)通常涉及以下幾個關鍵步驟:
- 關鍵字定義:確定要使用的關鍵字,並為每個關鍵字定義其操作和功能。關鍵字可以是預定義的,也可以是根據測試需求自定義的。
- 測試數據準備:確定測試用例所需的測試數據,並將其存儲在外部數據源中,如數據表或文件。測試數據可以包括輸入值、預期結果、配置參數等。
- 編寫測試用例:編寫測試用例,以關鍵字的形式描述測試步驟和操作。測試用例將關鍵字和測試數據結合在一起,以指定要執行的操作和相關數據。
- 測試執行引擎:開發或選擇適合關鍵字驅動測試的執行引擎或框架。測試執行引擎負責解析測試用例,根據關鍵字執行相應的操作,並從外部數據源中提取相應的測試數據。
- 執行測試用例:運行測試用例並觀察測試執行過程。測試執行引擎將根據測試用例中的關鍵字執行相應的操作,使用提供的測試數據進行測試。
- 結果驗證和報告生成:在執行過程中,對測試結果進行驗證和比較,將實際結果與預期結果進行對比。生成測試報告,記錄測試執行的結果、錯誤和問題等信息。
- 維護和擴展:根據需要對關鍵字和測試數據進行維護和擴展。當應用程式的功能或測試需求發生變化時,可以通過修改關鍵字和測試數據來調整測試邏輯,而無需修改測試用例本身。
.關鍵字驅動測試的層次
關鍵字可以表示不同抽象級別的操作。例如,一個關鍵字可以指一組非常複雜的活動,比如創建一個合約,其中包括很多步驟,而另一個關鍵字可以指一個非常簡單的操作,比如按下圖形用戶界面上的一個按鈕。第一個關鍵字接近業務和最終用戶領域,而第二個關鍵字更接近測試接口。在相似的細節層次上編寫的關鍵字,與涉眾的視圖有相似的關係,被認為屬於相同的抽象層。
關鍵字驅動測試案例
我們可以考慮一個簡單的溫度監測器的測試用例。
這個例子中的關鍵字驅動測試方法可以提高測試用例的可維護性和重用性。如果要測試其他類型的嵌入式設備,只需要修改啟動設備和獲取溫度的關鍵字,並相應地調整驗證步驟。其他操作和驗證步驟可以保持不變。這樣,我們可以通過修改關鍵字和數據來擴展和修改測試邏輯,而無需更改測試用例的結構。
關鍵字 |
參數 |
說明 |
啟動設備 |
|
啟動溫度監測器設備 |
等待設備啟動 |
超時時間 |
等待設備啟動,並在指定的超時時間內完成啟動 |
獲取當前溫度 |
|
從設備中獲取當前的溫度值 |
驗證溫度範圍 |
最小值,最大值 |
驗證當前溫度是否在指定的範圍內 |
關閉設備 |
|
關閉溫度監測器設備 |