測試人員職業發展之路

2021-08-19 13:02:50 字數 3124 閱讀 9397

在我們開始嘗試為大家描述軟體測試工作的多種可能性之前,先來看看在現在所知最近代的開發模式中,測試人員還會繼續存在嗎?因為如果連測試工作本身都不存在了,我們也沒必要進行後續的討論了。

很多做測試的朋友問過這樣乙個問題:「現在敏捷開發模式中,自動化測試那麼流行,而且連開發人員都開始做測試了,是不是以後就沒有測試人員了?」

其實我在這裡可以肯定的告訴大家現實並不是這樣的。

首先我們需要討論的是分工的問題。人類的工業化生產最初也是不分工的,但隨著生產技術的複雜度提公升,以及對於生產效率的更高要求,產生了分工;同樣對於軟體開發來說也是一樣,最開始並沒有測試人員和需求分析人員,而都是開發人員。也是隨著軟體專案的複雜度以及要求的提高,慢慢產生了工作種類的區別,由此產生了專門做測試的人員,也就是測試人員。由此看來,並不是有了測試人員這樣乙個職位,才誕生了相應的工作和職責,而恰恰相反;那如果想取消這個職位,但是相應的工作和職責並沒有消除,在我看來無非就是把這個職位換乙個名稱,或者是和別的職位的工作與職責重新排列組合而已。

其次我們需要明確什麼是測試的核心,是自動化測試,還是測試報告,亦或是探索性測試呢?其實都不準確,我認為測試用例設計才是軟體測試的靈魂。沒有恰如其分的測試用例設計,軟體測試很容易誤入歧途:導致沒有目標的盲目測試,不考慮投入產出比的自動化測試,不從全域性優化的、割裂的單元測試、整合測試和系統測試等。測試用例設計也是需要熟練運用測試用例設計方法,並且結合測試人員的經驗和智慧型才能設計出來的,這同樣是測試人員不同於軟體開發團隊中其他角色,需要不斷積累的關鍵一點。如果說在敏捷開發模式中,開發人員可以完成單元測試和自動化測試,業務分析人員也可以進行探索性測試的話,測試人員唯一不能被取代的就是測試用例的設計。如果說描述得更全面一些,即使要讓別的角色替代測試人員,至少他們也需要具備測試用例設計的能力,而這種能力需要長時間的鍛鍊和運用才能具備。

最後,雖然測試工作並不會消失,但是測試人員也需要進化,需要跟隨新的軟體開發模式,不斷學習,不斷進步,保持自己的必要性和特殊性。舉例來說,在敏捷開發模式中,測試人員不僅僅是根據需求編寫測試計畫和用例,並且手動執行,給出測試報告就好了。而是需要測試前移,在需求分析階段盡可能地發現和預防問題,在開發過程中避免問題的產生,並且通過問題分析指導開發方向和改進措施;同時需要測試範圍擴大,不僅需要覆蓋軟體開發階段,還需要覆蓋產品上線部署以及運維的相關活動,甚至是通過分析使用者反饋來提高產品質量。可以看出敏捷中測試人員的任務和職責更多了,這就需要我們更加發揮自己的聰明才智,更高效地分析和解決問題,更快速地學習各項技能,同時注重各項實踐的運用。

既然測試工作並不會消失,而且敏捷開發模式帶給我們新的機遇和挑戰,那對於測試人員來說,職業發展的方向又有哪些呢?

首先我們需要明確想通過測試作為跳板,去做開發類和管理類等工作不在我們的**範圍內。很多測試人員其實在選擇軟體測試作為職業的時候,其實更優先選擇的是軟體開發的職位,只是可能由於種種原因而與開發職位失之交臂,只好選擇了軟體測試作為自己的職業。一旦有了合適的機會,他們會選擇成為開發人員,這樣的職業發展不在我們的討論之列。另一類測試人員對於軟體測試其實沒有熱情,有且僅僅把軟體測試作為養家餬口的工作,希望通過工作年限的增長增加自己的薪水,更多希望工作時間短,不用加班,這樣可以保證更好的家庭生活。選擇這種工作和生活方式是個人自由,但是也不是我們想進行討論的。還有一類測試人員,希望通過短期的軟體測試工作中突出表現,得到管理者的賞識,從而進入管理層,這樣的職業發展也不是我們討論的。

其次我們現在所知道的最近代也是最流行,甚至可以說最先進的軟體開發模式是敏捷開發模式,所以我們對於測試人員的職業技能發展也是基於敏捷開發模式來分析的,如果有更新的開發模式出現,這些分析和定義也許會失效。

