本文內容不能幫你直接解決問題,但是試圖去幫助更多人去系統有序地思考如何解決手頭的問題。對有心人它將很有用,對公司它是工作可延續的一份重要文檔。不過,這是一份個人自主總結的完全與公司沒有半毛錢關係的也不將對公司公開的私人的但是共享的目前還是草稿階段的文檔。【特此聲明】
一、 前言
問題無處不在,或大或小,或易或難,開發初始總是從一個坑踩到另一個坑,產品成型後緊接着BUG的修復,最後版本的迭代以至整個生命週期中都伴隨着各式各樣的問題。問題對於研發人員來說再平常不過,越到開發的後期,越是會出現系統性的不好解決的難題,因此可以說,一般的獨立開發者都是解決問題的能手,對他們來說出現問題是值得興奮的!
回憶過往,你會發現問題的複雜程度與引起問題點的複雜度沒有任何關係,反而與你解決問題的方法、測試手段甚至運氣有關,在解決問題的路上,最難纏的莫過於那些“偶發的難探測到”的問題而不是那些“難以追溯的問題”,所有“難追溯”的問題只要能夠復現,好比無限復活闖關遊戲一樣,必會通關。相反那些低概率事件需要更多時間成本,如果可探測性弱那會雪上加霜,所以,在難能可貴的“抓獲現場”必須要掌握一定的技巧,需要一些方法論的指導來提高解決問題的可能性和效率。
二、 故障排查
2.1 故障排查的基礎
-
熟練使用工具
示波器,萬用表等儀器,或者調試工具,循環測試工具等軟件工具。
適時定製相關軟硬件工具。如獨立計數器,測試上位機
-
熟悉目標系統
結構,電路,液路,氣路,業務流程
熟悉系統中已有的,也知道系統中沒有的。知識積澱當然是多多益善。
-
良好的心態
信心最重要,同時留有後招,在一種試驗即將進行的時候,對預判的任何結果都有後續措施,這樣能夠遊刃有餘,避免焦躁。
-
一定的策略和思辨力
這是獨立於技術之外的一些普遍規律。例如在同等可能性的選項中,驗證問題起因的順序是先易後難;溯源時候定位問題點時有可能用到二分法的思路;對比、類比無處不在,