日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
不得不說(shuō)的12個(gè)單元測(cè)試秘籍和實(shí)踐

摘要:這篇文章介紹了對(duì)單元測(cè)試的最常見(jiàn)的誤解,并給出誤解所對(duì)應(yīng)的事實(shí)的相關(guān)信息。

成都創(chuàng)新互聯(lián)專注于零陵企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城開(kāi)發(fā)。零陵網(wǎng)站建設(shè)公司,為零陵等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

如今,單元測(cè)試雖然得到廣泛地應(yīng)用,但是仍然存在某些誤解。對(duì)于仍然看不到單元測(cè)試優(yōu)點(diǎn)的開(kāi)發(fā)人員,以及無(wú)法使自己確信進(jìn)行單元測(cè)試是值得的項(xiàng)目經(jīng)理來(lái)說(shuō),單元測(cè)試依然受到質(zhì)疑。在下面的文章中,我們將介紹一些單元測(cè)試的迷思和與這些迷思對(duì)應(yīng)的最常見(jiàn)到的一些事實(shí)。

迷思1:?jiǎn)卧獪y(cè)試使得更改變得更加困難

事實(shí)卻是相反的。進(jìn)行單元測(cè)試的***優(yōu)點(diǎn)之一就是能夠?qū)Υa進(jìn)行大型修改,然后立即對(duì)所做更改進(jìn)行正確性測(cè)試。進(jìn)行代碼修改,后來(lái)才意識(shí)到軟件的其他部分受到了影響,接下來(lái)試圖隔離出引起問(wèn)題的代碼,這不單單使得代碼的更改更加困難,也讓開(kāi)發(fā)人員恐懼更改代碼。

事實(shí)是:單元測(cè)試使得代碼更改更加容易,而且也讓開(kāi)發(fā)人員毫無(wú)顧慮地修改代碼。一遍,兩遍等等。能對(duì)代碼修改是人們選擇進(jìn)行單元測(cè)試的***的理由之一。

迷思2 :單元測(cè)試減慢了開(kāi)發(fā)過(guò)程

進(jìn)行單元測(cè)試一開(kāi)始會(huì)讓開(kāi)發(fā)過(guò)程慢一點(diǎn),然而事實(shí)是這么做反而節(jié)省了時(shí)間:它在開(kāi)發(fā)過(guò)程繼續(xù)進(jìn)行之前就防止了錯(cuò)誤,并識(shí)別出錯(cuò)誤出現(xiàn)的地方。而且單元測(cè)試也使得開(kāi)發(fā)人員對(duì)自己已經(jīng)完成的工作更加有信心,這樣就會(huì)掃清開(kāi)發(fā)過(guò)程中出現(xiàn)的障礙??v觀整個(gè)開(kāi)發(fā)過(guò)程,進(jìn)行單元測(cè)試最終會(huì)使得總體花費(fèi)時(shí)間會(huì)更短。

事實(shí)是:像任何一種新工具一樣,習(xí)慣進(jìn)行單元測(cè)試也需要一點(diǎn)時(shí)間,不過(guò),總的來(lái)說(shuō),進(jìn)行單元測(cè)試可以節(jié)省時(shí)間,同時(shí)浪費(fèi)的時(shí)間也會(huì)縮短。實(shí)際上,進(jìn)行回歸測(cè)試可以持續(xù)不斷地推進(jìn)開(kāi)發(fā)過(guò)程,并且不會(huì)有任何擔(dān)心。假若在日常構(gòu)建時(shí)進(jìn)行單元測(cè)試,那么這樣的測(cè)試是不會(huì)占用開(kāi)發(fā)時(shí)間的。

迷思3:?jiǎn)卧獪y(cè)試讓開(kāi)發(fā)人員遠(yuǎn)離代碼

