1. 程式人生 > >測試工程師具備開發能力的重要性

測試工程師具備開發能力的重要性

測試現狀

  • 當前測試工程師做的主要工作是手動測試和編寫測試用例;即便在一些公司,測試工程師的Title已經換成了測試開發工程師,但他們真實做的還是跟進迭代、手動測試之類的工作。
  • 由於產品測試需要耗費大量的時間,網際網路公司的產品迭代又是非常之快,持續的手動測試加測試用例測試,會導致隨著產品功能的增加,測試工作量成指數型上升。
  • 這種情況在電商企業尤其明顯,阿里幾年前就宣佈只招開發型測試工程師,這種考慮無論在人工成本還是產品進度上都是符合當前網際網路環境的。

為什麼對測試工程師的要求在上升?

  • 1.人工成本在上升
  • 2.手動測試越來越難測試出bug
  • 3.自動化測試越來越成熟
  • 4.開發能力在上升
  • 5.各種編輯器、程式碼檢測工具出現
  • 6.系統越來越複雜,手動測試和介面測試很難適用

分析

PC時代的情形又出現在了移動網際網路時代。

手動測試、開發測試用例的工作將會外包或者交給實習生完成。

新的技術架構的測試方式

熱門技術 測試內容 測試方式
大資料 資料構造+分散式壓測+資料校驗 系統開發
AI 演算法測試+模型測試 軟體開發
直播 SDK測試+網路測試 軟體開發

技術要求

大資料
Hadoop
Spark
Kafka
AI
演算法
開發語言

可以看出,傳統測試已經無法完成這些工作了。具備這些能力的測試工程師和開發工程師的區別已經很小,僅存在方向的不同,一個是面向業務,一個是面向測試。

工具

工具型測試在很多公司已經推廣開來,無論是開源工具的二次開發,還是針對特定業務的工具開發,都旨在提升測試的效率,以跟上迭代的速度。

很少有公司在還大量的使用手動測試和介面測試了,這種測試門檻很低,招人很容易,但價效比很低。只要開發水平提升一點,流程規範一點,完全可以在自測中實現這類測試工作的效果。

測試的開發能力對測試質量的影響

沒有做過開發的測試人員在測試過程中會存在以下幾點弱勢:

  • 1.不瞭解系統哪些地方可能出問題,導致測試針對性不強
  • 2.基本在做黑盒測試
  • 3.發現bug不知道找哪類開發修
  • 4.特殊情形測試不到

分析

<1>瀏覽器頁面開啟時間很長時,問題可能出現在:1.前端渲染;2.網路;3.web端服務;4.Server端服務;5.資料庫。定位問題很重要。
<2>資料庫連線不斷開、rpc設定超時時間過長、資料庫索引設定錯誤等問題,只有滿足一定條件才能發現。只有意識到這些問題,才能測試到這些點。

測試發展方向

MBT的發展也有幾年了,隨著AI技術的發展,測試也會朝這個方向發展。

不做開發的測試以後會逐漸減少。