一、關鍵字概念
建立基于關鍵字的測試設計和測試自動化的前提是:構成任何應用程序的離散功能性業務事件可以使用短文本描述關鍵字和相關聯的參
數值對變量進行描述。例如,大多數應用程序要求用戶登錄;此業務事件的關鍵字可以是“登錄用戶”,參數可以是“用戶ID”和“密碼”
。通過設計關鍵字來描述離散功能性業務事件,測試員開始建立一個可用于創建關鍵字測試案例的通用關鍵字庫。這便是創建語言(關鍵字
)以描述應用程序內一系列事件(測試案例)的實際過程。
如果正確地實現和維護,關鍵字將呈現有關投資的良好回報,因為每一個業務事件都是作為離散的實體設計、自動化和維護的。然后這
些關鍵字可用于設計關鍵字測試案例,但對關鍵字本身的設計和自動化開銷已支付。當任何給定的關鍵字內發生更改時,將很容易找出受影
響的測試案例并進行適當的更新,另外,關鍵字本身的任何設計和更新僅執行一次。將其與錄制/回放相比(每次運行測試案例時,捕捉特
定業務事件或業務事件的一部分) - 如果登錄時啟動100個測試案例,則此事件將會自動運行100次,且有100種事例需要維護。
1. 關鍵字開發
關鍵字的開發應采用與任何正式的開發工作相同的方式來完成。關鍵字需要設計、編碼、實現和維護。
2. 設計
測試設計員負責關鍵字的設計-關鍵字的設計至少應包括:關鍵字名稱、關鍵字描述和關鍵字參數。
3. 關鍵字名稱
標準的關鍵字命名規范是先起草,接下來允許設計員進行有效地共享關鍵字。關鍵字名稱應該以執行的操作 <action> 開頭,接下來是
功能實體 <entity>,然后是描述性文本<text> (如果需要),以下是幾個常見實例:
登錄用戶 – 登錄用戶
輸入用戶姓名 - 輸入用戶姓名
輸入用戶地址 - 輸入用戶地址
驗證用戶姓名 - 驗證用戶姓名
挑選用戶記錄 – 挑選用戶記錄
關鍵字名稱應該是關鍵字所執行的操作的速記描述。
4. 關鍵字描述
關鍵字描述應該描述關鍵字的行為,并包含足夠的信息供測試自動化工程師構建關鍵字。對于設計員而言,描述是關鍵字定義,而對于
自動化工程師而言,則是功能規格。該描述必須簡短而準確-以下是關鍵字是“登錄用戶”的示例:
登錄用戶描述:在登錄頁面輸入特定的用戶ID和密碼, 然后按“確定”按鈕。
5. 關鍵字參數
關鍵字參數應捕捉可影響由關鍵字定義的實時業務事件的所有業務輸入。獲取適當的參數列表的最簡單可靠的方法是采取“捕捉顯示事
物”的方法。對于關鍵字“登錄用戶”,應用程序顯示三個元素:“用戶ID”、“密碼”和“確定”按鈕 – 用于支持此關鍵字的兩個必需
的參數是“用戶ID”和“密碼”!按_定”按鈕不是必需的參數,因為關鍵字描述陳述“確定”按鈕需要經常使用。如果有多個按鈕(如“
確定”、“取消”和“退出”),則需要第三個參數“按按鈕”,并需要修改關鍵字描述。
6. 編碼
自動化測試工程師選取測試下的關鍵字名稱、描述、參數、測試應用程序和關鍵字開發標準并構建密碼。如果關鍵字方面有任何問題,
自動化工程師將與測試設計員聯系以修改設計來闡明關鍵字的目的。如果存在任何自動化/工程問題,自動化工程師將與開發組和工具生產
7. 實現
關鍵字實現使用與任何可共享項目資源相同的路徑。完成的關鍵字至少應滿足以下條件:通過測試設計員的審核,自動化工程師的單元
測試、功能測試,并集成到項目“Testware”中。該過程不需要很復雜或擴展性,但必須確保任何實現的關鍵字都公布于測試組并能實現預
期的功能。
8. 維護
出現以下情況時需要進行關鍵字維護:檢測到關鍵字故障,更改業務事件或修改關鍵字標準。關鍵字維護遵循和關鍵字開發相同的部署
路徑:設計、編碼和實現。
二、關鍵字測試案例
關鍵字測試案例是設計用于對正在進行測試的一個或多個應用程序的一個或多個方面進行測試或運用的一系列關鍵字。關鍵字測試案例
必須經過設計、執行和維護的。寫關鍵字測試案例是測試設計員/測試員的職責,僅當關鍵字測試案例執行過程中出現故障時需要自動化工
程師介入。請注意:關鍵字設計范例常在缺少關鍵字自動化時使用 – 這是一個有效的獨立測試設計范例。
1. 設計
關鍵字測試案例設計包括計劃測試案例的目的, 使用關鍵字建立測試案例, 以及針對正在進行測試的應用程序來測試設計。乍一看,這
似乎與測試案例設計的任何其他方法沒什么兩樣,但是關鍵字測試案例設計與任何徒手/文本形式的測試案例設計之間存在顯著的差別。關
鍵字測試案例設計的特征有:
一致性 – 每次都使用相同的關鍵字來描述業務事件,
數據驅動 – 關鍵字包含執行測試步驟所需的數據,
自動生成文檔 - 關鍵字描述包含設計員的目的詳細信息,
可維護性 – 有了一致性,接下來便是可維護性,最終能夠支持自動化,而不需要從測試設計變換到腳本自動化。
測試設計員不需要成為測試自動化工程師就能獲取測試自動化的權限。
2. 執行
通過按順序執行關鍵字步驟,測試員可以手動執行關鍵字測試案例執行 – 這應作為關鍵字驗證過程的一部分執行。測試案例是使用自
動化關鍵字構建的,可以使用測試自動化工具或集成的測試管理工具來執行。不管是否使用自動化,測試案例執行都是一種機械練習。測試
案例應該包含執行測試案例,以及確定該操作成功或失敗的所有必需信息。
3. 維護
當應用程序行為或在一個或多個測試案例中使用的關鍵字設計中發生更改時,必須進行測試案例維護。正確實現的關鍵字框架將允許測
試員通過一些查詢機制來查找關鍵字的所有實例– 將通常令人痛苦的查找受影響的測試案例的過程減少到一個簡單步驟。而且, 良好實現
的關鍵字框架應該支持對關鍵字實例的全局更改。
三、關鍵字實現
1. GUI (圖形用戶界面)
基于GUI 的應用程序的關鍵字方案是最容易理解和實現的。大多數共享軟件、免費軟件和關鍵字測試的商業應用程序都涉及該領域。
2. API (應用程序編程接口)
基于API的應用程序關鍵字解決方案表面上看來很復雜, 但這些應用程序一旦細分成離散功能業務事件,其行為便與同等GUI應用程序一
樣了。如果業務事件為”登錄用戶”,則無論使用哪個應用程序機制來實現該事件都無關緊要,如果業務驅動相同,關鍵字查找和行為將相
同。有幾個與 API 領域相關的關鍵字解決方案提供商,且同一提供商通常具有 GUI 應用程序的解決方案。
3. 電信 (通信協議)
電信領域的關鍵字解決方案 (例如SS7)要求對電信協議非常了解. 有幾個提供該領域關鍵字解決方案的提供商。
四、關鍵字和測試階段
1. 單元測試
關鍵字可用于單元測試, 但不建議這么做。應該由開發組使用開發套件中可用的工具和技術來進行單元測試。
2. 功能 (綜合測試)
關鍵字測試解決方案專注于作為離散功能業務事件設計和實現關鍵字,為功能測試提供低本高效并可維護的測試框架。事實上, 如果需
要或期望基于GUI 或API 的應用程序的測試自動化,有一些框架可匹配其短期或長期ROI (投資回報)。
3. 系統測試
將關鍵字從功能測試提升到系統測試階段的基于關鍵字的測試解決方案可幫助加速測試過程。有效的關鍵字框架將允許測試設計員把功
能級關鍵字組合成系統級關鍵字。系統級關鍵字處理完整的業務事件, 而不是組成業務線程的離散功能業務事件。例如, 一個系統級的關鍵
字可以是 “完整客戶應用程序”,該關鍵字可以是由這一系列功能級關鍵字組成:“輸入客戶姓名”,“輸入客戶聯系信息”,“輸入客
戶個人信息”和“保存客戶記錄”。
4. 用戶驗收測試
關鍵字可用于用戶驗收測試, 但不建議使用,除非這是測試的擴展階段。終端用戶團體使用產品最佳執行用戶驗收測試中可用的工具、
技術和過程。
文章來源于領測軟件測試網 http://www.k11sc111.com/