自動化測試指南-自動化測試工程師必備的技能

測試自動化工程師的基本技能

測試自動化工程師透過利用適當的工具或技術技能,與專案團隊密切聯絡,準備、執行和報告產品和服務的專業測試。在其領域內有經驗的測試自動化工程師能夠利用工具或指令碼技能來管理、設計、開發、執行和報告自動化測試。

根據ISTQB詞彙表,測試自動化工程師是 “負責設計、實施和維護測試自動化架構,以及由此產生的測試自動化解決方案的技術演進的人”。

測試自動化工程師具備開發和測試技能:

測試技能

需求知識

手動測試

IT技能

對SUT的瞭解

解決問題的能力

測試自動化工具方面的專業知識

對軟體開發過程和方法的瞭解

文件技能

對最新的測試自動化趨勢的瞭解

報告技能

決策能力

自動化測試指南-自動化測試工程師必備的技能

測試技能

自動化測試指南-自動化測試工程師必備的技能

以下測試技能和知識領域是優秀測試自動化工程師的先決條件。

瞭解專案架構的能力,如概要設計、低層設計和網路架構

在專案、測試生命週期和測試過程中的經驗

熟悉釋出、變更和配置管理

具備開發方法的專業知識,如瀑布、敏捷、DevOps和CD

具有管理資訊報告、溝通和利益相關者管理方面的知識

有能力制定自動化測試策略、計劃和方法

功能性、非功能性和手動測試的專業知識

估算、記錄和報告技能

有缺陷報告和跟蹤的經驗

測試自動化工程師所需的技術技能。

擅長使用專業工具,例如Selenium, requests等用於功能測試自動化,Locust或JMeter用於效能測試。

分析功能或非功能需求,必要時與利益相關者和業務分析師聯絡,對這些需求進行擴充套件。

根據需要建立自動測試指令碼和場景,以測試功能或非功能需求。

執行技術測試,分析和展示結果。

診斷測試中發現的問題。

安裝技術測試工具,進行工具使用的概念驗證工作,配置測試環境。

理解解決方案或系統架構的主要組成部分。

能夠確定技術測試在SDLC中的位置。

有編碼或指令碼語言的經驗。

製作技術測試計劃(如自動化或效能測試)和技術測試退出報告。

建立自動化測試框架並指導其團隊使用該框架。

能夠有條不紊地和創造性地處理技術測試挑戰。

充當經驗不足的測試自動化工程師的導師或教練。

報告進展情況並升級問題。

至少有一種建立和載入大量測試資料的方法的經驗。

進行同行評審。

應用敏捷技術。

持有 ISTQB 高階測試自動化工程師或 ISTQB 高階技術測試分析師和特定工具的認證。

業務和需求知識

瞭解業務需求的好處:

識別測試自動化的業務關鍵場景。

理解解決方案以開發有效的自動化測試。

識別正確的測試自動化框架。

設計可擴充套件的自動化套件。

自動化測試指南-自動化測試工程師必備的技能

手動測試技能

識別手動和自動測試

識別迴歸測試的場景

選擇高投資回報率測試

分離耗時的測試,如資料驅動或多瀏覽器的測試

更好地理解手動和自動測試

手動干預以解釋自動化測試結果

技術技能

熟練掌握程式語言,Python是自動化測試使用最多的語言,也是目前多數變成語言排名中第一的語言,強烈建議掌握。除了python,掌握c/c++,go,java等編譯語言也有幫助,下圖中排名前8的可以視為主流語言,前4的為核心語言。

自動化測試指南-自動化測試工程師必備的技能

從資料庫中檢索特定資訊的SQL語言

良好的編碼技能

對自動化測試指令碼的良好理解

精通測試自動化框架

對自動化工具有詳細的瞭解

除錯技能

對平臺的瞭解,如內部部署、雲和混合平臺

環境經驗,如開發、測試和生產

對IT基礎設施的瞭解

有工具安裝和配置的經驗

閱讀和理解SUT架構的能力

有自動化框架架構的經驗

具有PoT和PoC方面的專業知識

對被測系統的瞭解

功能和非功能的要求

開發SUT的程式語言

SUT架構

使用的介面、網路服務和API

應用程式的功能和特點

資料庫

當前SUT的測試流程

釋出環境

應用程式的複雜性

領域和部門

法規,如《網路內容可及性指南》(WCAG)和《健康保險可及性和責任法案》(HIPAA)。

合規性,如針對瀏覽器、作業系統、移動和網路的合規性

解決問題和決策能力

問題定義

調查問題的原因

確定解決方案

對解決方案進行優先排序

選擇一個解決方案

實施選定的解決方案

這需要

積極傾聽和分析

研究和調查

創造性

積極的態度和能力

溝通

決策是編碼、測試管理和系統設計的重要部分。這是所有級別的測試自動化專業人員應具備的基本技能。決策是以演算法或啟發的方式進行的。演算法是一套精確的規則和條件,永遠不會改變,而啟發式是一套規則,可能會隨著時間的推移而改變條件。

初級水平

什麼是5位數的最大素數?你是如何得出這個答案的?

覆蓋整個地球所需的最少衛星數量是多少,為什麼?解釋你的理由。

高階水平

請舉例說明你在專案中遇到的問題以及你是如何解決的。

你會如何管理一個不滿意的經理、利益相關者或客戶?

測試自動化工程師需要良好的問題解決和決策能力以及技術知識才能取得成功。在自動化測試設計階段,測試自動化工程師會遇到一些場景,以建立涵蓋許多可能結果的指令碼,包括積極的、備用的和錯誤處理的場景。在開發更好、更有效的自動化測試指令碼以處理實時場景方面,良好的問題解決能力是一個優勢。

測試自動化工具的知識

