經過專案水深火熱的過程與師傅的諄諄教導,下面總結一下專案問題除錯解決思路。
面對乙個系統級別軟硬體系統,當出現乙個問題的時候需要對自己進行靈魂拷問的狀態如下:
# debug解決方案(面向硬體)
0. 軟體問題or硬體問題?
首先這個問題是不是軟體可以規避的,從debug的時間成本,改動成本和收益來判斷。
1. 問題的出現是必然還是偶然的?
針對系統sw/hw出現的問題,需要先對問題出現的情況快速測試。
對於必然出現的問題,分析其工作流程定位root cause。
對比偶然性問題,通過一定數量的測試資料來找到容易出錯的part,分析其工作流程定位root cause。
2. 以最簡潔的方式來復現問題。
針對乙個已確認的問題,盡可能以更少的測試向量來做問題分析。
如去除冗餘的hw連線方式與簡化sw測試demo。
3. 以"確定/確保"的心態來找問題。
問題可能會出現在軟體/硬體任意一part,盡可能多的在除錯中找到與測試項有關的細節與研發同事溝通,協同定位問題。
必須避免"重新編譯一次或許就規避該問題"的方式。
4. 以找到`root cause`為目的進行測試,避免問題的測試項無法收斂。
# debug後測試方案
1. 對解決bug後的問題進行單一測試
當前問題現象有沒有重現,從概率,系統執行時間來綜合測試
2. 回歸測試
包括之前曾出現過的問題進行回歸測試,確保本次bug的修復不引發別的bug
3. 生產測試
全面的測試,作為出廠前的功能測試,確保所有測試向量的通過。
記錄一些工作上的事情
1.對於slot插入和拔出的時候,應該是連續成段的通知 基於slot的事件 各個關心該事件的模組,響應該事件,查詢並根據自己記錄的軟體資料,去寫晶元和繫結相關的硬體資料。2.對於單獨的埠有效,無效,up,down,切換狀態等事件,應該是基於每個埠傳送通知 基於埠的事件 本markdown編輯器使用s...
最近工作上的一些煩惱
去年在一家ota旅遊公司做旅遊業務相關的開發,一次偶然的機會決定離開上海入職一家硬體it行業做開發,抱著希望入職,大半年公司未有起色,內部管理層的鬥爭看在眼裡,領導換了又換,業務方向到現在還未定下來,越發覺得在這裡是讓費時間與生命,沒有技術上到積累 同時也是自己的鬆懈 與沉澱,職業方向有些迷失,所以...
工作上的一些總結,送給工作3 5年的朋友們,共勉
為什麼只送給工作3 5年的朋友呢?因為工作3 5年,基本上成為中層幹部,基本上已經脫貧,不用受到溫飽的限制,但是工作壓力和責任也大了起來,徘徊於為什麼要什麼拼命的工作,應不應該跳槽,或者跳槽還是自己創業。這時候,看看下面的話,也許會有些共鳴。人生和工作的關係 1 人一定要有目標,一定要想明白工作中追...