找到bug的根源,問五次為什麼

2022-07-14 13:09:17 字數 966 閱讀 9052

前端發布後,頁面按鈕點選失效,使用者反饋問題,前端回滾**後恢復。

問題一、為什麼按鈕點選會失效?

因為前端**寫出了乙個bug,沒有對空物件進行判空,導致頁面js丟擲異常,按鈕失效。

一般到這裡就結束了,把**加上物件判空,繼續發布就完成了。

但是大家集思廣益,問五次為什麼,看看是否有新的發現。

之後又問了幾個為什麼,果真有收穫。

問題二、為什麼是使用者反饋,而不是告警發現?

因為當時發現了告警,但是看日誌沒有查出什麼異常,就忽略了。

問題三、為什麼沒有查出日誌,是沒寫日誌,還是寫了沒查到?

有寫日誌,但是當時查日誌系統特別慢,平時要十多分鐘才能查出來,那天乙個小時都沒出來。

問題四、為什麼系統會查不出日誌?

不知道。後來找維護系統的人查了下,發現硬碟有問題,緊急更換了磁碟。

問題五、為什麼平時要十多分鐘才能查出來日誌,這麼慢?

因為查詢日誌沒有用主key查詢,日誌量太多,導致查詢慢。改進:記錄日誌時把key值寫好,精簡不需要的日誌。

經過問五個為什麼,把乙個看似簡單的線上bug,挖出了更多可以修改的點。為以後及時發現問題,少出事故,做了很大的貢獻。

如果只問乙個為什麼,那麼修改的只有表象問題,把**判斷空加上就結束了。

問了五個為什麼之後,做了這幾件事:

修復**判空的bug。

發現了日誌系統的磁碟問題。

發現了系統的冗餘日誌,要精簡掉。

發現記錄日誌的方式不對,修改。

特別是2,如果不找出來,其他系統也會掉到這個坑里,也算是舉一反三。發現乙個問題,把關聯問題,和根本問題都解決了

很多時候,我們遇到的問題都有更深層次的原因。乙個問題出現,也都是多個問題同時發生的結果。在大問題發生之前,一定有很多次小問題出現。問5個為什麼,就像進行了5次深度和廣度的搜尋,把問題又向四周和更深的地方挖掘。

每次出問題時都能多問幾次為什麼?才是從根本上消除問題的乙個好方法!

能不能反覆問五個「為什麼」 摘自TPS

你對乙個現象提出過五個 為什麼 嗎?說起來容易,做起來可就難了。比如說,假定機器開不動了,你就要問 1 為什麼機器停了?因為負荷過大,保險絲斷了。2 為什麼會負荷過大?因為軸承部分不夠潤滑。3 為什麼不夠潤滑?因為潤滑油幫浦吸不上油來。4 為什麼吸不上來?因為油幫浦軸磨損,鬆動了。5 為什麼磨損了?...

為什麼要找到乙個好的特徵?

好,話不多說,今天讓我們來一起分享下怎麼樣來去選擇乙個好的特徵,並且當我們區分出好的特徵的時候,好的特徵意味著什麼。在這一篇文章中,我們將會用到機器學習的分類器來作為貫穿整篇文章的例子,因為分類器只有在我們提供了好的特徵以後才可以為我們的發揮出自己的好的效果,這也意味著找到好特徵是機器學習能夠學好的...

你為什麼沒有找到工作的10個原因

4月14日 你也許已經有了乙份無可挑剔的簡歷,很好的工作經歷以及相貌堂堂,也許你是很多雇主都想要的人。但你卻已經找工作近一年了,還是沒有任何看得見的機會。tony beshara說,你需要乙個端正的態度。tony是乙個獵頭公司的老闆,已經幹這一行超過30多年了。在他最近一本著作 找到乙個理想工作的終...