軟體除錯的生命週期

2021-08-30 01:34:09 字數 904 閱讀 8315

讀大學時候,很少coding,更不習慣除錯,嫌麻煩

工作後其實大部分都在除錯,最近看了些書,所講的軟體除錯過程大同小異

發現bug

記錄->重現bug->調查->提出修正方案->修改**->測試驗證->結束

跟瀑布模型一樣,各階段之間會迭代

發現和記錄不是除錯人員的工作

整個調查和解決過程才是軟體除錯的生命週期,關於除錯,有些有趣的觀點耐人尋味

「一旦我們開始程式設計,就會驚訝地發現讓程式正常沒想象中那麼簡單。除錯不可避免。那一刻我認記憶猶新,當時我就意識到,從今往後我生活的大部分時間都要花在尋找自己程式的錯誤上面了。」

(莫里斯•威爾克斯 除錯探索, 1949)

「除錯難度本來就是寫**的兩倍。因此,如果你寫**的時候聰明用盡,根據定義,你就沒有能耐去除錯它了。」

(brian kernighan,《c 程式語言》的作者之一)

「如果除錯是除蟲的過程,那麼程式設計就一定是把臭蟲放進來的過程。」

(edsger w. dijkstra)

1)bug發現的越晚,成本越高

2)花10%的時間coding,花90%的時間debugging

3)修bug跟補衣服差不多,越補越難看

4)越是後期發現的bug,越是難修

5)除錯的時候會發現新的bug,修改**後又帶來了新的bug

還有些頭疼的地方

6)test and debug,不停的測試與除錯,卻發現bug修不完

7) 如果使用者描述的bug不能再現怎麼辦

8) bug不是很嚴重,但是要除錯和測試,在環境搭建方面很困難,該不該修

9)修乙個bug,不論簡單與否,都要有白盒測試,黑盒測試,功能測試,回歸測試,這麼麻煩

10)如果bug修不了或者風險太大,有迴避方法還好,如果沒有怎麼辦?

......

軟體生命週期

軟體生命週期 三個過程 定義,開發,維護 九個階段 可行性研究 需求分析,概要設計 詳細設計 編碼與單元測試 整合測試 驗收測試,執行與維護 退役。可行性研究 系統分析人員在使用者的配合下對使用者的要求和現有的環境及條件進行深入調查寫出調研報告,從技術可行性,經濟可行性,法律可行性,操作可行性等方面...

軟體生命週期

同任何事物一樣,乙個軟體產品或軟體系統也要經歷孕育 誕生 成長 成熟 衰亡等階段,一般稱為軟體生存週期 軟體生命週期 把整個軟體生存週期劃分為若干階段,使得每個階段有明確的任務,使規模大,結構複雜和管理複雜的軟體開發變的容易控制和管理。通常,軟體生存週期包括可行性分析與開發項計畫 需求分析 設計 概...

軟體生命週期

軟體有乙個孕育 誕生 成長 成熟和衰亡的生成過程。這個過程即為軟體的生命週期 軟體生存期的六個步驟為 1.制定計畫 2.需求分析 3.設計 4.程式編碼 5.測試 6.執行與維護 確定要開發軟體系統的總目標 給出功能 效能 可靠性以及介面等方面的要求 完成該任務的可行性研究 估計可利用的資源 硬體 ...