一、查證問題確已被修復工具
若是遵循了「製造失敗」這條規則,就知道如何驗證你確實修復了問題。不管問題和修復看起來多麼明顯,你都沒法保證修復是有效的,直到作了測試並驗證。學習
二、查證確實你的修復措施解決了問題測試
若是你取消這個修復,系統再次出現失敗,再應用這個修復,問題消失,纔可以證實你確實修復了問題。這樣作的緣由是,在調試期間,每每會改變一些不屬於修復的地方,有時這些改變會隱藏問題,若是沒有意識到這一點,發現測試起做用了,就高高興興的回家了,由於你作的修復和問題消失毫無關係,所以修復方案到達客戶後,可能再次失敗甚至更糟! 可是這個也有例外,好比已經壞掉的硬件不須要再裝回去驗證。就像心臟手術中不須要把原來的心臟再裝回去驗證同樣。spa
三、要知道,bug不會自動消失設計
若是你不修復bug,它不會自動修復,也許看起來再也不發生了,可是它仍會發生。 好比隨機出現的bug,若是憑猜想修改了不少地方,或許碰巧修車成功了,或許只是把它隱藏起來了,但你並不知道怎麼解決的,下次發生時,你仍是毫無頭緒。版本控制
若是基於發佈,沒有時間追蹤隨機bug,也能夠在發佈的系統中進行插樁,當故障發生時,能夠捕獲一些信息,若是問題不發生,也不會有任何影響。這樣作的一個好處是,及時你沒法利用這些信息來修復問題,起碼讓客戶知道你認真跟蹤了問題,經過對客戶反饋的信息進行感謝,比向客戶說咱們從未遇到這個問題要好。調試
四、從根本解決問題文檔
若是一個硬件損壞了,不要簡單更換了事,若是其在某種狀況下會損壞,這樣只會給你換來一點時間,新的零件仍是會損壞。 好比,電路板上的電容耐壓值5V,可是你的系統峯值電壓偶爾會達到8V,那麼簡單更換電容後,它仍然會損壞,必須找到器件損壞的緣由,才能從根本解決,好比更換耐壓值爲16V的電容。產品
五、對過程進行修復硬件
有時修復系統和修復過程很難區分,有時bug隱藏在設計的過程當中,而不是產品中,這個方面涉及到了設置質量的問題。 好比一家生產車間的地板上有油滴,若是簡單的擦拭掉,過幾天還會出現,查找緣由後才發現,公司的產品使用兩個螺釘固定,當受到劇烈震動後,螺釘會鬆動致使漏油,所以必須修改設計,以確保產品在需求、設計和驗證正確考慮震動。
總結