發布時間:2020-07-21
隨著自動化測試的發展,自動化測試工具、測試框架也越來越豐富,比如:
自動化測試工具的分類:Web自動化測試工具,性能自動化測試工具,接口自動化測試工具。
自動化測試框架:錄制回放測試框架,測試庫構架框架,數據驅動的自動化測試框架,關鍵字驅動的自動化測試框架。
隨著測試工具的多樣化發展,自動化測試的成本、周期都隨之縮小,但也帶來了如何選擇的問題。
自動化測試工具的選擇:
框架、工具的選擇是我們確認開展自動化后首先面臨的問題。自動化測試開展一定要結合被測系統的特點進行選擇,不顧被測系統(系統框架)特性、場景而盲目選擇自動化測試框架(或工具), 它是沒有靈魂的,自動化失敗概率會相對高很多。
首先我們需要明白自動化測試框架更傾向于一種設計思想 ,這種思想指導工具的使用或者自研開發,并且不是只能使用僅僅一種框架,結合被測系統本身特性一般是選擇多種測試框架的組合,來滿足測試和設計需求(開發、維護角度)。
很多種自動化測試框架(或工具)都可以開展自動化, 所以在自動化框架(或工具)的選擇上,以被測對象為本來選擇自動化框架(或工具)。
結合業務特點,我們在測試庫構架框架的基礎上再采用數據驅動框架,將其單的查詢邏輯與測試數據分離,這樣我們再開發其他用例時,只需要在數據文件中增加測試數據(輸入、對應期望),避免了重復開發帶來的開發、維護成本。
因此,可以考慮基于測試庫架構框架+數據驅動的自動化測試框架實現用例(代碼)與數據(參數)解耦,將數據存在配置文件中,提高“查詢邏輯單一、復用性強”的測試場景下的自動化測試的可擴展性、維護性。
復雜業務流程的測試場景
業務流程場景一般指的是系統業務流程,類似于辦公流程,具有強流程性。在不考慮使用mock等方式對單接口進行自動化覆蓋的情況下,只考慮進行不同流程接口的集成自動化測試覆蓋,該如何設計呢?
基于這種測試場景,假如我們繼續使用測試庫架構框架+數據驅動的自動化測試框架的設計思路來完成,效果會如何?
首先想到的一個弊端就是每條用例的代碼量會很多,對于用例(代碼)調試、維護成本會增加。單單這一點,該方案就不應被采用。
我們可以考慮基于測試庫構架框架 + 數據驅動框架(參數解耦)+ 關鍵字驅動框架(操作解耦)。
采用這種框架會帶來哪些變化,首先基于關鍵字驅動的測試框架解決的是開發、維護成本以及開發難度問題,通過對測試庫函數的自然語言描述映射,對于業務人員由面向代碼的開發轉換為面向自然語言的設計(組合設計), 降低了開發難度與開發成本,同時提高了測試用例的易擴展性,可以快速擴展相似測試。
高擴展性的測試策略
去用例化
適用于場景(多接口組成的操作流程)或接口相似度較大的系統,主要設計思想基于測試庫架構框架、數據驅動框架結合用例動態生成框架(通過配置數據生成對應的可執行的自動化測試用例)。
在實際應用中,通過該框架設計,實現了對系統的90%的接口自動化覆蓋,產出4個模板用例文件(Py文件),配置文件填寫每條用例參數、期望信息,主要面向這五個文件進行維護,每次運行基于此動態生成3000余條自動化用例(執行完成后,生成的用例被刪除),很大程度上提高了用例的開發效率和降低了維護成本,擴展性也得到提升。
自動化測試代碼不隨著用例增加而增加
適應于廣泛的單接口或復雜場景的接口自動化測試,基于測試庫架構框架、數據驅動框架的基礎上,補充關鍵字驅動框架。對于業務手工測試人員,由面向代碼或配置的開發轉化為面向自然語言(測試描述)的開發,最大程度的降低了開發難度與維護成本,同時提高了測試用例的易擴展性、易組織性,一定程度上實現了自動化代碼不隨用例的增長而增多。
更多接口自動化測試推薦閱讀:
您的信息已成功提交!
我們的客服人員稍后會與您聯系