測試人員必看-做好自動化測試的7大技能

隨着敏捷和DevOps等新時代項目開發方法逐漸取代舊的瀑布模型,測試需求在業界不斷增長。測試人員現在正在與開發人員一起工作,自動化測試在許多方面極大地取代了手動測試。自動化測試人員的數量增長,也極大地增加了測試行業的競爭,要想在茫茫測試人員中脫穎而出,首先要掌握以下七大技能。

一、熟練的編程能力

對於一個優秀的測試人員來講,擁有熟練的編程能力是十分必要的,如果沒有熟練的編程能力,就無法編寫邏輯自動化測試腳本,大大降低了測試的效率。掌握編程方面的背景知識不僅可以簡化自動化腳本,還可以改善與開發人員的溝通。不僅如此,一旦單元測試完成,還可以參與深入的功能測試。要具備這種技能,需要做到兩個方面:

(1)學習好設計框架

需要對c#、Python、Java、Perl、SQL、XML以及HTML和CSS有全面的理解和編碼技能。儘管如此,精通哪種語言取決於開發人員在項目中使用的編程語言

(2)能夠熟練的創建測試腳本

在這個階段,是否應該具有編程知識取決於所使用的自動化框架。如果項目正在使用SpecFlow或Cucumber進行測試自動化,那麼可以用簡單的英語編寫腳本,而不必考慮後端邏輯或編碼。只有對Selenium web驅動程序有足夠的瞭解就足夠了。但是,如果正在使用UFT或QTP,則應該對編程有全面的知識。

二、具備優秀的手動測試技能

要成爲一名熟練的自動化測試人員,還需要具備敏銳的眼光和手動測試的經驗。請記住以下幾點

(1)眼睛有時比機器精確

當某樣東西在測試時看起來有點不對勁時,人眼可以很容易地檢測出來。使用自動化腳本很難檢測到可視化問題。從用戶的角度查看軟件,可以幫助測試人員識別UI和可用性測試,以發現bug,這是在自動化腳本中難以編程的特性。

(2)人工測試也是必不可少的

自動化測試是一臺機器,機器只做它被要求做的事。複雜的測試需要大量的準備和計劃,也有一定的邊界。然後腳本遵循協議並相應地測試應用程序,特別測試幫助測試人員回答諸如“當我遵循X而不是Y時會發生什麼”之類的問題。它幫助測試人員使用最簡單的方法進行思考和測試,而簡單的方法很難在自動化腳本中編程。即使是可視化的跨瀏覽器測試也需要手工方法。而不是取決於一個自動化的腳本找到視覺差異,你可以手動檢查的問題通過真正的瀏覽器和設備上的測試。

(3)自動化測試可能存在漏洞

自動化腳本就像另一段代碼。無論多麼優秀的程序員,錯誤總是存在的。在整個測試過程中進行手動操作,而不是完全依賴自動化,這將確保在執行腳本之後,測試結果不會出現問題。

三、需要掌握使用自動化工具的專業知識

在當前時代,行業要求速度和質量,客戶都希望軟件廠商能夠在短時間內交付高質量的無bug應用程序。這就是自動化測試應用趨勢上升的原因,每個廠商都希望自動化測試人員能夠具備以下自動化工具的知識和經驗。

(1) Selenium

Selenium 可能是網頁應用中最流行的開源自動化測試框架,也是其他開源自動化測試工具比如 Katalon Studio,Watir,Protractor 和 Robot Framework 的核心框架。Selenium 支持多系統環境(Windows,Mac,Linux)以及多種瀏覽器(Chrome,FireFox,IE 以及無頭瀏覽器(沒有界面))。它的腳本可以由各種各樣的編程語言編寫,比如 Java,Groovy,Python,C#,PHP,Ruby 以及 Perl。

(2) 自動化測試平臺-優測

優測是騰訊旗下的移動雲測試平臺,擁有50餘名測試領域專家,300餘人專業測試團隊,10餘年終端測試服務經驗,提供兼容性測試、自動化測試、雲真機,設備分享等多種服務方式,不僅支持標準能力輸出,也可提供定製化測試解決方案,幫助企業打造完備的DevOps測試體系,以及具有互聯網思維的質量團隊。

