您好,登錄后才能下訂單哦!
是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例并通過評審之后,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。
軟件測試自動化的研究領域主要集中在軟件測試流程的自動化管理以及動態測試的自動化(如單元測試、功能測試以及性能方面)。在這兩個領域,與手工測試相比,測試自動化的優勢是明顯的。首先自動化測試可以提高測試效率,使測試人員更加專注于新的測試模塊的建立和開發,從而提高測試覆蓋率;其次,自動化測試更便于測試資產的數字化管理,使得測試資產在整個測試生命周期內可以得到復用,這個特點在功能測試和回歸測試中尤其具有意義;此外,測試流程自動化管理可以使機構的測試活動開展更加過程化,這很符合CMMI過程改進的思想。根據OppenheimerFunds的調查,在2001年前后的3年中,全球范圍內由于采用了測試自動化手段所實現的投資回報率高達1500%。
對于一個優秀的測試人員來講,擁有熟練的編程能力是十分必要的,如果沒有熟練的編程能力,就無法編寫邏輯自動化測試腳本,大大降低了測試的效率。掌握編程方面的背景知識不僅可以簡化自動化腳本,還可以改善與開發人員的溝通。不僅如此,一旦單元測試完成,還可以參與深入的功能測試。要具備這種技能,需要做到兩個方面:
需要對c#、Python、Java、Perl、SQL、XML以及HTML和CSS有全面的理解和編碼技能。盡管如此,精通哪種語言取決于開發人員在項目中使用的編程語言
在這個階段,是否應該具有編程知識取決于所使用的自動化框架。如果項目正在使用SpecFlow或Cucumber進行測試自動化,那么可以用簡單的英語編寫腳本,而不必考慮后端邏輯或編碼。只有對Selenium web驅動程序有足夠的了解就足夠了。但是,如果正在使用UFT或QTP,則應該對編程有全面的知識。
要成為一名熟練的自動化測試人員,還需要具備敏銳的眼光和手動測試的經驗。請記住以下幾點
當某樣東西在測試時看起來有點不對勁時,人眼可以很容易地檢測出來。使用自動化腳本很難檢測到可視化問題。從用戶的角度查看軟件,可以幫助測試人員識別UI和可用性測試,以發現bug,這是在自動化腳本中難以編程的特性。
自動化測試是一臺機器,機器只做它被要求做的事。復雜的測試需要大量的準備和計劃,也有一定的邊界。然后腳本遵循協議并相應地測試應用程序,特別測試幫助測試人員回答諸如“當我遵循X而不是Y時會發生什么”之類的問題。它幫助測試人員使用最簡單的方法進行思考和測試,而簡單的方法很難在自動化腳本中編程。即使是可視化的跨瀏覽器測試也需要手工方法。而不是取決于一個自動化的腳本找到視覺差異,你可以手動檢查的問題通過真正的瀏覽器和設備上的測試。
自動化腳本就像另一段代碼。無論多么優秀的程序員,錯誤總是存在的。在整個測試過程中進行手動操作,而不是完全依賴自動化,這將確保在執行腳本之后,測試結果不會出現問題。
在當前時代,行業要求速度和質量,客戶都希望軟件廠商能夠在短時間內交付高質量的無bug應用程序。這就是自動化測試應用趨勢上升的原因,每個廠商都希望自動化測試人員能夠具備以下自動化工具的知識和經驗。
Selenium 可能是網頁應用中最流行的開源自動化測試框架,也是其他開源自動化測試工具比如 Katalon Studio,Watir,Protractor 和 Robot Framework 的核心框架。Selenium 支持多系統環境(Windows,Mac,Linux)以及多種瀏覽器(Chrome,FireFox,IE 以及無頭瀏覽器(沒有界面))。它的腳本可以由各種各樣的編程語言編寫,比如 Java,Groovy,Python,C#,PHP,Ruby 以及 Perl。
優測是騰訊旗下的移動云測試平臺,擁有50余名測試領域專家,300余人專業測試團隊,10余年終端測試服務經驗,提供兼容性測試、自動化測試、云真機,設備分享等多種服務方式,不僅支持標準能力輸出,也可提供定制化測試解決方案,幫助企業打造完備的DevOps測試體系,以及具有互聯網思維的質量團隊。
UFT(統一功能測試)是一個知名的功能測試方面的商用測試工具。它為 API,Web 服務,桌面 GUI 測試,網頁,移動應用等多平臺提供了全面的功能集。這個工具有先進的圖像識別,重用測試組件和自動生成文檔功能。
UFT 使用 VB 腳本來注冊測試過程和對象控制。UFT 被集成到了 Mercury 商業流程測試和 Mercury 質量中心。這個工具也支持通過 CI 集成工具如 Jenkins 來支持 CI。
Watir 是一個基于 Ruby 庫的開源的網頁自動化測試工具。Watir 支持跨瀏覽器測試,包括 Firefox,Opera,無頭瀏覽器和 IE。它同樣支持數據驅動測試和集成 BBD 工具,比如 RSpec,Cucumber 和 Test/Unit。
Katalon Studio 是一個在網頁應用、移動和網頁服務方面功能強大的自動化測試解決方案。基于 Selenium 和 Appium 框架,Katalon Studio 集成了這些框架在軟件自動化方面的優點。
這個工具支持不同層次的測試技能集。非程序員也可以快速上手一個自動化測試項目(如使用間諜對象記錄測試腳本),同時也節省了程序員和高級測試人員構建新庫和維護腳本的時間。
一個熟練的自動化測試人員必須在測試階段開始之前從前端和服務層的全面了解應用程序。他們必須知道:
(1)開發團隊使用的編程語言;
(2)由終端用戶運行應用程序的平臺或設備需求;
(3)用于存儲后端信息和用戶數據的數據庫;
(4)連接到系統的api或web服務及其使用方式;
(5)一旦應用程序啟動,最終用戶或涉眾所期望的所有特性和功能;
(6)在測試階段開始時是否執行了手工測試,如果有,如何執行?
(7)手動測試人員在測試應用程序時所花費的預期時間;
(8)在上一個版本中是否有任何重要的bug沒有得到修復,以及它將如何影響業務;
(9)測試階段需要完成的預期交付日期;
(10)瀏覽器差異
流行的測試自動化工具非常大且復雜,在你的項目開始使用它們之前,它需要測試人員對工具本身有詳細的技術知識。
在項目中,也可能會遇到這樣的場景:
“腳本在測試結果中顯示了一些錯誤,但是應用程序按照業務需求運行良好。腳本顯示成功,但應用程序拋出了一些實時錯誤。”
這被稱為假陰性和假陽性,通常發生在測試人員沒有足夠的知識來配置測試腳本的時候。他們只是繼續使用模板,并期望測試能夠成功運行。如果你想成為一個成功的自動化測試人員,你應該具備配置工具的詳細知識,以及當出現諸如假陽性和假陰性之類的場景時,如何對它們進行故障排除。
自動化測試的主要目的是降低整個測試過程的復雜度。如果你是一個自動化測試人員,你應該具備一些測試管理工具的經驗。因為它們是靈活的,允許用戶記錄任何錯誤,并根據錯誤如何影響項目根據優先級對它們進行排序。此外,它的可伸縮性允許團隊成員之間輕松地交換信息。擁有一個測試管理工具將確保所有關于測試階段的重要信息都是安全的,并且只允許你的團隊和管理層訪問。
團隊不僅希望測試人員具備測試方面的知識。還需要了解不同的開發方法是如何工作的。如果項目遵循DevOps或敏捷,不要期望團隊領導告訴你該做什么。及時交付工作,并為每天的會議做好準備,以防止涉眾或經理對當前的工作階段提出一些關鍵問題時出現任何尷尬的情況。了解開發方法也將幫助你的職業生涯能夠走的更遠。
總結:
這些技能將幫助測試人員在行業中獲得非常高的價值。特別是對所有最新的自動化工具以及CI/CD工具(如Jenkins或GitLab)都有適當的了解,那么你不僅將成為團隊中有價值的資源,而且還將成為行業中有價值的資源。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。