Bug產生原因的深入分析

2021-09-13 03:34:26 字數 909 閱讀 4378

一、前後端使用架構導致

前端使用es7+react+node使用,在開發方面增大了工作量:

後端屬於大資料基礎上做各種條件篩選,在具體實現上採用了「重記憶體」方案,即:

1、將資料定時更新到記憶體中;

2、在記憶體中做多條件的篩選;

帶來的問題就是:

1、 fullgc問題 導致需要大記憶體伺服器;

2、定時資料更新機制,常常發現乙個介面多次篩選返回的資料不一致;

二、開發人員經驗問題/思維嚴謹性導致

此類問題和經驗、或每個開發人員的合作、做事風格有很大的關係,具體問題包括:

1、前後端預設引數約定

2、前端傳參

3、需求點沒有實現

4、「顯而易見」的主功能沒有實現

三、業務特點導致

四、測試人員的經驗缺乏導致

這裡不必多說了,測試方案制定的完整性和深度,甚至測試執行層面的經驗,都決定了究竟有多少bug可以被暴露出來了。

五、迭代週期不合理導致

這裡涉及團隊所有成員對迭代速度和規模的接受程度了。乙個過度追求迭代速度的團隊,整體上會犧牲一些產品質量了。

六、上下游業務嚴重耦合導致

這裡舉乙個實際的使用者實際使用場景先後涉及的業務方:

在這裡業務a與業務b嚴重耦合起來了,導致在實際的專案中,測試業務a的同學常常非常被動:

在若干次反反覆覆的迭代中,記憶猶新的一件事情: 業務b修改了某個邏輯,結果出現了線上故障,卻反過來問業務a的同學,為什麼沒有發現。這種哭笑不得的場景,或許是最為嚴重、切業務方不可控的因素了。經過反反覆覆的「血淚史」後,終於在一次架構調整中,把業務a歸併到了業務b中了。

IsPostBack深入分析

1 ispostback 介紹 ispostback是 page類有乙個 bool型別的屬性,用來判斷針對當前 form的請求是第一次還是非第一次請求。當 ispostback true時表示非第一次請求,我們稱為 postback,當 ispostback false時表示第一次請求。在 asp....

深入分析ConcurrentHashMap

再多執行緒的情況下,如果使用hashmap,就會導致死迴圈,導致cpu利用率接近100 所以如果是併發的情況不要使用hashmap 導致死迴圈主要是這段 當在多執行緒的情況由於沒有同步導致,著段 在擴容的時候會執行 do while e null 執行緒安全的hashtable 容器 hashtab...

深入分析malloc

本文大量參考了如何實現乙個malloc這篇文章。任何乙個用過或學過c的人對malloc都不會陌生。大家都知道malloc可以分配一段連續的記憶體空間,並且在不再使用時可以通過free釋放掉。但是,許多程式設計師對malloc背後的事情並不熟悉,許多人甚至把malloc當做作業系統所提供的系統呼叫或c...