什麼是關鍵字驅動測試?
敏捷和DevOps日益增長的需求改變了傳統測試的整體概念。現在,公司需要具備多種技能的測試人員,以及更多該領域的經驗。團隊需要操作靈活的自動化測試工具,以立即建立可維護且可擴充套件的UI測試。
測試人員使用一系列操作來構建自動化的UI測試。每個測試都包含關鍵字來模擬使用者的操作,例如單擊滑鼠或按下鍵盤上的鍵。透過像TestComplete這樣的關鍵字驅動測試工具,即使沒有指令碼編寫知識,您也可以透過簡單的拖放操作建立可重用的自動化測試。
什麼是關鍵字驅動測試?
關鍵字驅動測試指的是一種測試方法,它允許測試人員將測試用例設計與測試開發分離。因此,它為測試自動化過程中更多專業的投入打開了大門。它是功能自動化測試框架的一部分,該框架被稱為表驅動測試或基於動作詞的測試。
關鍵字驅動的測試包含一系列可以像其他測試一樣重複使用的關鍵字。
關鍵字序列是一個包含關鍵字組合的關鍵字。它允許您精確地排列測試,並以更少的精力維護它們。
簡單來說,關鍵字指的是您可以使用各種工具和程式語言(如.NET或Java)實現的對測試物件的動作/操作的組合。
通常,每個函式的關鍵字或動作詞都以表格格式(如電子表格)記錄。關鍵字驅動框架的標準形式是將測試用例分為四個部分 - 測試步驟、物件、動作和資料。
測試步驟 - 它包含將在測試物件上執行的操作的簡短描述。
測試物件 - 它包含網頁元素的名稱,例如使用者名稱、密碼等。
動作 - 它指的是動作的名稱,例如點選、開啟瀏覽器、輸入等。
測試資料 - 資料包含物件執行任何操作所需的值,例如使用者名稱欄位的使用者名稱值。
關鍵字驅動方法將編碼與測試用例和測試步驟分離,以便即使是非技術人員也可以理解自動化過程。它也使手動測試人員更容易編寫自動化指令碼。關鍵字驅動測試也需要自動化測試人員的存在。為了使測試工作,您需要一位經驗豐富的技術編碼人員定期設定測試框架並在後臺更新自動化程式碼。
通常,一個自動化團隊需要兩名手動測試人員和一名自動化編碼人員。
資料驅動和關鍵字驅動框架的區別
關鍵字驅動框架 | 資料驅動框架 |
---|---|
由於在測試資料、關鍵字、指令碼等之間存在更多抽象層,因此易於管理。 | 與關鍵字驅動框架相比,管理起來稍微困難一些,因為抽象是測試指令碼和測試資料之間唯一的要素。 |
開發框架需要進行精確的計劃。 | 只需要測試資料和測試指令碼,因此計劃很容易。 |
測試人員可以在產品完成開發階段之前編寫測試指令碼。 | 測試人員無法在完成開發過程之前編寫測試用例。 |
關鍵字驅動框架所需的元件
Excel 表格 - 用於儲存測試用例的資料
物件庫 - 用於儲存網頁元素的定位器值
函式庫 - 用於建立執行操作的函式
測試資料表 - 用於儲存物件內部的資料值
Selenium - 用於設定環境。您也可以為此目的使用其他工具。
驅動指令碼 - 用於與測試指令碼互動
關鍵字驅動測試的優勢
以下是關鍵字驅動測試過程的優勢
輕鬆建立UI測試 - 它允許輕鬆建立自動化的功能UI測試,並在沒有程式設計知識的情況下處理複雜場景。某些場景包括管理不需要的視窗、訪問資料庫資訊等。
內建自動化框架 - 它使您可以建立易於管理且可擴充套件的自動化UI測試,並分離測試步驟、物件、測試資料和操作。即使您具備技術知識,也可以重複使用這些元件。
將關鍵字測試切換到指令碼測試 - 它允許您一鍵將桌面、移動和Web關鍵字測試轉換為指令碼測試,這有助於快速進行GUI測試。使用像TestComplete這樣的工具,您可以整合各種指令碼語言,如Jscript、VB.NET、Python等。
在其他測試自動化專案中重複使用 - 您可以同時在多個專案中重複使用關鍵字驅動的測試。它允許您比其他方法更快地在不同的測試周期中執行自動化的UI測試。
如何執行關鍵字驅動測試?
您可以手動和自動進行關鍵字驅動測試。但是,大多數情況下它是透過自動化測試完成的。
它有助於 -
降低維護成本
重複使用函式指令碼
建立更好的測試支援和可移植性
在更短的時間內進行更多測試
避免重複的規範
您可以透過關鍵字驅動測試建立簡單的功能測試。這些測試在開發的早期階段完成,用於逐塊測試應用程式。您需要記錄關鍵字驅動測試並根據您的要求對其進行修改或自定義。
您需要為每個關鍵字分配至少一個操作,其中涉及命令、測試指令碼或函式。
測試自動化框架指的是在執行測試用例時解釋關鍵字的測試庫。
執行關鍵字驅動測試的五個步驟
步驟 1 - 識別低階和高階關鍵字
步驟 2 - 實現關鍵字
步驟 3 - 建立測試用例
步驟 4 - 建立驅動指令碼
步驟 5 - 執行自動化測試指令碼
結論 -
關鍵字驅動測試需要大量的計劃,這既耗時又耗費資源。一旦完成,其餘的測試過程就變得輕而易舉。您可以使用 Selenium 或 HP QTP 等自動化工具來準備關鍵字驅動框架,即使您沒有任何技術知識。