(3)UFT

UFT(統一功能測試)是一個知名的功能測試方面的商用測試工具。它爲 API,Web 服務,桌面 GUI 測試,網頁,移動應用等多平臺提供了全面的功能集。這個工具有先進的圖像識別,重用測試組件和自動生成文檔功能。

UFT 使用 VB 腳本來註冊測試過程和對象控制。UFT 被集成到了 Mercury 商業流程測試和 Mercury 質量中心。這個工具也支持通過 CI 集成工具如 Jenkins 來支持 CI。

(4)Watir

Watir 是一個基於 Ruby 庫的開源的網頁自動化測試工具。Watir 支持跨瀏覽器測試,包括 Firefox,Opera,無頭瀏覽器和 IE。它同樣支持數據驅動測試和集成 BBD 工具,比如 RSpec,Cucumber 和 Test/Unit。

(5)Katalon Studio

Katalon Studio 是一個在網頁應用、移動和網頁服務方面功能強大的自動化測試解決方案。基於 Selenium 和 Appium 框架,Katalon Studio 集成了這些框架在軟件自動化方面的優點。

這個工具支持不同層次的測試技能集。非程序員也可以快速上手一個自動化測試項目(如使用間諜對象記錄測試腳本),同時也節省了程序員和高級測試人員構建新庫和維護腳本的時間。

四、具備充分理解業務需求

一個熟練的自動化測試人員必須在測試階段開始之前從前端和服務層的全面瞭解應用程序。他們必須知道:

(1)開發團隊使用的編程語言;

(2)由終端用戶運行應用程序的平臺或設備需求;

(3)用於存儲後端信息和用戶數據的數據庫;

(4)連接到系統的api或web服務及其使用方式;

(5)一旦應用程序啓動,最終用戶或涉衆所期望的所有特性和功能;

(6)在測試階段開始時是否執行了手工測試,如果有,如何執行?

(7)手動測試人員在測試應用程序時所花費的預期時間;

(8)在上一個版本中是否有任何重要的bug沒有得到修復,以及它將如何影響業務;

(9)測試階段需要完成的預期交付日期;

(10)瀏覽器差異

五、具備排除自動化工具故障的能力

流行的測試自動化工具非常大且複雜,在你的項目開始使用它們之前,它需要測試人員對工具本身有詳細的技術知識。

在項目中,也可能會遇到這樣的場景:

“腳本在測試結果中顯示了一些錯誤,但是應用程序按照業務需求運行良好。腳本顯示成功,但應用程序拋出了一些實時錯誤。”

這被稱爲假陰性和假陽性,通常發生在測試人員沒有足夠的知識來配置測試腳本的時候。他們只是繼續使用模板,並期望測試能夠成功運行。如果你想成爲一個成功的自動化測試人員,你應該具備配置工具的詳細知識,以及當出現諸如假陽性和假陰性之類的場景時,如何對它們進行故障排除。

六、具備使用測試管理工具的經驗

自動化測試的主要目的是降低整個測試過程的複雜度。如果你是一個自動化測試人員,你應該具備一些測試管理工具的經驗。因爲它們是靈活的,允許用戶記錄任何錯誤,並根據錯誤如何影響項目根據優先級對它們進行排序。此外,它的可伸縮性允許團隊成員之間輕鬆地交換信息。擁有一個測試管理工具將確保所有關於測試階段的重要信息都是安全的,並且只允許你的團隊和管理層訪問。

七、瞭解不同的開發方法

團隊不僅希望測試人員具備測試方面的知識。還需要了解不同的開發方法是如何工作的。如果項目遵循DevOps或敏捷,不要期望團隊領導告訴你該做什麼。及時交付工作,併爲每天的會議做好準備,以防止涉衆或經理對當前的工作階段提出一些關鍵問題時出現任何尷尬的情況。瞭解開發方法也將幫助你的職業生涯能夠走的更遠。

總結:

這些技能將幫助測試人員在行業中獲得非常高的價值。特別是對所有最新的自動化工具以及CI/CD工具(如Jenkins或GitLab)都有適當的瞭解,那麼你不僅將成爲團隊中有價值的資源,而且還將成爲行業中有價值的資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章