這是很顯然的誤解。正是開(kāi)發(fā)人員才能幫助設(shè)計(jì)測(cè)試程序。這就意味著開(kāi)發(fā)人員需要更加深入的了解代碼功能,而且要對(duì)整個(gè)程序中的更小單元的功能負(fù)更多地責(zé)任。在我們查看整個(gè)程序的時(shí)候,有時(shí)候很容易忽視函數(shù)和過(guò)程,然而,有了單元測(cè)試,我們就不會(huì)對(duì)函數(shù)和過(guò)程視而不見(jiàn)了。

事實(shí)是:與其他方法相比,單元測(cè)試要求開(kāi)發(fā)人員不僅僅要看得懂代碼和代碼的意圖,而且要明了各種測(cè)試條件,輸入和輸出,這樣就可以測(cè)試出在其他測(cè)試條件下可能未測(cè)出的功能。正是進(jìn)行了單元測(cè)試,我們才會(huì)更加關(guān)注函數(shù)和過(guò)程。

迷思4:?jiǎn)卧獪y(cè)試使得文檔編寫(xiě)更加困難

單元測(cè)試不但不會(huì)使文檔的編寫(xiě)更加困難,而且會(huì)讓文檔的編寫(xiě)更加細(xì)致,這不是壞事。沒(méi)有人真正喜歡編寫(xiě)文檔,不過(guò)單元測(cè)試使得編寫(xiě)文檔不再那么費(fèi)勁。開(kāi)發(fā)人員發(fā)現(xiàn)在進(jìn)行單元測(cè)試的時(shí)候編寫(xiě)文檔會(huì)更加容易一些,此時(shí)編寫(xiě)文檔是對(duì)單元測(cè)試中各個(gè)過(guò)程和函數(shù)的反思。

事實(shí)是:可以把單元測(cè)試的結(jié)構(gòu)和劃分重復(fù)應(yīng)用到問(wèn)答給你編寫(xiě)中,這樣你將不僅僅可以編寫(xiě)出更高質(zhì)量的文檔,而且編寫(xiě)文檔會(huì)更加容易,更加舒服了。有一些開(kāi)發(fā)人員把產(chǎn)品的藍(lán)圖做為創(chuàng)建單元測(cè)試的啟發(fā)點(diǎn),同樣可以把他們看作編寫(xiě)文檔的框架。

迷思5:一旦項(xiàng)目結(jié)束,那么投入到單元測(cè)試上的工作就廢掉了

完全不是這樣的。如果你曾經(jīng)重用過(guò)代碼,那么你將會(huì)意識(shí)到你所做的一切都是資產(chǎn)。
事實(shí)是:在你在一個(gè)項(xiàng)目中采用了以前為另一個(gè)項(xiàng)目寫(xiě)的代碼,或者對(duì)這段代碼進(jìn)行編輯的時(shí)候,你可以采用相同的單元測(cè)試,也可以對(duì)這些單元測(cè)試進(jìn)行編輯。在同一個(gè)項(xiàng)目中使用相似的測(cè)試代碼段也是沒(méi)有問(wèn)題的。

迷思6:?jiǎn)卧獪y(cè)試就是浪費(fèi)時(shí)間

你要弄明白什么才是浪費(fèi)時(shí)間?

  • 一而再再而三地修改同樣的漏洞

  • 在整個(gè)開(kāi)發(fā)過(guò)程中編寫(xiě)或者重寫(xiě)驗(yàn)證代碼

  • 修補(bǔ)了一個(gè)漏洞,不料在其他地方莫名其妙地出現(xiàn)另一個(gè)漏洞

  • 在編寫(xiě)代碼期間被意外打斷,完全不知道該怎么辦

拒絕進(jìn)行單元測(cè)試是可以理解的,不過(guò)許多開(kāi)發(fā)人員只有在使用單元測(cè)試完成一個(gè)項(xiàng)目以后,他們才會(huì)稱贊單元測(cè)試多么的好。

事實(shí)是:你只需編寫(xiě)單元測(cè)試一次,但可多次運(yùn)行。這與你對(duì)其他代碼的修改沒(méi)有任何關(guān)系。一開(kāi)始進(jìn)行的投入會(huì)得到長(zhǎng)期的回報(bào)。

