偶然在知乎上看到一篇帖子:為什么互聯網公司不開除測試,轉而讓大眾來測,找到一個bug給100元?幾年測試經驗下來,看到大家的討論,深感心有戚戚焉,于是也想淺談測試人員對于公司的重要性。
首先舉個身邊的例子,大致劇情是:開發團隊因為某某原因,感覺測試人員“有些多余”,測試工作可以自己做。于是不再讓測試團隊跟,于是這么進行了兩三次后,實在受不了線上“控制不住的”問題,于是又把測試人員請了回來。
對測試的常見誤解
關于測試,大致會有以下幾個方面的誤解:
將開發階段、測試階段完全剝離;
誤認為測試只是在產品做出來之后,使用它找 bug;
忽略了發現 bug 的時間點越靠后,修復它所要付出的代價就越大;
認為測試人員就是找 bug 的;
認為測試就是在界面點點點,找幾個茬。
重要的測試方法論
找 bug 或 bug 預防應該始終伴隨著產品的各個階段,這里有個比較形象的比喻:敲釘子,如果一口氣敲完了才發現敲歪了,那就得拔出來重新來,可是東西上已經有一個很深的洞了。因此,對質量把控的兩個方法論包括:
質量預防。事先定好釘子的位置、方向、需要的深度等;
實時檢查。敲一敲,檢查一下,隨時糾正方向,確保前進的大方向是正確的。
測試的目標:
測試的核心職能:測試產品與需求(產品需求-》用戶需求)的契合度
為什么互聯網公司需要測試人員
對于測試工作為什么不直接交給開發/產品/其他人員去做,反而雇傭專門的測試人員,可以使用下面的思路來回答這個問題:
測試是一項工程,需要計劃、策略、方案。非專門人員,無論從技巧、心態、方案上都無法很好勝任長期的質量保證
測試需要對產品的透徹理解,需要對用戶的同理心,需要對市場的把握,需要足夠好的大局觀,需要足夠的耐心,需要一定的技術功底,需要寬泛的知識面,需要良好的溝通能力,需要能夠協調團隊中不同角色。60 分的測試人員市場上大把大把的一大堆,但接近 100 分的測試人員實在非常緊缺,二者對于產品的影響就是:60 分人員產出 60 分經常差強人意的產品;而 100 分人員產出的是穩定&可靠&體驗超爽的“網紅”產品。
質量保證需要從有別于產品、開發、設計的視角來看待整個產品周期。
需要專門人員通過各種技術手段和流程改進,逐步解放團隊內部人員,讓他們把精力放在對產品的把握上。
質量保證既需要方法論,又需要效率,其他人員不能同時具備。
產品需要不同層面的質量(可用、易用、好用、愛不收手)。
非測試人員或許能碰得到 Bug 但不代表測得出 Bug。正如覺得電影不好看,也不一定就能拍出好電影。
總結:收益》投入時,投入才值得,這或許是對為什么需要測試人員的最好回答了。如果將測試人員看做是項目投入的話,那么其所能產生的收益必定更大,換言之,使用專門的測試人員是值得的投資。
測試人員地位為什么在團隊中未被足夠重視?
1. 無論是否熟悉互聯網公司團隊合作模式,相比產品人員、開發人員,測試人員工作往往由于處于項目的中后期,而產生了這樣一個印象:
沒有產品人員/開發人員,根本出不了產品;而沒有測試人員,大概也是可以的。
2. 對于產品層面的直觀印象是:
你的團隊有測試人員,用戶/其他人員不會覺得你的產品好牛逼;
但你的團隊沒有測試人員,用戶/其他人員會覺得你的產品好 low。
3. 測試人員缺少強有力的數據支撐自己的重要性:
現在幾乎所有大中小型公司,考核測試人員的指標都越來越偏向于開發能力了。如果測試人員能開發出一個測試工具/平臺,彰顯自己的開發能力,不僅可以通過分享、工具推廣來增加自己的影響力,更可以在晉升答辯中獲得優勢;
而對于產品層面的直接影響,缺少類似開發能力這么明顯的衡量標準。除非負責的產品直接有關收入、用戶量等指標,而測試人員又恰恰新提了一個方案,增加了收入、用戶量等(當然這種機會實在是千年難遇,畢竟 90% 的產品可能非人為可以控制);而實際項目往往面臨的是下面的場景:
測試人員對產品層面進行了種種優化建議/改進,但除了多一些 bug 外,似乎也沒有多少有力證據來證明測試人員對產品層面的影響。
對測試人員考核的一些思考
Bug 懸賞
眾測平臺:給符合資質的測試人員分派測試任務,最后根據 Bug 的數量或者測試任務的獎勵方式給予報酬;
感悟:這或許是鼓勵測試人員以外的人員來參與測試的最好方式了吧。
為什么幾乎沒有公司根據 bug 的數量/嚴重級別,對測試人員進行“懸賞”?因為于大多數公司而言,測試任務量大/發現大量 bug 的項目在許多資源方面并沒有比成熟業務有利,大多數情況下,反而更被動。
當測試人員疲于項目測試,整天忙得暈頭轉向時,到績效考核/晉升時卻發現無“重量級話題”可說;而一些項目測試比較“悠閑”的人員,反而可以有時間去持續集成、自動化開發等,去做一些在考核時十分搶眼的事情。兩類人員常常限于自己的循環之中。
項目測試中,由于業界普遍對自動化的推崇,實際項目中往往出現了以下現象:
1) 為了自動化而自動化。現在一說到測試執行,如果說還沒有自動化,直覺上好像在進行“很 low”層次的測試一樣;
2) 強調自動化的代碼覆蓋率,而非從整體測試策略來思考具體的測試執行方案;
3) 大量自動化覆蓋率、高運行通過率的情況下,仍然頻出線上問題。這里不禁有一個疑問:如果自動化真的減少了人力投入的話,那么節省下來的人力究竟對確保安全、無故障上線起到了什么作用呢?
寫在最后
目前測試界的現狀是:對測試人員角色理解相對不太深入、測試人員的價值沒有被足夠重視、對測試人員考核的普遍傾向。在當前現狀下,如何在整個團隊中發揮測試角色的作用,又能對自己(如果你是 QA 的話)帶來成長/考核方面的益處呢?
-
測試工程師
+關注
關注
6文章
124瀏覽量
12511
發布評論請先 登錄
相關推薦
如何成為嵌入式開發工程師?

云互聯網是什么意思
嵌入式工程師常用的開發工具有哪些?

【HZHY-AI300G智能盒試用連載體驗】+ 智能工業互聯網網關
esp8266已連接到Wifi但無法連接到互聯網,為什么?
工業互聯網平臺中什么是關鍵
AIGC遇上ChatGPT,互聯網公司的創意設計師,還能做什么?
嵌入式軟件工程師和硬件工程師的區別?

什么是衛星互聯網?衛星互聯網的組成

評論