選單

軟體測試靈魂三問,如何回懟?

testkuaibao|軟體測試自學公眾號

靈魂三問:

1

問:

為什麼這個 Bug 測不出來?

2

問:

測試怎麼測得?

到底會不會測?

3

問:

測試快點啊!

為什麼總是測試拖後腿,最後才報 Bug?

有朋友說:

對測試新人則是“

驚魂三問

”!

如果老闆也這麼問,

更驚魂

如果是開發人員問測試人員,則是“

甩鍋三問

如果是測試人員

自問

,倒是反思,不是壞事!

也有朋友說,

問了幾萬遍,就是沒有答案

要麼先看看網友如何懟回去的?

by @混子

如果是研發問,直接懟回去

1。 這麼簡單功能也出錯?

2。 研發怎麼開發的,會不會開發?

3。 研發能不能快點,為什麼最後才給我們打包?

如果是領導問,馬上認錯

對不起!對不起!對不起!

(注:似乎懟得不錯,但開發一定會再懟回來,1。 功能不簡單啊,如果功能不出錯,還要你們測試幹什麼?2。你來開發、寫給我看看?……

可能會引來一場格鬥

by @結婚兔子

具體問題具體分析吧:

1。

覆盤下為什麼沒有測出來?

是開發單元測試覆蓋度不夠,用例覆蓋度不夠,還是事實上就是難以覆蓋到,之後改進。

2。

把測試流程分享出來

,邀請業務方、研發、測試等等相關人員,一起完善。

3。

從流程下手

,需求開發測試都要排期,測試排期要有“底線”。實在不行,只能用老辦法,要麼砍掉不核心的需求,要麼延期;另一方面,做測試提效,自動化測試、提測質量准入、測試左移右移那一套都用上。

(注:這樣的態度很好,善於反思,從流程、技術、人等找根因,力求立行立改、息事寧人,但不懟回去,長期下去,地位會不會越來越低? )

by @BNN

1。

分析缺陷產生原因、復現條件

:測試環境能否復現?線上環境為什麼沒有復現?沒有復現影響多大?—— 如果是漏測,那就得認;

2。

擺事實

:講清測試方案、設計、方法,確認這個方案當時有沒有獲得一致評審透過?如果當時已經通過了,那就是大家的鍋;如果這些沒做,那測試當然就負主要責任;

3。

看看是不是測試階段總在做一些驗收性的測試?

如果是,驗收性測試本身就比較耗時間,測試時間不足,測試的深度自然也不足;如果本身不是做一些驗收性的測試,測試能夠提前介入,一般不會“最後才報 Bug”,這裡只需要列舉“提前”報的 Bug。

(注:和第二個差不多,首先從自身找原因,進行根因分析,case by case, 擺事實、講道理,解決問題是硬道理 )

by @Ouroboros

看情況吧。如果是自己問自己,那麼就好好分析下。

如果是開發要甩鍋

,那麼就按 @混子 兄弟說的懟回去。

如果是領導問到了

,那就是時間緊、技術債多、開發不自測、基礎設施差、沉澱差、產品瞎B改,再道個歉,許諾個美好的未來。

最後說要用 TDD,需要一波 Money 或者其它激勵,來償還技術債,比如讓開發自測需要推動,基礎設施需要組織人做,都需要錢和資源。嗯,這麼看,好像還是個增收途徑。

(注:到後面跑題了 )

by TW 餘同學:

這個問題一定很隱蔽吧?

不然怎麼會單元測試沒發現,自測沒發現,

整合測試也沒發現

,要不要一起分析問題的原因以便日後改進

這部分我上下文不足,可以和你pair一起測嗎?

如果你自己的程式碼有足夠的信心,不給測試留時間也可以,相信你可以控制好自己的程式碼質量

(注:第一個問題懟得挺好。第3個回答,顯得測試是多餘的? )

by 盤古 王同學:

目前看到的,我比較贊同評論是:

就在大家相互扯皮的時候,鵝廠又發錢了!

微信支付團隊拿到2019年公司創始人獎,獎金2個億,這還不包括年終獎(年終獎10個月起)。騰訊雲完成100億營收,團隊每人陽光普照,一人一部iPhone 11 Pro。

我們認真思考一下,快節奏的今天,

還拿出這些東西聊個昏天暗地,從本質上其實就在浪費時間,可以說這些都不是問題,是結果

原因太多了,大家都知道,但提出這些話題的意義是什麼呢?如果一個測試團隊還在這些東西上面浪費時間,那麼對不起,我們已經輸了,對手的唯一目標是推掉我方水晶!我們的目標在誰來背鍋。

如果這麼幾句嘲諷話語就逼瘋測試,那麼我們真的應該反省一下,自己有多脆弱不堪

測試也好開發也罷,共同目標是贏這一局,不是故步自封撇清自己!

最後一個同學,是不是說得很好?我把這段話從我的朋友圈搬到這裡,對我寫這篇文章不利啊,因為她已經批評我們“

還拿出這些東西聊個昏天暗地,從本質上其實就在浪費時間

”,那為什麼還搬過來了?因為有道理。

我們再回頭看那“靈魂三問”:

1

問:

為什麼這個 Bug 測不出來?

2

問:

測試怎麼測得?

到底會不會測?

3

問:

測試快點啊!

為什麼總是測試拖後腿,最後才報 Bug?

第1問

,不管是開發問還是老闆問,不管是為了甩鍋還是追究責任而來,都是需要回答的問題——產品上線後有遺漏的Bug,就需要問“為什麼”?而且不只一個“為什麼?”,按照根因分析方法,最多會

問五個“為什麼?

”,“為什麼這個 Bug 測不出來?”

這是第一問

,答案可能是:

沒有測試用例,會繼續問:為什麼沒有測試用例(案例)?

有測試用例,沒有執行或環境不對,會繼續問:為什麼沒有執行(或環境為什麼不對)?

只有這樣不斷深挖下去,才有可能找到根本原因在流程、在開發身上

。不問為什麼,是沒辦法讓開發和領導知道他們自身存在的問題。雖然我們知道:

測試不能窮盡的

一般軟體測試只是樣本試驗不是數學證明

開發寫出的Bug越多,測試漏掉的Bug越多

這些只是道理,懟起來,力量不夠。用

具體的case或事實來說明問題更好、更有力。如果上面五個“為什麼”追究下去,追到測試自身問題,那也說明測試自己沒做好,需要改善。

第2問

,的確說明問者帶有情緒了,是第一問經常被問住了?還是產品上線後問題比較多?如果是前者,回到“第1問”;如果是後者,這時可以用“開發寫出的Bug越多,測試漏掉的Bug也越多”來懟,最好用資料來說明,例如:

開發寫出1000個缺陷,測試發現Bug的能力是98%,那麼漏掉20個Bug

開發寫出100個缺陷,測試發現Bug的能力還是98%,那麼只漏掉2個Bug

這種帶著情緒的問,如上面王同學說,也可以置之不理。如果對自身能力比較自信的,可以懟過去:

開發有沒有做單元測試?有沒有code review?

咱們看看哪些缺陷是可以透過單元測試、code review能發現的?

要不要我們一個一個bug過,看看這些bug究竟怎樣逃過一關又一關的?

你們怎麼寫出這麼多缺陷?怎麼寫的程式碼?

這麼多缺陷,不都是開發寫出來的?

難道不知道 “質量是構建出來的、不是測試測出來的” 嗎?

咱們換一個位置,你來測,我來寫程式碼,如何?

有實力,才能懟

第3問

,這個問題要一分為二,如果之前前期發現的缺陷少,後期發現的缺陷多,測試的確要反思,沒有很好地採用“基於風險的測試策略”。如果前期也報了比較多問題,但最後也報了幾個缺陷,這比較正常。因為從目前現實情況看,測試常常是瓶頸,這是現實,因為測試人員少,開發:測試比常常是4:1、5:1或更高。其實,測試工作量沒這麼少,測試人員不僅要做新改動的測試,還要做迴歸測試,更何況許多開發沒做好單元測試和code review,如果再加上缺乏程式碼規範、程式碼質量不高,只能是惡性迴圈,沒有“銀彈”能解決這樣的問題。

這時候,如果一定要懟,就自然是:

測試是瓶頸,沒辦法,因為公司的投入就少、開發測試人員配比不合理

咱們換一個位置,你來測,我來寫程式碼,如何?

開發和測試是一個團隊,只有同心協力,才能取得成功。有時“為什麼”(如第1問)還是需要問的,只是更應該自問,

不斷反省,才能提高

。而且

自己有實力、具備有效的測試方法、測試策略,能夠講清測試故事、說明白自己所做的測試工作,就不怕問!

之後需要寫一篇“質量是構建的”,雖然每個人都知道。

如果沒完成了“靈魂三懟”,就算拋磚引玉,歡迎大家留言繼續懟

覺得文章不錯就點個在看唄,轉發就更好了

軟體測試之特殊字元

Web 協議跟抓包都不會也敢說自己是測試人員?

2021年10大流行軟體測試工具

軟體測試之冒煙測試

當我不小心碰了舊程式碼庫

女學霸考692分想當“程式設計師”,網友:快勸勸孩子