迷思7:這段代碼已經(jīng)非常簡(jiǎn)單了,為什么還要編寫(xiě)測(cè)試代碼呢?

代碼似乎很簡(jiǎn)單,然而直到出現(xiàn)問(wèn)題的時(shí)候,此時(shí)事情就不再那么簡(jiǎn)單了。編寫(xiě)單元測(cè)試,甚至為簡(jiǎn)單代碼編寫(xiě)單元測(cè)試,毫無(wú)疑問(wèn)可以增加項(xiàng)目的穩(wěn)定性和安全性。

事實(shí)是:簡(jiǎn)單的代碼需要簡(jiǎn)單地測(cè)試,不要找什么借口。

迷思8:只有在許多人進(jìn)行開(kāi)發(fā)的時(shí)候才需要進(jìn)行單元測(cè)試

在有許多開(kāi)發(fā)人員進(jìn)行開(kāi)發(fā)的時(shí)候進(jìn)行單元測(cè)試是一個(gè)很好的策略。然而由于只有一個(gè)開(kāi)發(fā)人員而不進(jìn)行單元測(cè)試則顯然是個(gè)錯(cuò)誤。在許多開(kāi)發(fā)人員開(kāi)發(fā)時(shí)進(jìn)行單元測(cè)試所能帶來(lái)的要好處也適宜于單個(gè)開(kāi)發(fā)人員。

事實(shí)是:單元測(cè)試對(duì)一個(gè)人組成的團(tuán)隊(duì)的幫助同隊(duì)50個(gè)人組成的團(tuán)隊(duì)一樣多。而且從資產(chǎn)保護(hù)的角度看,讓單個(gè)人掌握所有的東西甚至?xí)案蟮娘L(fēng)險(xiǎn)。

迷思9:?jiǎn)卧獪y(cè)試對(duì)程序調(diào)試沒(méi)有任何幫助,或者說(shuō)不能防止漏洞的出現(xiàn)

絕對(duì)不是這樣的。單元測(cè)試可以讓程序調(diào)試更加簡(jiǎn)單,因?yàn)檫@樣你就可以把精力集中在有問(wèn)題的代碼上,修補(bǔ)問(wèn)題,接著再重新合并修改后代碼。在增加功能的時(shí)候,它還可以防止引入漏洞,尤其在使用面向?qū)ο蠓椒ň幊痰臅r(shí)候,它還可以阻止問(wèn)題令人非常沮喪地反復(fù)出現(xiàn)。單元測(cè)試不能確保100%的排除漏洞,不過(guò)它卻是減少漏洞的好方法。

事實(shí)是:單元測(cè)試雖然不能解決你調(diào)試過(guò)程中遇到的所有問(wèn)題,但是在你發(fā)現(xiàn)漏洞的時(shí)候,單元測(cè)試中相互隔離的代碼可以讓漏洞的修補(bǔ)更加容易。根據(jù)開(kāi)發(fā)人員中單元測(cè)試的鐵桿粉絲所說(shuō),進(jìn)行單元測(cè)試的***好處就是讓程序的調(diào)試非常容易了,簡(jiǎn)單了。

迷思10:?jiǎn)卧獪y(cè)試讓你采用的編碼方式有重大改變

編碼方式有重大改變?是的。編碼方式更好了?是的。哪些非常依賴全局變量和單例模式進(jìn)行編程的開(kāi)發(fā)人員發(fā)現(xiàn)他們編寫(xiě)的代碼是緊耦合的。如果要對(duì)代碼進(jìn)行測(cè)試,那么代碼必須與數(shù)據(jù)是松耦合的,單例模式不適合這種場(chǎng)合。大多數(shù)情況下,使用全局變量和單例模式的編碼不是***的。如果測(cè)試是開(kāi)發(fā)人員為了追求更好的編碼方式而作更改的原因,那么為什么不這么做呢。

