Categories
程式開發

軟件測試人員的職業發展


在《關於軟件質量,大家都在關注什麼》一文中,我們了解到軟件測試領域新的關鍵趨勢主要體現在以下幾個方面:

  • AI的發展與軟件測試
  • 敏捷與DevOps
  • 自動化測試
  • 環境和數據
  • 成本與效能

軟件測試人員的職業發展 1

在這樣的趨勢下,測試人員的職業發展之路有什麼變化呢? 我們先來看看測試人員的技術發展方向有哪些。

技術方向

基於前面提到的新趨勢,測試人員的職責由單一的測試軟件系統是否工作、是否滿足業務需求變得更加多樣化,測試人員可以全流程參與軟件開發,讓測試活動貫穿軟件開發整個生命週期。 因此,測試人員的職業發展技術方向有:

  • 敏捷測試專家
  • 高級測試開發專家
  • 專項測試專家
  • QAOps專家

1. 敏捷測試專家

敏捷測試強調的是儘早測試和頻繁測試,測試人員需要能夠從需求分析階段開始介入,全流程參與,跟整個團隊一起實現團隊為質量負責。 對敏捷測試專家的技能要求有:

領域測試能力: 測試人員需要豐富的業務知識、較強的業務敏感度和業務理解能力,熟悉各種不同類型的業務模式,包括新興業務IoT、智能服務、區塊鍊等,能夠制定相應的測試策略,有效協助團隊做好質量內建,實現交付價值最大化。

自動化測試能力: 自動化測試是敏捷開展的必要條件,自動化測試技能是測試人員的必備技能。 成為敏捷測試專家,要求測試人員了解不同的自動化測試框架的優缺點,能夠指導項目自動化工具的選型;了解測試分層的思想,能夠幫助團隊制定合適的自動化測試策略;能夠實現業務功能層的自動化測試,能夠跟開發人員一起參與底層自動化測試(接口測試、單元測試等)的評審工作;了解持續集成工具,能夠在持續集成流水線上配置和運行自動化測試。

溝通協調能力: 敏捷測試要求團隊為質量負責,測試人員作為主力,需要承擔起質量的分析者和協調者的角色,要求有很好的跟不同角色溝通和協調團隊合作的能力。

2. 高級測試開發專家

高級測試開發專家的必備技能要求有高級自動化測試、白盒測試、開發和平台構建能力,要求有很強的測試代碼編寫能力,能夠自行開發自動化測試工具、搭建自動化測試框架、構建自動化測試平台和服務。

同時,最好還有AI應用的基礎算法應用能力和自然語言處理技能,需要了解和掌握AI相關知識,以及AI知識在測試中的應用,以幫助實現自動化測試的智能化。

3. 專項測試專家

專項測試技能集包括安全、性能等跨功能測試技能,需要有紮實的計算機基礎知識,了解安全問題的類型、安全測試工具的優缺點,能夠提供安全測試解決方案;熟悉性能影響因素、性能測試關注點以及提供性能調優方案等。

專項測試技能也包括測試數據和測試環境的管理,要求熟悉虛擬化、雲計算技術、數據匿名化等數據處理技術,能夠提供測試數據和環境管理的方案。

4. QAOps專家

測試右移已經越來越被重視,這意味著測試活動需要右移到生產環境,需要測試人員跟Ops人員更緊密的合作,QAOps專家也應運而生。 QAOps專家需要了解基礎設施相關技術與實踐,了解日誌管理、日誌監控以及日誌分析技術,同時還要有用戶行為分析能力,通過跟Ops的合作,充分利用生產環境的各種類型的信息來優化軟件開發和測試流程,以實現最終優化業務價值的目標。

軟件測試人員的職業發展 2

管理方向

管理崗位在新的趨勢下有些將不復存在,一般在相對傳統的組織架構下才會有,但是目前來看還是有相當的企業是適用的,在此也簡單聊一下。 根據每個公司的情況不同,測試人員直接相關的管理崗位也會有些不同,大體有如下這些:

  1. 測試組長
  2. 測試經理
  3. 項目測試負責人
  4. 測試總監

1. 測試組長

測試組長一般帶幾個測試工程師, 負責任務分派和人員管理等工作。 除了必備的測試技能外,測試組長需要的管理技能有:

任務優先級識別能力: 需要能夠識別任務的優先級,並根據當前工作合理分配給不同的人去完成。

培養團隊成員的能力: 帶領團隊需要對團隊成員進行培養和發展相應的能力,需要能夠識別不同人員的自身特點,有針對性的培養相應的技能。

溝通協調能力: 要帶領好團隊,較強的溝通協調能力必定能事半功倍,讓團隊工作更順暢。

2. 測試經理

測試經理一般是管理一個測試部門,下面可能有多個測試小組。 測試經理除了需要關注技術外,還需要關注部門的發展、績效等。 需要的相應技能有:

