自動化框架 – 實施以獲取優勢


你可以僅僅透過從街道的一側衝到另一側來穿過繁忙的街道,而不遵守任何規則。但這對你來說可能是危險的,你被汽車或其他車輛撞到的可能性非常高。但同時,如果你遵守簡單的交通規則,在過馬路之前先看看道路的兩側,就可以避免成為交通事故的受害者。不是嗎?

同樣,你可以在不實施任何框架的情況下執行自動化測試,只需購買一個自動化工具並開始進行測試即可。這很好,沒有問題。但是,當你實施一個完美的框架並遵循其指南時,你將從中獲得最需要的有益結果。

什麼是框架?

框架是一套可以忽略的指南,但是當你遵循它時,你將從中獲益。


框架包含指南、概念、最佳實踐、既定流程、明確的編碼標準、物件儲存庫流程、更好的測試資料處理、經過驗證的報告機制等,以完美地執行我們的工作並從中獲得更好的有益結果。

自動化框架為我們提供了建立和執行自動化測試指令碼所需的必要環境、更好的錯誤處理,並透過有效地組織自動化指令碼(在需要時可以重用)來降低指令碼維護成本。

你將從中獲得什麼?

讓我們討論一下,在自動化我們的應用程式時,採用框架將獲得的一些好處。

  • 框架將人工操作降到最低,工作可以在最少的使用者干預下完成
  • 它將透過有效的專案儲存庫降低維護成本
  • 如果發生任何更改,則無需更改測試指令碼,只需更新測試用例檔案,驅動程式指令碼和啟動指令碼保持不變
  • 測試資料可以單獨儲存在 excel 或 CSV 檔案中,無需將它們包含在測試指令碼中。因此,如果需要進行任何修改,我們只需輕鬆地操作 excel 檔案中的資料,而無需更改指令碼
  • 可以在需要時重用通用庫檔案,無需每次都開發它們。因此,它節省了團隊的時間並提高了生產力
  • 除此之外,它還為我們提供了程式碼可重用性、基於角色的訪問、輕鬆報告、一致性和最大測試覆蓋率的好處

框架型別

有不同型別的框架,有不同的指南需要遵循。我們可以根據我們的需求採用框架。

基於模組的測試框架

此框架側重於基於模組或函式的指令碼編寫。我們需要為每個被測模組編寫單獨的指令碼,並透過整合這些指令碼,我們將獲得多個模組的更大指令碼。

此框架的優點是,它避免了指令碼之間的相互依賴關係。因此,如果發生任何更改,則需要更新表示該模組的指令碼,而其他指令碼保持不變。因此,它提供了穩定性並降低了返工成本。

此框架的主要問題在於測試資料,因為我們將測試資料嵌入到模組級指令碼中,因此如果資料發生更改,也需要相應地更新該指令碼。

通用庫測試框架

眾所周知,有一些通用步驟可以在模組之間使用。我們可以使用這些通用步驟編寫函式並將它們儲存在共享庫中。因此,在需要時,我們可以從庫中呼叫該函式,而不是再次編寫這些通用步驟。

例如,我們可以使用應用程式登入所需的通用步驟編寫一個函式,並將其儲存在庫中。因此,無論何時需要測試應用程式中類似的登入螢幕,我們都可以簡單地呼叫該函式。

此框架的缺點是,如果共享函式編寫錯誤,則也會對其他指令碼產生級聯影響。

資料驅動測試框架

讓我們討論一個場景;您正在一個教育領域的專案中,您需要測試大量學生資料。因此,很明顯,您還需要新增新資料並刪除一些舊資料以測試各種場景。

在這種情況下,在每個指令碼中插入這些大量學生資料,並在更改時再次編輯所有這些指令碼是否是一項艱鉅的任務?想象一下完成所有這些活動需要的工作量。

這就是資料驅動框架發揮作用的地方。使用該框架,我們可以將測試資料儲存在單獨的 excel、CSV 或 xml 檔案中,然後透過呼叫指令碼中共享庫的呼叫函式,使用鍵多次呼叫它們。

雖然此框架提高了靈活性和可維護性,但流程的複雜性需要額外的努力和程式語言的專業知識來建立指令碼。

關鍵字驅動測試框架

這是資料驅動框架的擴充套件,但它還在表中儲存關鍵字以及某些程式碼集。因此,當需要這些關鍵字(例如 login、clickbutton、verifyLink 等)時,我們可以簡單地獨立呼叫它們。

由於關鍵字和測試資料儲存在表中,因此也稱為表驅動框架。此框架需要較少的指令碼編寫知識,但要建立關鍵字機制需要程式設計知識。

混合測試框架

此框架結合了上述兩個或多個框架,以利用它們所需的好處。您可以將資料驅動框架與關鍵字驅動框架結合使用,如果需要,可以新增通用庫測試框架。

其唯一目的是透過組合多個框架來獲得最理想的益處。

行為驅動開發框架

此框架側重於使用 cucumber、jbehave 等各種工具開發和測試業務規範,並遵循使用 Jenkins 和 Bamboo 的持續整合方法。

從編寫故事、對映和配置、執行和檢視報告的所有階段都可以使用各種工具執行,因此無需成為程式語言專家。

更新於: 2020年1月20日

53 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告