當前位置:學問君>學習教育>畢業論文>

軟件開發中測試驅動開發的運用

學問君 人氣:1.58W

在軟件工程領域,軟件開發過程 刻畫了一個工程從起始到結束,如何進行計劃、控制以及監控的過程。目前在大多數的軟件開發中,各大公司採用的仍是傳統的瀑布模型。下面是小編蒐集整理的相關內容的論文,歡迎大家閱讀參考。

軟件開發中測試驅動開發的運用

摘要:在極限編程中極具特色的一個原則就是測試驅動開發,作爲一種新的思潮正在被越來越多的人所接受,它在軟件開發過程中所表現出來的積極作用是不言而喻的。測試驅動開發的方法能夠在保證功能測試的前提下,也能夠成爲設計的一部分。整個開發過程的驅動力就是以測試驅動開發爲基礎,能夠在很大程度上提高代碼質量,改善開發設計過程,從而在根本上提高了產品的質量。

關鍵詞:測試驅動開發;軟件開發;積極作用

隨着時代的發展,計算機軟件的發展變得尤爲迅速,與之對應的問題是用戶對軟件的質量要求也越來越高。爲了能夠及時交付給用戶一個滿意的軟件,軟件開發人員往往需要投入到高效的軟件開發過程。然而現實情況則是傳統的軟件工程方法已經變得不再適用於當今的軟件開發,而最近剛剛興起的一些軟件開發過程的技術正好值得我們借鑑和學習。其中就包括我們今天要討論的測試驅動開發,它作爲一個最基礎的技術能夠提供給我們一些相對高效的軟件過程開發方法。

一、測試驅動開發的相關環節

1.1原理和過程測試

驅動開發的原理就是應該在明確要開發某個功能後,進行構思並決定如何設計測試代碼的過程,從而根據用戶的需求編寫出功能代碼滿足這些測試用例。接下來可以循環的進行添加其他功能,最後能夠完成全部功能的開發。其中的基本過程包括:明確當前需要完成的功能;需要在保證速度的前提下編寫測試用例;編寫對應的功能代碼;保證測試能夠透過的方法就是重構代碼。我們通常在運用了測試框架的前提下,進行組織所有的測試用例,從而保證了整個測試過程的高效和便捷。

1.2原則要求

爲了保證能分清需要檢測的各類代碼,不同代碼的的測試之間應該相互隔離,爲了避免去考慮許多的無關細節而增加複雜度,所以我們在相關代碼的測試中一般只考慮該代碼的'測試,而不去考慮它的現實細節。在實際情況中,經常出現的功能點需要我們去測試,在任意階段中如果我們想要添加功能需求問題時,我們能夠把相關功能點添加到測試列表的操作方法從而避免不必要的麻煩,從而不斷地完成對應的測試實例、重構和功能代碼。這是爲了避免疏漏,同時也是爲了避免干擾當前正在進行的工作。在完成某個功能、某個類別的時候,首先我們需要編寫測試代碼,考慮具體該如何測試和使用,接下來再進行設計和編碼。在這個過程中,我們需要正確編寫對應功能代碼判斷用的語句,隨後編寫對應的輔助語句。

1.3測試技術

如果我們採用傳統的檢測方式,這無疑會在我們的軟件開發中造成開發速度緩慢等缺點,而我們需要認清的一點就是測試驅動開發中的測試並不是作爲一種負擔,而是一種爲了幫助我們減輕繁重工作量的有效方法。在針對如何選擇一個合適的時間來停止編寫測試用例的問題上,我們應該根據往常的工作經驗來進行,例如說針對一些功能複雜並且具有核心功能的代碼來說應該編寫更細緻、全面的測試用例。靜態的標準也不適用於測試驅動開發的測試範圍,在實際情況下是能夠隨着時間的改變而改變。

 二、軟件開發爲何要應用測試驅動開發

2.1提高代碼質量

測試驅動開發區別於之前的先編碼後測試的開發方式,它的操作過程恰恰相反,它推動整個開發的進行是透過測試來實現的。在某些時候,軟件工程開發工程中的需求是極難描述清楚的,當然我們這裏說的需求當然不只是指用戶的需求,代碼的使用需求才是我們需要考慮的需求範圍。如果我們在軟件開發後期還要對某個類或者函數的接口進行拓展或者修改,顯然這對任何一個開發人員來說都是不能夠接受的。至於爲什麼會發生這樣的事情,從本意上來說就是因爲沒有精確地對這部分代碼作出描述。而當我們需要添加某項新功能時,也不應該着急寫程序代碼,這時候就體現出了先寫好測試用例的重要性。

2.2改善設計方式

測試驅動開發的優勢則體現在實現軟件設計的過程中,傳統的軟件工程所體現出來的設計思想跟測試驅動開發的思想是不能夠比較的,傳統設計方法中的死板的原則在測試驅動開發面前是不值得一提的,在某些程度還弱化了了全面細緻的設計。在測試驅動開發過程中我們應該對現有的需求做出簡單的設計,而不是對需求做出詳盡的解釋。看上去好像對設計進行了簡化,也削弱了開發的依據,實際上卻是進一步明確了軟件開發的時候應該更注重眼前的問題,只有這樣才能使做出的軟件更符合客戶的需求。因爲設計是一個相持以往的過程,需求文檔的體現也在測試用例中表現得非常充分。

2.3革新傳統的軟件開發

以人爲本的思想是測試驅動開發的方法。人類活動都秉持着高度的目的性,建立一個心裏的標準並竭盡全力去達成這個標準會具有重要的心理作用。例如在我們平時的測試過程中,有着不同目的的測試軟件開發將會帶來不一樣的操作結果。比如說將證明程序中沒有我們需要查找的錯誤作爲我們的最終目的,那大腦中的潛意識裏就會指導着我們朝這個思路去做,所以在編寫測試的過程中,我們就潛意識地選擇了一些不會使整個軟件程序出錯的實驗數據;相反,如果我們逆向思維去選擇那些容易發現程序錯誤的測試數據去證明程序中的漏洞,那結果一定就會不同了。對比之下,我們在以尋找錯誤爲最終目的的前提下做出的程序檢測質量遠遠高過以不找錯誤爲最終目的的思維方式。測試驅動開發改變了以往的破壞性思想,測試在先,編碼在後的方法則是從人性的角度出發。

 三、結語

總而言之,測試驅動開發的開發方法就是“測試在前,編碼在後”。人性特點作爲測試驅動開發側重考慮的因素,在一定程度上極大的提高了軟件的質量和開發速度。這是一種完全的軟件開發革新,也從根本上改變了傳統的開發軟件思想。推廣測試驅動開發思想使得越來越多的軟件企業開始注意到這種獨具一格的軟件測試方法,間接或者是直接採用了這種方法。測試驅動開發正在軟件開發領域發光發熱,我們也相信在不久的將來就能解決用戶對軟件質量不滿的問題。

 參考文獻

[1]嚴國武.淺談驗收測試驅動開發[J].電子世界,2014(08).

[2]林勇.淺談測試驅動開發[J].中國金融電腦,2012(04).

[3]唐金鵬,李玲琳.測試驅動開發應用研究[J].企業技術開發,2012(05).

[4]李瑛,彭軍.測試驅動開發在系統中的設計實現及效能分析[J].計算機與數字工程,2012(01).