心情著急還是平和,取決于Bug緊急程度。小編從業(yè)這么多年,“寫”出來的Bug有那么幾籮筐,幾乎各種各樣的情況都遇到過。通過解決這些Bug,也總結(jié)出來些個人的心得體會。
生產(chǎn)運行時的Bug,按嚴(yán)重程度分阻塞性和非阻塞兩種。非阻塞性問題,出現(xiàn)之后通常記錄下來,在測試環(huán)境中復(fù)現(xiàn),分析解決即可。阻塞性的問題,讓業(yè)務(wù)無法繼續(xù)開展,需要在盡可能短的時間內(nèi)解決,時間越短越好。這也是我今天下面要說的重點。
出現(xiàn)bug時必須保持頭腦冷靜,先找應(yīng)急方案,盡最大可能限制事態(tài)發(fā)展,再分析解決問題是最有效的手段。無論問題帶來的后果有多么嚴(yán)重,都暫且先放放。問題已成事實,快速響應(yīng),快速解決,盡可能避免損失,是不幸中的萬幸。
上面提到的快速處置方法屬于管理能力范疇,對技術(shù)人員來說,自然更關(guān)心快速解決具體問題的情況。
阻塞性的Bug,相關(guān)技術(shù)人員必須是立馬進(jìn)入戰(zhàn)斗狀態(tài)。通常情況下,我處理這類問題的流程是這樣的。首先詢問業(yè)務(wù)人員,與昨日相比,在業(yè)務(wù)操作層面是否有不同之處。其次詢問運維人員,與昨日相比,運行程序、配置文件、部署方式是否有改動之處。然后結(jié)合上述詢問結(jié)果,詢問測試人員,測試用例是否覆蓋了出現(xiàn)問題的場景。充分了解上述情況后,基本能判斷出造成問題的原因。
縮小問題范圍是解決問題的第一步。接下來根據(jù)推斷,重現(xiàn)問題才是解決問題的關(guān)鍵。坦白的講,能重現(xiàn)的Bug是最容易解決的。不能重現(xiàn)的Bug,大多超出了我們認(rèn)知,沒有外援協(xié)助,是無法解決的。
怎樣才能快速解決問題呢,平時又怎么樣針對性訓(xùn)練呢。小編自己的經(jīng)驗是吃透技術(shù)細(xì)節(jié)和掌握業(yè)務(wù)流程細(xì)節(jié)。
吃透技術(shù)細(xì)節(jié),一是把核心關(guān)鍵處理邏輯牢記在心。二是技術(shù)用熟不用生,沒有把握的慎用。
掌握業(yè)務(wù)流程細(xì)節(jié)這方面,僅能讓自己的單元測試覆蓋率更高這一點,就可避免大多數(shù)問題的發(fā)生。此外,根據(jù)業(yè)務(wù)細(xì)節(jié)也能讓我們給自己制定個B方案,留個退路。
寫在最后,事后復(fù)盤時是從能力和態(tài)度兩個方面著手。快速處置是能力,快速解決是能力。出現(xiàn)問題時,推卸責(zé)任是大忌,這是態(tài)度問題,也是批斗重點。