測試自動化工程師被要求熟練使用自動化工具和基礎程式語言。在實踐中,大多數專案和組織都會選擇業內廣泛使用的工具和框架,測試自動化工程師被期望熟悉它們。

大多數工作描述都明確要求具備這些測試工具的專業知識,因為它們有活躍的社群支援,並提供即時的結果。定製的(根據客戶要求定製的)測試自動化工具和框架提供了許多好處和優勢。掌握這些工具的專業知識可以減少自動化工作,提高進行PoC的能力。對自動化工具的事先了解避免了已知平臺的PoC,並提供了即時的回報。

在目前的環境中,公司和利益相關者期望快速的投資回報率以及快速和高質量的交付成果,而自動化工具的專業知識是滿足這些利益相關者期望的一個額外優勢。作為一名熟練的測試自動化工程師,在領先的/流行的自動化測試工具方面具有深入的技術知識和經驗是必須的。測試自動化工程師還需要對工具的設定和基礎設施要求提出建議,如硬體、許可、安裝和配置。

軟體開發過程和方法的知識

瀑布、DevOps和敏捷的工作方式不同,缺乏這些過程的經驗會影響到交付自動化測試的能力。對開發過程的良好了解會增強測試自動化工程師的職業生涯,而認證Scrum Master或認證產品負責人等證書會提供額外的優勢。

測試自動化工程師還需要具備測試不同階段的專業知識,如測試計劃、設計、執行、缺陷管理和報告。自動化測試遵循與軟體開發相似的生命週期:規劃、設計、執行、維護和結束。

文件、交流和報告技能

文件和報告是任何測試自動化工程師的兩個關鍵技能。自動化測試策略、計劃和方法是自動化測試中涉及的基本檔案。好的檔案可以向利益相關者傳達明確的資訊。自動化的資金和批准往往受制於良好的、清晰的檔案,糟糕的檔案影響決策過程。

另一個關鍵檔案是測試報告,其中大部分是可以自動化的。自動化的測試執行報告很容易管理,因為它們被安排自動建立和分發,不需要任何人工干預。

文件在很大程度上被許多開發和測試專案所忽視。然而,記錄良好的自動化測試為PoC、維護和錯誤修復的決策增加了價值。測試自動化工程師是測試指令碼的開發者,他們的程式碼必須被記錄下來,並在同行評審中進行評論,以支援團隊協作。

良好的溝通和協作是一個測試自動化工程師的基本技能。這對測試自動化工程師和其他團隊成員之間的團隊聯絡很重要。具有有效溝通的測試報告對於建立與利益相關者的信任至關重要。請參考第1章中的利益相關者管理。

對測試自動化最新趨勢的瞭解

自動化測試在不斷髮展,從 “記錄和回放 ”到先進的自動化套件,從簡單的工具到高度複雜的框架,從手動測試到無程式碼指令碼。供應商的眼光超越了當前的市場,為未來的需求釋出自動化工具。測試自動化工程師會走在趨勢的前面,並更新自己,以便站在最新的發展上。最佳實踐、標準、指南、自動化測試框架、工具和指令碼開發流程都在不斷髮展。測試自動化正在迅速向人工智慧、ML和機器人發展,瞭解最新的趨勢、工具、產品等非常重要。最新的趨勢提供了了解不斷變化的挑戰並採取相應行動的機會。

技術的變化很快,要跟上技術的發展是很有挑戰性的。專業機構,如敏捷聯盟、計算機工程師和技術員協會以及BCS組織活動,以創造對新興趨勢的認識和討論。此外,知名從業者的書籍、觀點和文章是很好的資訊來源。知名出版物和線上網站,如LinkedIn,定期釋出最新趨勢。技術社群與IT會議一起是最新趨勢的良好來源。工具供應商積極與自動化測試從業人員聯絡,以評估新的工具,給他們一個絕好的機會來親身體驗即將到來的工具功能。

要流利閱讀英文資料,摒棄使用百度的陋習。

輝煌你的職業生涯

測試的基本原理。建立優秀的測試和測試自動化的基礎知識是非常重要的。

測試認證,例如ISTQB。認證有助於系統地建立基礎和高階知識。它通常被認為是測試自動化工作的先決條件,也是建立成功職業生涯的基礎。51testing、澤林,北大青鳥之類的培訓經驗儘量不要寫到簡歷上,帶壞了方向。

與測試自動化相關的網站 - 有很多專門的自動化網站可以學習。

書籍 - 另一個很好的知識來源。

參加研討會 - 這有助於建立有關測試自動化的各種產品和服務的知識。測試會議是與其他測試自動化專家交流並發現最新趨勢的好地方。

測試策略和計劃 - 計劃是任何測試自動化的關鍵,測試自動化工程師和中小企業應在測試自動化計劃方面有良好的經驗。

測試自動化和自動化測試的基礎知識。以下領域是測試自動化的關鍵。

獲得自動化認證

學習程式語言

建立編碼技能

瞭解測試自動化框架

測試指令碼的靜態審查和程式碼審查

修改現有的指令碼

使用沙盒來練習自動化

開發框架

尋求有實際企業經驗導師的指導

自動化的應用程式,包括登入

建立一個計劃並與你的導師一起審查

建立一個簡單的框架

開發異常處理和報告等功能

學習工具,如Selenium、Appium、requests和Locust

找工作。這也可以用來測試市場,測試你在市場上的價值。

建立一份簡歷。

獲得一兩個推薦

保持一個活躍的LinkedIn個人資料。

在招聘網站上註冊。

參加面試和參加模擬面試。

加入你所在單位的面試小組;你總是可以從優秀的候選人身上學習。

在你的職業生涯中不斷成長。

學習新的框架。

學習新的工具。

加入社群。

透過網路提升知名度。