技術洞察力: 測試經理需要對技術趨勢和先進測試工具有較多了解,需要能夠幫助團隊確定測試技術和測試工具的研究和使用,以提高團隊的工作效能。

風險識別能力: 測試經理需要能夠很好的理解業務需求、識別項目風險,負責制定測試策略和具體的實施方案,並能進行總結、報告,及時反饋項目質量狀態。

培養團隊成員的能力: 團隊成員的能力培養非常重要,測試經理跟測試組長一樣需要這個技能。

溝通協調能力: 測試經理不僅需要協調測試部門內部的各種情況,還需要橫向跟公司其他部門進行溝通協調,溝通協調能力更加重要。

3. 項目測試負責人

項目測試負責人主要負責一個項目的質量保障工作,需要有跟測試經理相似的技能: 技術洞察力、風險識別能力和溝通協調能力

4. 測試總監

測試總監是測試經理的延伸,屬於質量部門的最高負責人,需要負責公司所有項目的質量活動,所要求的的技能跟測試經理類似。

軟件測試人員的職業發展 3

易轉型方向

除了測試直接相關的管理崗位外,根據測試人員的職業特點,以下兩個崗位是比較適合轉型的方向:

  • 項目經理
  • 產品經理

1. 項目經理

測試人員,尤其是敏捷團隊的測試人員,涉及到項目質量相關的方方面面,自然有著能縱觀大局的機會,成功轉型項目經理的例子非常常見。 相應的技能要求有:

團隊管理能力: 管理團隊,包括人員風險識別、協調溝通等方面,需要掌握一定的人際關係相關的軟技能。

客戶關係管理能力: 項目經理除了要搞定團隊,還有最為關鍵的是要處理好跟客戶的關係,客戶關係管理技能特別重要。

決策能力: 決策能力是一種綜合的判斷能力,即面對幾個方案或錯綜複雜的情況,能夠做出正確的判斷並採取行動。

2. 產品經理

軟件測試人員都需要能夠很好的理解業務需求,一般都有很強的業務能力,轉型當產品經理是一個不錯的方向。 產品經理相應的技能要求有:

用戶需求挖掘能力: 產品經理需要有包括挖掘潛在用戶需求、確定需求優先級、構建用戶畫像的能力。

多維度思考能力: 產品經理需要能夠從基本維度、外在維度、核心維度和商業價值維度思考的能力。

抽象能力: 產品經理不僅要能從事物本身進行抽象,還需要能夠考慮不同層次的抽象;抽象完後,還需要把抽象的對象回歸到展示層面,需要有抽象回歸具象的能力。

軟件測試人員的職業發展 4

三個轉變

測試人員要培養前面介紹的技能,首先需要實現下面三個轉變:

1. 對測試的認知

測試活動不僅是驗證系統功能,可以更加的多樣化。 比如,測試左移就包括對需要的澄清和驗證,測試右移則包括生產環境的監控和信息收集等。

測試人員不是質量的把關者,好的質量意味著要交付更多的價值,而不是沒有缺陷那麼簡單,測試人員不再是發現缺陷越多越有成就,而是要想著如何跟不同角色高效合作,使得交付的產品能夠優化業務價值。

2. 對技術的關注

由於測試活動的多樣性,不能只關心測試相關技術,要把視野擴展到軟件開發過程中各個環節接觸到的領域知識和不同類型的技術,不同業務類型、技術架構和基礎設施等都會對測試有不同的影響和要求。

3. 測試不可以獨立存在

測試不能再以獨立部門自居,需要跟不同的角色更多的溝通和合作。 比如,需求分析階段需要跟需求人員有密切的溝通,實現自動化測試過程中可以跟開發人員結對或其他方式的深度合作,生產環境下的測試需要跟Ops人員緊密合作等。

同時,測試人員對於系統所採用的技術架構、技術方案的設計思路都需要有所了解,從而更好的理解開發的工作、理解架構演進對於測試的影響,更好的開展測試工作。

最後

了解了發展方向,如何才能讓自己的職業生涯更圓滿呢? 更多的學習建議可以參考我去年在BQConf的演講《BQConf演講:軟件測試人員該何去何從》裡提到的那幾個方面:

  1. 確定方向,目標驅動
  2. 持續學習,把知識變成技能
  3. 勇於突破,系統思考

願各位測試同仁的職業發展之路更加順暢!

作者介紹

林冰玉,ThoughtWorks 高級軟件質量分析師,QA Lead。 13 年多的質量保障相關工作經驗積累了豐富的企業級應用和大型產品應用的測試和管理經驗,尤其擅長敏捷開發過程中的質量分析和保證工作。

本文轉載自ThoughtWorks洞見。

原文鏈接

軟件測試人員的職業發展