無論您是否已決定轉向自動化測試,或者您仍在考慮進行自動化測試,了解實現轉換的最佳實踐以及哪種策略最適合您的組織非常重要。任何復雜性的每個應用程序都可能有自己的測試要求組合,沒有兩個開發團隊完全相同。
在本文中,我們將討論規劃測試自動化策略的最佳實踐,并提出確定哪種策略最適合您的應用程序和團隊的方法。
讓我們從最基本的問題開始:什么是自動化測試,什么使它變得重要?
管理重復
手動軟件測試是重復的。事實上,它是與軟件開發或使用相關的最重復且最耗時的任務類型之一。對于大多數類型的軟件,只有手動數據輸入需要更多時間或更多重復 - 大規模,大容量數據輸入通常是首先要實現自動化的任務之一。
當然,自動化測試并不像自動化數據輸入那么簡單,但基本原理是相同的:識別重復操作,創建一個框架,允許以高效率執行這些操作,然后自動化兩者重復和低重復動作,以便手動干預完全消除或減少到最低限度。
一切腳本化
對于測試,大部分重復包括在不同平臺(操作系統,瀏覽器,移動設備等)和不同條件(壓力,負載,資源可用性等)上執行相同的基本測試操作。測試也可以重復多次,以捕獲逐漸發展或暫時的問題。
自動化測試系統由腳本驅動,具有自動測試數據輸入和自動記錄結果。腳本可用于控制每個測試的重復次數,并應用測試過程和數據收集的變體以適應不同的平臺和條件。
虛擬化
在大多數情況下,自動化測試也是虛擬化測試。通常,除非您需要專門測試應用程序與硬件平臺的交互,否則您可以在虛擬機上運行大部分或全部測試。
在虛擬機上進行測試可以更加輕松地自動化測試系統設置以及輸入和輸出,并且可以節省等待基于硬件的測試系統可用的時間。它還加快了測試過程,通常是一到兩個數量級。這樣可以縮短整體測試時間,并允許您包含難以適應手動測試計劃的測試類型。
要求和基礎設施
在對自動化測試設計和基礎設施做出任何基本選擇之前,了解可用的內容以及一流自動化測試機制所需的內容非常重要。
腳本和框架
不用說,自動化測試是腳本驅動的。測試腳本可以用通用編程語言編寫,也可以用域特定的測試腳本語言編寫。測試腳本語言通常是自動化測試框架的一部分(例如Appium或Selenium,兩者都是開源的)。此類框架通常包括測試基礎結構的主要元素以及它們自己的API。它們還可以允許您記錄測試步驟,然后使用內置腳本語言對其進行編輯,從而簡化構建測試腳本庫的過程。
基于云的測試
使用虛擬機進行測試時,它們通常不需要在本地(除非特定的安全性或配置要求使內部部署測試成為必需)?;谠频奶摂M測試系統也可以完成這項工作,通過在云中進行測試,您可以避免有限的本地資源所帶來的限制。
測試平臺
一個好的基于云的測試平臺通常會提供全面的服務基礎架構,用于在云中部署和測試虛擬機,以及分析,儀表板,安全性以及將這些服務與現有項目管理基礎架構集成所需的所有API。
此外,基于云的測試服務(如Sauce Labs)實際上可以讓您更輕松地自動化關鍵移動平臺或其他設備的硬件測試。通過實際設備云測試,您可以使用基于云的測試基礎架構在由測試服務維護的一組真實設備上運行自動化測試。
最終,您整合的測試自動化策略應該是最適合您的組織和產品線的策略。為此,您的計劃流程應包括以下要素:
包括正確的人
讓關鍵的利益相關者參與進來,至少達到他們有發言權的程度,即使不是最終的決策權。對于測試,這將包括您的測試人員,開發人員,設計人員以及服務臺人員。開發人員和測試人員需要積極參與流程,所有利益相關方都應提供意見(例如,未滿足的測試需求),并保持最新狀態。
問問自己和關鍵利益相關者以下問題:
你想測試什么?
如果您沒有遇到基于物理或計劃的約束,您會測試什么?您的測試優先級是什么?您希望測試哪些功能區域,以及您希望測試哪些潛在的性能問題?您希望在測試制度中包含哪些平臺和哪些條件組合?您預留哪些類型的測試是不切實際的,因為沒有足夠的時間或設備來包含它們?
此時,不要擔心在自動測試環境中哪些測試可能或可能不實用?,F在,您需要做的就是根據機會編譯您想要測試的事項列表。
你有什么可測試?
您目前的測試制度實際上包含哪些內容?您正在測試什么,以及您設計了哪些測試,但是由于缺乏資源而推遲,或者在“有時間”的情況下進行“運行”列表?你收集什么測試結果,你用它們做什么?
然后,再問兩個問題:鑒于您的手動測試制度的限制,您是否普遍滿意它以正確的方式測試正確的東西?您是否對當前測試的設計 - 各個步驟和整個測試過程感到滿意?
考慮設計
如果這兩個問題的答案是“是”,那么您可能能夠使用當前測試制度的核心要素(測試要求和個別步驟,如果不是整體程序)作為設計大部分的基礎。你的自動化制度。如果您對目前的大多數或所有測試方案都不滿意,那么最好從頭開始設計自動化測試方案。
然而,在任何一種情況下,您的自動化制度設計可能(并且在許多方面應該)至少基于您在當前測試實踐中編譯的“愿望清單”的關鍵元素。
內部還是外部?您希望在內部處理自動化測試制度的哪些元素,以及您希望使用哪些元素來處理外部服務或資源?
這些問題都涉及測試需求,可用人員和資源,預算和時間之間的權衡。您團隊的最佳答案取決于組織內的條件。
在規劃測試自動化策略時,這可能是最重要的。最基本的最佳實踐是清楚地了解您的測試需求,資源和約束,以及可用的資源和服務,并根據這種理解采取行動。
原文轉自:https://www.jdon.com/51933