資料介紹
要點
1.為什么你會遇上這些bug?因為它們是你放的。
2.在TDD(測試驅動的開發)中,你會在一個嚴格的反饋循環中,開發測試與生產代碼。
3.TDD可能有助于避免惱人的Zune bug。
4.目標硬件瓶頸有多種形式,你可以在嚴格的TDD反饋循環中,用TDD來避開瓶頸。
5.TDD幫助你確保自己的代碼如期望那樣運行。但如果不是這樣,你該如何建立一個可靠的系統?
6.TDD快速地發現小的和大的邏輯錯誤,防止出現bug,使最終得到較少的bug。
我們的工作方式都是編寫代碼,然后努力讓它運行起來。先建立,然后改錯。測試是以后的事,即寫完代碼后才要做的事。在不可預期的調試工作上,大概要花掉我們一半的時間。在日程表上,調試工作都穿著測試與集成的外衣。它是風險與不確定性的一個來源。修正了一個bug可能會產生另一個bug,有時甚至是一連串的bug。
保持調試的統計有助于預測要花多少時間才能消除bug。你要度量和管理bug。看曲線的拐點,拐點表示了趨勢,告訴你最后修正的bug要比產生的多。拐點表示的是已經做的事,但你永遠不知道是否在代碼的某個陰暗角落還躲藏著其它的致命bug。
可制造性設計的一個方面是確定為什么你會有這些bug。答案很簡單:錯誤是我們放進去的。這就是我們的工作方式。在開發以后的測試時,就會發現問題(圖1和參考文獻1)。我們在開發時會制造錯誤,測試的工作就是找到這些問題。只要仔細地測試,就會發現錯誤。開發后的測試工作意味著必須找到、修復和管理大量的錯誤。

圖1,在開發以后做測試時,會發現缺陷
這種調試居后的編程程序是當今最常見的編程方式。先寫代碼,再調試它。調試居后的編程方式有風險。人都會犯錯誤。你既不能確定bug將在何時現身,也不能確定會花多長時間才能發現它們(圖2)。

圖2,人都會犯錯誤。你無法確定bug何時出現,以及要花多少時間才能找到它們
當發現一個bug的時間(TD)增加時,尋找bug根源的時間(TFIND)也會增加,通常增加得更多。如果從錯誤的引入到發現要花數小時、數天、數周,甚至數月時間,你已忘掉了當時的背景,必須開始做bug大掃蕩。當你在開發周期以外發現缺陷時,就必須管理bug。對于有些bug,發現的時間不會影響修復的時間(TFIX),但有些代碼的運行也可能依賴于bug,修改這些bug會造成其它bug。
短周期以及主動的測試自動化可節省時間和工作量。這時,你再不需要重復繁重而易錯的手工測試。有了測試自動化,重復測試幾乎不會增加額外工作量。測試自動化快速地探測出副作用,避免了對調試事務的需求。
1.為什么你會遇上這些bug?因為它們是你放的。
2.在TDD(測試驅動的開發)中,你會在一個嚴格的反饋循環中,開發測試與生產代碼。
3.TDD可能有助于避免惱人的Zune bug。
4.目標硬件瓶頸有多種形式,你可以在嚴格的TDD反饋循環中,用TDD來避開瓶頸。
5.TDD幫助你確保自己的代碼如期望那樣運行。但如果不是這樣,你該如何建立一個可靠的系統?
6.TDD快速地發現小的和大的邏輯錯誤,防止出現bug,使最終得到較少的bug。
我們的工作方式都是編寫代碼,然后努力讓它運行起來。先建立,然后改錯。測試是以后的事,即寫完代碼后才要做的事。在不可預期的調試工作上,大概要花掉我們一半的時間。在日程表上,調試工作都穿著測試與集成的外衣。它是風險與不確定性的一個來源。修正了一個bug可能會產生另一個bug,有時甚至是一連串的bug。
保持調試的統計有助于預測要花多少時間才能消除bug。你要度量和管理bug。看曲線的拐點,拐點表示了趨勢,告訴你最后修正的bug要比產生的多。拐點表示的是已經做的事,但你永遠不知道是否在代碼的某個陰暗角落還躲藏著其它的致命bug。
可制造性設計的一個方面是確定為什么你會有這些bug。答案很簡單:錯誤是我們放進去的。這就是我們的工作方式。在開發以后的測試時,就會發現問題(圖1和參考文獻1)。我們在開發時會制造錯誤,測試的工作就是找到這些問題。只要仔細地測試,就會發現錯誤。開發后的測試工作意味著必須找到、修復和管理大量的錯誤。