事實(shí)是:使用單例模式***的好處就是它解決了資源競(jìng)爭(zhēng)問(wèn)題,這種情況可能你極少遇到,比如進(jìn)行日志處理的時(shí)候。在其他情況下,單例模式編程只是一種老的編程習(xí)慣,益處非常少,而且會(huì)讓代碼的測(cè)試極度困難。

迷思11:使用單元測(cè)試進(jìn)行程序調(diào)試覆蓋不全面

這僅僅是因?yàn)槟悴荒軐?duì)整個(gè)代碼進(jìn)行調(diào)試,但這并不意味著調(diào)試覆蓋不全面。使用單元測(cè)試進(jìn)行程序調(diào)試至少比其他類型的調(diào)試效果好。事實(shí)上,單元測(cè)試有一個(gè)非常突出的優(yōu)點(diǎn)是:(如果不是大大地刪除,那么就是)大大地減少匯報(bào)上面我所提到的漏洞的數(shù)量。在開(kāi)發(fā)和調(diào)試程序的時(shí)候,重現(xiàn)漏洞是一個(gè)令人非常沮喪的事情。通過(guò)單元測(cè)試,你可以在增加、修改和刪除功能的時(shí)候減少引入新漏洞的頻率。調(diào)試從來(lái)都是“全覆蓋的”,尤其是在程序運(yùn)行的設(shè)備或者系統(tǒng)差異非常大的時(shí)候。

事實(shí)是:特別是在處理漏洞的時(shí)候,單元測(cè)試可以確保能找到從來(lái)都沒(méi)有匯報(bào)過(guò)的漏洞。而且在你進(jìn)行程序調(diào)試的時(shí)候,你不需要查看全部代碼,只需要修改出現(xiàn)漏洞的地方。

迷思12:?jiǎn)卧獪y(cè)試增加了開(kāi)發(fā)費(fèi)用

能讓***秀的開(kāi)發(fā)人員落淚的事情是進(jìn)行代碼更改。項(xiàng)目經(jīng)理,總經(jīng)理(CEO),財(cái)務(wù)總監(jiān)(CFO)和其他高級(jí)管理人員為了讓項(xiàng)目盈利,他們說(shuō)出自己的想法,然后算出后期的開(kāi)發(fā)費(fèi)用。在你為了盈利而付出實(shí)實(shí)在在的努力的情況下,管理人員卻要求立即進(jìn)行大的修改或者決定拋棄這幾個(gè)月的工作,因?yàn)樗麄儼l(fā)現(xiàn)這個(gè)功能沒(méi)有什么市場(chǎng)。管理人員想讓一個(gè)產(chǎn)品真正的賺錢(qián),那么有時(shí)候這就意味著要進(jìn)行大型修改或者要快速地進(jìn)行大量的工作重心的轉(zhuǎn)移。

事實(shí)是:通過(guò)降低進(jìn)行大型修改的難度,開(kāi)發(fā)人員可以更靈活地滿足產(chǎn)品需求,這也會(huì)增加產(chǎn)品經(jīng)濟(jì)上成功的機(jī)會(huì)。編寫(xiě)可無(wú)缺陷運(yùn)行且優(yōu)美的代碼是令人欽佩的,更好的情況是它能獲得經(jīng)濟(jì)上的回報(bào)。

雖然對(duì)單元測(cè)試有許多誤解,但是對(duì)軟件的測(cè)試依然受到高度關(guān)注。這里羅列了單元測(cè)試的12個(gè)迷思和對(duì)應(yīng)的事實(shí);希望你能以這些事實(shí)為鑒,以便以后能夠更有效地進(jìn)行單元測(cè)試。

英文原文:12 Unit Testing Myths and Practices


網(wǎng)頁(yè)標(biāo)題:不得不說(shuō)的12個(gè)單元測(cè)試秘籍和實(shí)踐
標(biāo)題鏈接:http://m.5511xx.com/article/cojhceo.html