我爲什麼長期看好軟件測試這個職業—軟件測試屬於“金字塔型”職業?還是“扁平型”職業?

前兩天看《香帥的中國財富報告》,在職業篇裏,提到一個關鍵詞:可編碼。什麼樣的職業是可編碼的呢?重複的、有明確目標的工作會被算法替代,比如:閱讀資料、記憶、複述、數字分析、總結等等。

其中還提到兩種職業模型:“金字塔型職業”“扁平型職業”,他們的含義分別如下:

  • 金字塔型職業:可編碼的工作很多,只有頂部少數的工作無法被替代。比如:金融行業、法律、商業、銷售等,雖然很多工作可以被替代,但是優秀的基金經理或者銷售經理,他們所具備的經驗、決策力是不可替代的。
  • 扁平型職業:多數的工作是不能被編碼的,比如:社區服務、醫療保健執業醫師和技師等。這些工作往往需要人的主觀意識和經驗,因此被替代率會比較低。

那麼軟件測試屬於哪種職業呢?我個人的觀點,現階段應該還屬於“扁平型職業”,也就是可編程替代率不高。我主要是從目前軟件測試行業的工作內容去分析,下面是我的幾個思考點。

測試用例

測試用例編寫是一系列的工作,前期需要參與需求評審,後面則需要根據需求文檔內容,結合一些測試理論思想編寫詳細的測試點。這個過程是依賴人的主觀理解以及經驗,同時還牽扯到用戶交互體驗,因此可被編程替代度比較低。

那假如這個過程想被編程替代,有沒有可能呢?我覺得等到發展到一定階段,也有可能,需要依賴人工智能。首先產品經理需要按照一定的規則編寫PRD文檔,然後由人工智能系統,分析每條需求的語義,之後在知識庫中篩選出對應的測試用例。不過在我的認知範圍內,我覺得實現類似的場景,還需要一段時間。

執行測試

執行測試的階段,包含很多個方面,包括業務測試、性能測試、專項測試、安全測試等。其中業務測試是大家眼中的“點點點測試”,這個過程能不能被替代呢?我覺得不能。可能有人會覺得靠自動化不行嗎?我覺得靠自動化有兩點需要考慮:

  • 自動化的腳本目前還是得人工參與,想依賴測試用例自動生成自動化腳本,目前有可供使用的框架customer,但需要用例按照一定的格式編寫,還是得人工參與。
  • 我覺得對一些異常測試,比如探索性測試中的極端測試點,用自動化比較難觸達,因爲需要人蔘與去思考和模擬一些場景。

其他幾類測試,我覺得可編程替代程度比業務測試要略高一些,爲什麼呢? 比如:安全測試,目前像阿里雲、騰訊雲都提供了用於安全測試的平臺,它們底層其實就是靠掃描代碼,根據一些約束的規則,給出安全漏洞的評估。再比如專項測試,其本質上是對客戶端專項數據的收集,那理論上來說完全可以靠編碼來實現,比如像騰訊的PerfDog就是非常不錯的專項測試工具,完全可能在執行業務測試的過程中直接收集專項測試數據。

不過安全測試、專項測試也不能完全脫離開人的參與,我考慮有兩點:

  • 專項測試、安全測試和測試場景是有關聯的,需要人參與制定對應的測試場景。
  • 做專項測試、安全測試,獲取數據容易,最難的是數據分析及查找原因,這需要人蔘與其中。

測開比例

那既然上面寫了一大堆來說明,目前軟件測試還不能被編程替代,那爲什麼現在大家都在鼓吹測開比例能達到1:10,甚至1:15?!這不正說明,軟件測試人員是能夠被優化和替代的嗎?其實則不然,我的思考點如下:

  • 我之前也提到過,測開比例不應該有行業標準,需要結合着公司具體的情況,比如所做的業務、團隊配置、測試體系等等各方面考慮,還是那句話:適合自己的纔是最好的
  • 測開比的變化其實是整個測試體系的優化,以及整個團隊建立起優秀的質量文化等。比如:測試左移和測試右移、良好的UAT測試等。

總結來說,測開比例的優化,並不能說明軟件測試是可以被編程替代的,只能說明是對測試體系進行優化,以及我們自身職業能力的提升。

寫在最後

以上是我對香帥老師關於“扁平化職業”和“金字塔型職業”的思考,我長期還是很看好軟件測試這個行業的。大家可以在評論區寫下自己的想法,一起交流。

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