技能一:掌握編程語言基礎知識
編程語言對于自動化工作的開展非常重要,如果沒有掌握編程語言的一些基本知識,你就無法編寫自動化測試腳本,就不能順利進行自動化測試。有一點編程方面的背景知識不僅可以簡化這些自動化腳本,還可以幫助你改善與開發人員的溝通。不僅如此,一旦單元測試完成,你還可以參與深入的功能測試。想要具備這種技能,需要做到兩個方面,(1)學習好設計框架
你需要對c#、Python、Java、Perl、SQL、XML以及HTML和CSS有全面的理解和編碼技能。盡管如此,你應該精通哪種語言取決于開發人員在項目中使用的編程語言。例如,如果項目使用的是Ruby,那么你至少應該具備Ruby基礎知識背后的基本知識。
(2)能夠熟練的創建測試腳本
在這個階段,你是否應該具有編程知識取決于所使用的自動化框架。如果你的組織正在使用SpecFlow或Cucumber進行測試自動化,那么可以用簡單的英語編寫腳本,而不必考慮后端邏輯或編碼。只有對Selenium web驅動程序有足夠的了解就足夠了。但是,如果你正在使用UFT或QTP,你應該對編程有全面的知識。這里是一個用于跨瀏覽器測試的Selenium WebDriver教程。
技能二:具備優秀的手動測試技能
要成為一名熟練的自動化測試人員,您還需要有敏銳的眼光和手動測試的經驗。記住以下幾點:(1)人的視角才是最重要的
當某樣東西在測試時看起來有點不對勁時,人眼可以很容易地檢測出來。使用自動化腳本很難檢測到可視化問題。從實時用戶的角度查看軟件,可以幫助測試人員識別UI和可用性測試,以發現bug,這是在自動化腳本中難以編程的特性。
(2)有些測試只能人工完成
自動化是一臺機器,機器只做它被要求做的事。復雜的測試需要大量的準備和計劃,也有一定的邊界。然后腳本遵循協議并相應地測試應用程序,特別測試幫助測試人員回答諸如“當我遵循X而不是Y時會發生什么”之類的問題。它幫助測試人員使用開箱即用的方法進行思考和測試,而開箱即用的方法很難在自動化腳本中編程。即使是可視化的跨瀏覽器測試也需要手工方法。而不是取決于一個自動化的腳本找到視覺差異,你可以手動檢查的問題通過真正的瀏覽器和設備上的測試。
(3)自動化測試可能存在漏洞
自動化腳本就像另一段代碼。無論你是一個多么優秀的程序員,錯誤總是存在的。在整個測試過程中進行手動操作,而不是完全依賴自動化,這將確保在執行腳本之后,測試結果不會出現問題。
技能三:需要掌握使用自動化工具的專業知識
在當前Agile時代,行業要求速度和質量。全世界的客戶都希望軟件廠商能夠在短時間內交付高質量的無bug應用程序。這就是為什么自動化測試的應用呈上升趨勢,并且作為一個熟練的自動化測試人員,每個廠商都希望你具備以下自動化工具的知識和經驗。Selenium
Selenium能夠支持所有主流瀏覽器,在自動化測試領域,Selenium已經成為一個家喻戶曉的名字。幾乎所有主流瀏覽器都確保Selenium是其中的一個本機部分。隨著WebDriver的引入,Selenium確保了基于瀏覽器的web應用程序自動化測試的完美執行。無論你是新手還是經驗豐富的測試自動化工程師。你應該有硒方面的知識或工作經驗。而且,它是開源的。
惠普——UFT
以前,HP將此工具稱為QTP,它仍然是業界最好的工具,可以確保應用程序自動功能測試和回歸測試的順利執行。如果你是一個回歸測試者,你應該有知識和經驗,以及UFT認證。
SoapUI
測試web服務和API的完美工具。這個工具支持SOAP和REST服務,如果您的項目需要對API進行自動化測試,那么您至少應該了解這個用于功能測試的無頭工具的開源版本。
RFT
Rational Functional Tester是IBM內部開發的自動化工具。無論您的應用程序使用什么技術,RFT都支持。Net、Java、SAP、Adobe Flex、Visual Basic和Dojo。如果您正在進行功能測試或回歸測試,您會發現學習這個工具非常有用。
Appium
在當前的移動優先時代,許多組織都在開發復雜的移動應用程序。Appium是最好的開源軟件,它使自動化測試成為任何混合或原生移動應用程序的現實。此外,它兼容所有操作系統,如Android、iOS或Windows,并且必須了解移動應用程序測試是否是您的領域。
Apache JMeter
最初,該工具用于測量應用程序的性能和負載測試。在當前版本中,此工具還用于API性能和服務測試。作為第三大最流行的自動化測試工具,您的組織將期望任何熟練的自動化測試人員都具有相關的知識和經驗。即使你不會用,你也可以開始自學,因為這個工具是開源的。
技能四:具備充分理解業務需求的技能
一個熟練的自動化測試人員必須在測試階段開始之前從前端和服務層的全面了解應用程序。他們必須知道:(1)開發團隊使用的編程語言;
(2)由終端用戶運行應用程序的平臺或設備需求;
(3)用于存儲后端信息和用戶數據的數據庫;
(4)連接到系統的api或web服務及其使用方式;
(5)一旦應用程序啟動,最終用戶或涉眾所期望的所有特性和功能;
(6)在測試階段開始時是否執行了手工測試,如果有,如何執行?
(7)手動測試人員在測試應用程序時所花費的預期時間;
(8)在上一個版本中是否有任何重要的bug沒有得到修復,以及它將如何影響業務;
(9)測試階段需要完成的預期交付日期;
(10)瀏覽器差異:
除了隨著越來越多的開源瀏覽器的使用而增加的主流瀏覽器之外,一個熟練的自動化測試人員應該關注網站的瀏覽器兼容性測試。測試人員應該有足夠的知識來創建瀏覽器兼容性矩陣,以及使用Selenium WebDriver進行自動跨瀏覽器測試,或者使用基于云的平臺(比如LambdaTest)來確定他所工作的站點是否在所有目標瀏覽器上都能完美呈現。然而,上面提到的要點是最基本的,它們的復雜性取決于應用程序的性質以及開發方法。
技能五:具備排除自動化工具故障的技能
流行的測試自動化工具非常大且復雜,在你的項目開始使用它們之前,它需要測試人員對工具本身有詳細的技術知識。在你的項目中,也可能會遇到這樣的場景:“腳本在測試結果中顯示了一些錯誤,但是應用程序按照業務需求運行良好。腳本顯示成功,但應用程序拋出了一些實時錯誤。”這些在業界稱為假陰性和假陽性,通常發生在測試人員沒有足夠的知識來配置測試腳本的時候。他們只是繼續使用模板,并期望測試能夠成功運行。如果你想成為一個成功的自動化測試人員,你應該具備配置工具的詳細知識,以及當出現諸如假陽性和假陰性之類的場景時,如何對它們進行故障排除。特別是,如果你是測試負責人,你必須確保應用程序的體系結構與用于運行自動化測試的工具兼容。嘗試使用與應用程序不兼容的工具將導致不成功的測試用例和無法預見的錯誤,這些錯誤可能很難排除。
技能六:具備使用測試管理工具的經驗
自動化測試的主要目的是降低整個測試過程的復雜度。如果你是一個自動化測試人員,你應該具備一些測試管理工具的經驗。因為,它們是靈活的,允許用戶記錄任何錯誤,并根據錯誤如何影響項目根據優先級對它們進行排序。此外,它的可伸縮性允許團隊成員之間輕松地交換信息。如果你是一名測試人員,你可以在工具中報告你的活動,如果你是一名測試負責人,你可以實時報告你手下的資源以及他們正在做什么。這有助于分析當前項目中正在發生的事情,并加速整個活動,因為在跟蹤資源時不會浪費時間。
最后但并非最不重要的是,你可以不擔心安全問題。擁有一個測試管理工具將確保所有關于測試階段的重要信息都是安全的,并且只允許你的團隊和管理層訪問。
技能七:了解不同的開發方法
記住,你的團隊不僅希望你具備測試方面的知識。還需要了解不同的開發方法是如何工作的。如果你的項目遵循DevOps或敏捷,不要期望你的團隊領導告訴你該做什么。及時交付你的工作,并為每天的scrum會議做好準備,以防止涉眾或經理對你當前的工作階段提出一些關鍵問題時出現任何尷尬的情況。了解開發方法也將幫助你的職業生涯能夠走的更遠。這些技能將幫助你在測試行業中獲得非常高的價值。特別是如果你對所有最新的自動化工具以及CI/CD工具(如Jenkins或GitLab)都有適當的了解,那么你不僅將成為團隊中有價值的資源,而且還將成為行業中有價值的資源。上面討論的自動化測試人員的技能將幫助你從初學者提升到領導或架構師級別的資源。所以,努力工作,對你的職業表現出奉獻和激情,很快,你就會成為厲害的自動化測試員。
手機瀏覽
全國
19974831731