在知悉這兩點之後,那我們認為對於測試人員來說,在保證測試人員的獨特性,也就是做好測試用例設計的基礎上,職業發展大致可以分為以下幾類方向(如圖b-1):

圖b-1 測試人員職業發展方向

偏向於需求方面的測試人員。我們說過在敏捷開發模式中,測試前移,測試人員會更多地接觸需求分析,從需求分析階段盡可能地發現和預防問題。在這一方面現在已經有行為驅動開發和例項化需求等方法協助測試人員深入需求分析階段並擴大自己的影響力,與此同時測試人員也需要更深入了解產品所在的行業以及業務知識,成為業務專家,才能使得測試分析更有洞見。

偏向於開發輔助的測試人員。在敏捷開發模式中,開發人員不僅需要編寫單元測試的**,有可能還需要編寫自動化測試**,所以為開發人員提供好的工具,使他們能更快速、更準確、更全面地新增和執行測試也是測試人員可以發展的方向之一。

偏向於自動化測試的測試人員。正如上一條所說,開發人員有可能編寫自動化測試,同時測試人員也是可以自己進行編寫的。而且對於自動化測試,測試人員不僅需要分析專案的架構和技術棧,選擇最適合專案的自動化測試框架和程式語言,還需要從頭開始搭建自動化測試框架,並完善相關的自動化測試配套內容,諸如測試資料管理、測試併發執行、測試方法封裝、測試指令碼的設計等內容。

偏向於專項測試能力的測試人員。測試人員不僅需要在知識的廣度得到發展,還需要深入特定的技術,稱為某項技術的測試專家,例如前端測試、資料庫測試、效能測試、安全性測試和可用性測試等等。這樣測試人員就不侷限於某個特定的專案,而是變成了可以跨越專案的具備特定測試技術的技術專家。

偏向於測試諮詢的測試人員。測試人員通過在敏捷開發模式中測試深入開發的整個流程和細節,在具備了豐富的專案經驗和技術能力後,可以輸出對於軟體測試甚至整個開發過程的總結及認識,幫助更多的團隊解決當前的問題,提高團隊測試技術能力和意識,進一步優化產品的質量。這也是測試人員實現更大的自我價值的一種途徑。

偏向於測試能力建設的測試人員。在上一條發展路徑的基礎上,測試人員還可以進一步昇華成為使開發團隊具備或者提高測試能力,進行測試轉型,甚至團隊轉型的關鍵性指導人物。而且通常這種測試人員會同時負責多個團隊,而且人數一般很少。

也許你認為前幾種測試人員相對來說更偏向於技術,容易在團隊內實現,而後幾種更像是給廣大的測試人員畫餅,並不一定能實現,只是描述乙個可能性而已。其實這幾種測試人員的發展之路是根據我們實踐的測試人員的規劃得出的,也就是說我們是有真實的人物發展作為依據的。所以當大家被自己工作中的現實所打擊到的時候,不要動搖我們可以做更好更強大的測試人員的決心和目標,而是更努力的向那個方向努力。

最後,我們想告訴讀者:產品質量並不只是軟體測試人員的責任,而是需要整個團隊都關注的內容。只有給予軟體測試人員足夠的關注和重視,我們才能充分發揮每個人的特點,合力推動產品質量的進一步提高。從另一方面,軟體測試人員也需要意識到自身技能的缺失,強化技能水平,成為團隊可以依賴和值得信賴的一員。

測試人員的職業發展

測試人員的職業生涯究竟如何發展,一直以來都是乙個 難以說清的問題。一方面,各種諮詢機構都在說,測試是個很有前景的行業,另一方面,測試從業人員少,收入普遍較低仍然是乙個不爭的事實。很多同行都處在一 種看不清前路的狀態,測試人員轉行的現象也比比皆是。這裡,我想講一下我對測試這個行業的理解,以及在我心中,...

關於測試人員的職業發展

近期由於專案組人手不夠,需要招聘一些測試人員。本週及上週陸陸續續面試了十多個應徵者,工作年限在2年 9年之間,但無一滿意。期間,種種感嘆,回想起去年面試六十餘人僅有3人滿足要求,如有鯁在喉,還是吐槽一下。如有不對請大家也狂噴我。我的要求高麼?我的要求其實是 有還算不錯的溝通能力,熟悉常見軟體開發流程...

微軟測試人員的職業發展(一)

我們都知道微軟的測試人員叫 sdet software development engineer in test 其人員的能力都是非常強的,其實微軟以前也是有 ste software test engineer 但後來由於種種原因在微軟拋棄了這種職位 乙個是名稱,還有就是自動化,這種職位的人員 d...