資料介紹
要點(diǎn)
1.為什么你會(huì)遇上這些bug?因?yàn)樗鼈兪悄惴诺摹?br /> 2.在TDD(測試驅(qū)動(dòng)的開發(fā))中,你會(huì)在一個(gè)嚴(yán)格的反饋循環(huán)中,開發(fā)測試與生產(chǎn)代碼。
3.TDD可能有助于避免惱人的Zune bug。
4.目標(biāo)硬件瓶頸有多種形式,你可以在嚴(yán)格的TDD反饋循環(huán)中,用TDD來避開瓶頸。
5.TDD幫助你確保自己的代碼如期望那樣運(yùn)行。但如果不是這樣,你該如何建立一個(gè)可靠的系統(tǒng)?
6.TDD快速地發(fā)現(xiàn)小的和大的邏輯錯(cuò)誤,防止出現(xiàn)bug,使最終得到較少的bug。
我們的工作方式都是編寫代碼,然后努力讓它運(yùn)行起來。先建立,然后改錯(cuò)。測試是以后的事,即寫完代碼后才要做的事。在不可預(yù)期的調(diào)試工作上,大概要花掉我們一半的時(shí)間。在日程表上,調(diào)試工作都穿著測試與集成的外衣。它是風(fēng)險(xiǎn)與不確定性的一個(gè)來源。修正了一個(gè)bug可能會(huì)產(chǎn)生另一個(gè)bug,有時(shí)甚至是一連串的bug。
保持調(diào)試的統(tǒng)計(jì)有助于預(yù)測要花多少時(shí)間才能消除bug。你要度量和管理bug。看曲線的拐點(diǎn),拐點(diǎn)表示了趨勢,告訴你最后修正的bug要比產(chǎn)生的多。拐點(diǎn)表示的是已經(jīng)做的事,但你永遠(yuǎn)不知道是否在代碼的某個(gè)陰暗角落還躲藏著其它的致命bug。
可制造性設(shè)計(jì)的一個(gè)方面是確定為什么你會(huì)有這些bug。答案很簡單:錯(cuò)誤是我們放進(jìn)去的。這就是我們的工作方式。在開發(fā)以后的測試時(shí),就會(huì)發(fā)現(xiàn)問題(圖1和參考文獻(xiàn)1)。我們?cè)陂_發(fā)時(shí)會(huì)制造錯(cuò)誤,測試的工作就是找到這些問題。只要仔細(xì)地測試,就會(huì)發(fā)現(xiàn)錯(cuò)誤。開發(fā)后的測試工作意味著必須找到、修復(fù)和管理大量的錯(cuò)誤。
圖1,在開發(fā)以后做測試時(shí),會(huì)發(fā)現(xiàn)缺陷
這種調(diào)試居后的編程程序是當(dāng)今最常見的編程方式。先寫代碼,再調(diào)試它。調(diào)試居后的編程方式有風(fēng)險(xiǎn)。人都會(huì)犯錯(cuò)誤。你既不能確定bug將在何時(shí)現(xiàn)身,也不能確定會(huì)花多長時(shí)間才能發(fā)現(xiàn)它們(圖2)。
圖2,人都會(huì)犯錯(cuò)誤。你無法確定bug何時(shí)出現(xiàn),以及要花多少時(shí)間才能找到它們
當(dāng)發(fā)現(xiàn)一個(gè)bug的時(shí)間(TD)增加時(shí),尋找bug根源的時(shí)間(TFIND)也會(huì)增加,通常增加得更多。如果從錯(cuò)誤的引入到發(fā)現(xiàn)要花數(shù)小時(shí)、數(shù)天、數(shù)周,甚至數(shù)月時(shí)間,你已忘掉了當(dāng)時(shí)的背景,必須開始做bug大掃蕩。當(dāng)你在開發(fā)周期以外發(fā)現(xiàn)缺陷時(shí),就必須管理bug。對(duì)于有些bug,發(fā)現(xiàn)的時(shí)間不會(huì)影響修復(fù)的時(shí)間(TFIX),但有些代碼的運(yùn)行也可能依賴于bug,修改這些bug會(huì)造成其它bug。
短周期以及主動(dòng)的測試自動(dòng)化可節(jié)省時(shí)間和工作量。這時(shí),你再不需要重復(fù)繁重而易錯(cuò)的手工測試。有了測試自動(dòng)化,重復(fù)測試幾乎不會(huì)增加額外工作量。測試自動(dòng)化快速地探測出副作用,避免了對(duì)調(diào)試事務(wù)的需求。
1.為什么你會(huì)遇上這些bug?因?yàn)樗鼈兪悄惴诺摹?br /> 2.在TDD(測試驅(qū)動(dòng)的開發(fā))中,你會(huì)在一個(gè)嚴(yán)格的反饋循環(huán)中,開發(fā)測試與生產(chǎn)代碼。
3.TDD可能有助于避免惱人的Zune bug。
4.目標(biāo)硬件瓶頸有多種形式,你可以在嚴(yán)格的TDD反饋循環(huán)中,用TDD來避開瓶頸。
5.TDD幫助你確保自己的代碼如期望那樣運(yùn)行。但如果不是這樣,你該如何建立一個(gè)可靠的系統(tǒng)?
6.TDD快速地發(fā)現(xiàn)小的和大的邏輯錯(cuò)誤,防止出現(xiàn)bug,使最終得到較少的bug。
我們的工作方式都是編寫代碼,然后努力讓它運(yùn)行起來。先建立,然后改錯(cuò)。測試是以后的事,即寫完代碼后才要做的事。在不可預(yù)期的調(diào)試工作上,大概要花掉我們一半的時(shí)間。在日程表上,調(diào)試工作都穿著測試與集成的外衣。它是風(fēng)險(xiǎn)與不確定性的一個(gè)來源。修正了一個(gè)bug可能會(huì)產(chǎn)生另一個(gè)bug,有時(shí)甚至是一連串的bug。
保持調(diào)試的統(tǒng)計(jì)有助于預(yù)測要花多少時(shí)間才能消除bug。你要度量和管理bug。看曲線的拐點(diǎn),拐點(diǎn)表示了趨勢,告訴你最后修正的bug要比產(chǎn)生的多。拐點(diǎn)表示的是已經(jīng)做的事,但你永遠(yuǎn)不知道是否在代碼的某個(gè)陰暗角落還躲藏著其它的致命bug。
可制造性設(shè)計(jì)的一個(gè)方面是確定為什么你會(huì)有這些bug。答案很簡單:錯(cuò)誤是我們放進(jìn)去的。這就是我們的工作方式。在開發(fā)以后的測試時(shí),就會(huì)發(fā)現(xiàn)問題(圖1和參考文獻(xiàn)1)。我們?cè)陂_發(fā)時(shí)會(huì)制造錯(cuò)誤,測試的工作就是找到這些問題。只要仔細(xì)地測試,就會(huì)發(fā)現(xiàn)錯(cuò)誤。開發(fā)后的測試工作意味著必須找到、修復(fù)和管理大量的錯(cuò)誤。
圖1,在開發(fā)以后做測試時(shí),會(huì)發(fā)現(xiàn)缺陷
這種調(diào)試居后的編程程序是當(dāng)今最常見的編程方式。先寫代碼,再調(diào)試它。調(diào)試居后的編程方式有風(fēng)險(xiǎn)。人都會(huì)犯錯(cuò)誤。你既不能確定bug將在何時(shí)現(xiàn)身,也不能確定會(huì)花多長時(shí)間才能發(fā)現(xiàn)它們(圖2)。
圖2,人都會(huì)犯錯(cuò)誤。你無法確定bug何時(shí)出現(xiàn),以及要花多少時(shí)間才能找到它們
當(dāng)發(fā)現(xiàn)一個(gè)bug的時(shí)間(TD)增加時(shí),尋找bug根源的時(shí)間(TFIND)也會(huì)增加,通常增加得更多。如果從錯(cuò)誤的引入到發(fā)現(xiàn)要花數(shù)小時(shí)、數(shù)天、數(shù)周,甚至數(shù)月時(shí)間,你已忘掉了當(dāng)時(shí)的背景,必須開始做bug大掃蕩。當(dāng)你在開發(fā)周期以外發(fā)現(xiàn)缺陷時(shí),就必須管理bug。對(duì)于有些bug,發(fā)現(xiàn)的時(shí)間不會(huì)影響修復(fù)的時(shí)間(TFIX),但有些代碼的運(yùn)行也可能依賴于bug,修改這些bug會(huì)造成其它bug。
短周期以及主動(dòng)的測試自動(dòng)化可節(jié)省時(shí)間和工作量。這時(shí),你再不需要重復(fù)繁重而易錯(cuò)的手工測試。有了測試自動(dòng)化,重復(fù)測試幾乎不會(huì)增加額外工作量。測試自動(dòng)化快速地探測出副作用,避免了對(duì)調(diào)試事務(wù)的需求。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式為什么選擇C語言作為開發(fā)語言?
- 嵌入式開發(fā)為什么選擇C語言作為開發(fā)語言?
- 什么是嵌入式開發(fā)?為什么用C語言作為開發(fā)語言?
- 嵌入式linux c語言,嵌入式LinuxC語言開發(fā)工具.pdf
- 嵌入式軟件之c語言編碼規(guī)范 28次下載
- 嵌入式底層開發(fā)為什么選擇C語言
- 嵌入式開發(fā)語言-C語言編程
- 嵌入式C語言-文件操用
- 嵌入式外中斷c語言代碼
- 嵌入式Linux與物聯(lián)網(wǎng)軟件開發(fā)C語言內(nèi)核深度解析書籍的介紹
- C語言開發(fā)DSP嵌入式系統(tǒng)解析 1次下載
- 基于仿真的嵌入式C語言軟件覆蓋測試分析 0次下載
- 嵌入式c語言編程(由淺入深) 0次下載
- 如何用C語言開發(fā)DS嵌入式系統(tǒng)
- 如何用C 語言開發(fā)DSP 嵌入式系統(tǒng)
- vb語言和c++語言的區(qū)別 1480次閱讀
- 聊一聊嵌入式C語言 433次閱讀
- 嵌入式開發(fā)常見的C語言技巧與方法分享 864次閱讀
- 用C語言構(gòu)建高效的嵌入式程序 498次閱讀
- 如何使用MAXQ串行驅(qū)動(dòng)器開發(fā)應(yīng)用 749次閱讀
- C語言是怎么面向?qū)ο缶幊?/a> 1484次閱讀
- 嵌入式C語言知識(shí)點(diǎn)總結(jié) 2575次閱讀
- ?為什么嵌入式開發(fā)要選擇C語言? 1261次閱讀
- 學(xué)習(xí)嵌入式要先分清C語言和C++的區(qū)別 7564次閱讀
- 關(guān)于嵌入式C語言指針的解析 1041次閱讀
- 嵌入式系統(tǒng)C語言編程實(shí)戰(zhàn)教程合集 9264次閱讀
- C語言里如何編寫精確的微量延時(shí) 1614次閱讀
- Java開發(fā)員應(yīng)該知道的十種測試框架庫 2974次閱讀
- 嵌入式C實(shí)現(xiàn)延時(shí)程序的不同變量的區(qū)別 幾種Linux嵌入式開發(fā)環(huán)境的簡單介紹 1566次閱讀
- 嵌入式Linux開發(fā)之C語言學(xué)習(xí)秘訣 9951次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多