圖1,在開發以后做測試時,會發現缺陷
這種調試居后的編程程序是當今最常見的編程方式。先寫代碼,再調試它。調試居后的編程方式有風險。人都會犯錯誤。你既不能確定bug將在何時現身,也不能確定會花多長時間才能發現它們(圖2)。

圖2,人都會犯錯誤。你無法確定bug何時出現,以及要花多少時間才能找到它們
當發現一個bug的時間(TD)增加時,尋找bug根源的時間(TFIND)也會增加,通常增加得更多。如果從錯誤的引入到發現要花數小時、數天、數周,甚至數月時間,你已忘掉了當時的背景,必須開始做bug大掃蕩。當你在開發周期以外發現缺陷時,就必須管理bug。對于有些bug,發現的時間不會影響修復的時間(TFIX),但有些代碼的運行也可能依賴于bug,修改這些bug會造成其它bug。
短周期以及主動的測試自動化可節省時間和工作量。這時,你再不需要重復繁重而易錯的手工測試。有了測試自動化,重復測試幾乎不會增加額外工作量。測試自動化快速地探測出副作用,避免了對調試事務的需求。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式為什么選擇C語言作為開發語言?
- 嵌入式開發為什么選擇C語言作為開發語言?
- 什么是嵌入式開發?為什么用C語言作為開發語言?
- 嵌入式linux c語言,嵌入式LinuxC語言開發工具.pdf
- 嵌入式軟件之c語言編碼規范 28次下載
- 嵌入式底層開發為什么選擇C語言
- 嵌入式開發語言-C語言編程
- 嵌入式C語言-文件操用
- 嵌入式外中斷c語言代碼
- 嵌入式Linux與物聯網軟件開發C語言內核深度解析書籍的介紹
- C語言開發DSP嵌入式系統解析 1次下載
- 基于仿真的嵌入式C語言軟件覆蓋測試分析 0次下載
- 嵌入式c語言編程(由淺入深) 0次下載
- 如何用C語言開發DS嵌入式系統
- 如何用C 語言開發DSP 嵌入式系統
- vb語言和c++語言的區別 2431次閱讀
- 聊一聊嵌入式C語言 568次閱讀
- 嵌入式開發常見的C語言技巧與方法分享 1153次閱讀
- 用C語言構建高效的嵌入式程序 647次閱讀
- 如何使用MAXQ串行驅動器開發應用 902次閱讀
- C語言是怎么面向對象編程 1708次閱讀
- 嵌入式C語言知識點總結 2733次閱讀
- ?為什么嵌入式開發要選擇C語言? 1336次閱讀
- 學習嵌入式要先分清C語言和C++的區別 7682次閱讀
- 關于嵌入式C語言指針的解析 1127次閱讀
- 嵌入式系統C語言編程實戰教程合集 9481次閱讀
- C語言里如何編寫精確的微量延時 1686次閱讀
- Java開發員應該知道的十種測試框架庫 3037次閱讀
- 嵌入式C實現延時程序的不同變量的區別 幾種Linux嵌入式開發環境的簡單介紹 1673次閱讀
- 嵌入式Linux開發之C語言學習秘訣 9990次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論