- 相關(guān)推薦
軟件開(kāi)發(fā)中測試驅動(dòng)開(kāi)發(fā)的運用
在軟件工程領(lǐng)域,軟件開(kāi)發(fā)過(guò)程 刻畫(huà)了一個(gè)工程從起始到結束,如何進(jìn)行計劃、控制以及監控的過(guò)程。目前在大多數的軟件開(kāi)發(fā)中,各大公司采用的仍是傳統的瀑布模型。下面是小編搜集整理的相關(guān)內容的論文,歡迎大家閱讀參考。
摘要:在極限編程中極具特色的一個(gè)原則就是測試驅動(dòng)開(kāi)發(fā),作為一種新的思潮正在被越來(lái)越多的人所接受,它在軟件開(kāi)發(fā)過(guò)程中所表現出來(lái)的積極作用是不言而喻的。測試驅動(dòng)開(kāi)發(fā)的方法能夠在保證功能測試的前提下,也能夠成為設計的一部分。整個(gè)開(kāi)發(fā)過(guò)程的驅動(dòng)力就是以測試驅動(dòng)開(kāi)發(fā)為基礎,能夠在很大程度上提高代碼質(zhì)量,改善開(kāi)發(fā)設計過(guò)程,從而在根本上提高了產(chǎn)品的質(zhì)量。
關(guān)鍵詞:測試驅動(dòng)開(kāi)發(fā);軟件開(kāi)發(fā);積極作用
隨著(zhù)時(shí)代的發(fā)展,計算機軟件的發(fā)展變得尤為迅速,與之對應的問(wèn)題是用戶(hù)對軟件的質(zhì)量要求也越來(lái)越高。為了能夠及時(shí)交付給用戶(hù)一個(gè)滿(mǎn)意的軟件,軟件開(kāi)發(fā)人員往往需要投入到高效的軟件開(kāi)發(fā)過(guò)程。然而現實(shí)情況則是傳統的軟件工程方法已經(jīng)變得不再適用于當今的軟件開(kāi)發(fā),而最近剛剛興起的一些軟件開(kāi)發(fā)過(guò)程的技術(shù)正好值得我們借鑒和學(xué)習。其中就包括我們今天要討論的測試驅動(dòng)開(kāi)發(fā),它作為一個(gè)最基礎的技術(shù)能夠提供給我們一些相對高效的軟件過(guò)程開(kāi)發(fā)方法。
一、測試驅動(dòng)開(kāi)發(fā)的相關(guān)環(huán)節
1.1原理和過(guò)程測試
驅動(dòng)開(kāi)發(fā)的原理就是應該在明確要開(kāi)發(fā)某個(gè)功能后,進(jìn)行構思并決定如何設計測試代碼的過(guò)程,從而根據用戶(hù)的需求編寫(xiě)出功能代碼滿(mǎn)足這些測試用例。接下來(lái)可以循環(huán)的進(jìn)行添加其他功能,最后能夠完成全部功能的開(kāi)發(fā)。其中的基本過(guò)程包括:明確當前需要完成的功能;需要在保證速度的前提下編寫(xiě)測試用例;編寫(xiě)對應的功能代碼;保證測試能夠通過(guò)的方法就是重構代碼。我們通常在運用了測試框架的前提下,進(jìn)行組織所有的測試用例,從而保證了整個(gè)測試過(guò)程的高效和便捷。
1.2原則要求
為了保證能分清需要檢測的各類(lèi)代碼,不同代碼的的測試之間應該相互隔離,為了避免去考慮許多的無(wú)關(guān)細節而增加復雜度,所以我們在相關(guān)代碼的測試中一般只考慮該代碼的測試,而不去考慮它的現實(shí)細節。在實(shí)際情況中,經(jīng)常出現的功能點(diǎn)需要我們去測試,在任意階段中如果我們想要添加功能需求問(wèn)題時(shí),我們能夠把相關(guān)功能點(diǎn)添加到測試列表的操作方法從而避免不必要的麻煩,從而不斷地完成對應的測試實(shí)例、重構和功能代碼。這是為了避免疏漏,同時(shí)也是為了避免干擾當前正在進(jìn)行的工作。在完成某個(gè)功能、某個(gè)類(lèi)別的時(shí)候,首先我們需要編寫(xiě)測試代碼,考慮具體該如何測試和使用,接下來(lái)再進(jìn)行設計和編碼。在這個(gè)過(guò)程中,我們需要正確編寫(xiě)對應功能代碼判斷用的語(yǔ)句,隨后編寫(xiě)對應的輔助語(yǔ)句。
1.3測試技術(shù)
如果我們采用傳統的檢測方式,這無(wú)疑會(huì )在我們的軟件開(kāi)發(fā)中造成開(kāi)發(fā)速度緩慢等缺點(diǎn),而我們需要認清的一點(diǎn)就是測試驅動(dòng)開(kāi)發(fā)中的測試并不是作為一種負擔,而是一種為了幫助我們減輕繁重工作量的有效方法。在針對如何選擇一個(gè)合適的時(shí)間來(lái)停止編寫(xiě)測試用例的問(wèn)題上,我們應該根據往常的工作經(jīng)驗來(lái)進(jìn)行,例如說(shuō)針對一些功能復雜并且具有核心功能的代碼來(lái)說(shuō)應該編寫(xiě)更細致、全面的測試用例。靜態(tài)的標準也不適用于測試驅動(dòng)開(kāi)發(fā)的測試范圍,在實(shí)際情況下是能夠隨著(zhù)時(shí)間的改變而改變。
二、軟件開(kāi)發(fā)為何要應用測試驅動(dòng)開(kāi)發(fā)
2.1提高代碼質(zhì)量
測試驅動(dòng)開(kāi)發(fā)區別于之前的先編碼后測試的開(kāi)發(fā)方式,它的操作過(guò)程恰恰相反,它推動(dòng)整個(gè)開(kāi)發(fā)的進(jìn)行是通過(guò)測試來(lái)實(shí)現的。在某些時(shí)候,軟件工程開(kāi)發(fā)工程中的需求是極難描述清楚的,當然我們這里說(shuō)的需求當然不只是指用戶(hù)的需求,代碼的使用需求才是我們需要考慮的需求范圍。如果我們在軟件開(kāi)發(fā)后期還要對某個(gè)類(lèi)或者函數的接口進(jìn)行拓展或者修改,顯然這對任何一個(gè)開(kāi)發(fā)人員來(lái)說(shuō)都是不能夠接受的。至于為什么會(huì )發(fā)生這樣的事情,從本意上來(lái)說(shuō)就是因為沒(méi)有精確地對這部分代碼作出描述。而當我們需要添加某項新功能時(shí),也不應該著(zhù)急寫(xiě)程序代碼,這時(shí)候就體現出了先寫(xiě)好測試用例的重要性。
2.2改善設計方式
測試驅動(dòng)開(kāi)發(fā)的優(yōu)勢則體現在實(shí)現軟件設計的過(guò)程中,傳統的軟件工程所體現出來(lái)的設計思想跟測試驅動(dòng)開(kāi)發(fā)的思想是不能夠比較的,傳統設計方法中的死板的原則在測試驅動(dòng)開(kāi)發(fā)面前是不值得一提的,在某些程度還弱化了了全面細致的設計。在測試驅動(dòng)開(kāi)發(fā)過(guò)程中我們應該對現有的需求做出簡(jiǎn)單的設計,而不是對需求做出詳盡的解釋?瓷先ズ孟駥υO計進(jìn)行了簡(jiǎn)化,也削弱了開(kāi)發(fā)的依據,實(shí)際上卻是進(jìn)一步明確了軟件開(kāi)發(fā)的時(shí)候應該更注重眼前的問(wèn)題,只有這樣才能使做出的軟件更符合客戶(hù)的需求。因為設計是一個(gè)相持以往的過(guò)程,需求文檔的體現也在測試用例中表現得非常充分。
2.3革新傳統的軟件開(kāi)發(fā)
以人為本的思想是測試驅動(dòng)開(kāi)發(fā)的方法。人類(lèi)活動(dòng)都秉持著(zhù)高度的目的性,建立一個(gè)心里的標準并竭盡全力去達成這個(gè)標準會(huì )具有重要的心理作用。例如在我們平時(shí)的測試過(guò)程中,有著(zhù)不同目的的測試軟件開(kāi)發(fā)將會(huì )帶來(lái)不一樣的操作結果。比如說(shuō)將證明程序中沒(méi)有我們需要查找的錯誤作為我們的最終目的,那大腦中的潛意識里就會(huì )指導著(zhù)我們朝這個(gè)思路去做,所以在編寫(xiě)測試的過(guò)程中,我們就潛意識地選擇了一些不會(huì )使整個(gè)軟件程序出錯的實(shí)驗數據;相反,如果我們逆向思維去選擇那些容易發(fā)現程序錯誤的測試數據去證明程序中的漏洞,那結果一定就會(huì )不同了。對比之下,我們在以尋找錯誤為最終目的的前提下做出的程序檢測質(zhì)量遠遠高過(guò)以不找錯誤為最終目的的思維方式。測試驅動(dòng)開(kāi)發(fā)改變了以往的破壞性思想,測試在先,編碼在后的方法則是從人性的角度出發(fā)。
三、結語(yǔ)
總而言之,測試驅動(dòng)開(kāi)發(fā)的開(kāi)發(fā)方法就是“測試在前,編碼在后”。人性特點(diǎn)作為測試驅動(dòng)開(kāi)發(fā)側重考慮的因素,在一定程度上極大的提高了軟件的質(zhì)量和開(kāi)發(fā)速度。這是一種完全的軟件開(kāi)發(fā)革新,也從根本上改變了傳統的開(kāi)發(fā)軟件思想。推廣測試驅動(dòng)開(kāi)發(fā)思想使得越來(lái)越多的軟件企業(yè)開(kāi)始注意到這種獨具一格的軟件測試方法,間接或者是直接采用了這種方法。測試驅動(dòng)開(kāi)發(fā)正在軟件開(kāi)發(fā)領(lǐng)域發(fā)光發(fā)熱,我們也相信在不久的將來(lái)就能解決用戶(hù)對軟件質(zhì)量不滿(mǎn)的問(wèn)題。
參考文獻
[1]嚴國武.淺談驗收測試驅動(dòng)開(kāi)發(fā)[J].電子世界,2014(08).
[2]林勇.淺談測試驅動(dòng)開(kāi)發(fā)[J].中國金融電腦,2012(04).
[3]唐金鵬,李玲琳.測試驅動(dòng)開(kāi)發(fā)應用研究[J].企業(yè)技術(shù)開(kāi)發(fā),2012(05).
[4]李瑛,彭軍.測試驅動(dòng)開(kāi)發(fā)在系統中的設計實(shí)現及效能分析[J].計算機與數字工程,2012(01).
【軟件開(kāi)發(fā)中測試驅動(dòng)開(kāi)發(fā)的運用】相關(guān)文章:
UI自動(dòng)化測試驅動(dòng)的軟件開(kāi)發(fā)方法研究09-02
現代軟件開(kāi)發(fā)中現代軟件工程的合理運用07-19
市場(chǎng)營(yíng)銷(xiāo)教學(xué)中任務(wù)驅動(dòng)法的運用08-26
淺談任務(wù)驅動(dòng)法在高中化學(xué)教學(xué)中的運用09-05
市場(chǎng)營(yíng)銷(xiāo)教學(xué)中任務(wù)驅動(dòng)法的運用論文09-05
項目管理在A(yíng)SP軟件開(kāi)發(fā)中的應用07-14