您好, 訪客   登錄/注冊

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

來源:用戶上傳      作者:

  摘  要:隨著科學技術的飛速發展,人們對軟件功能需求也在不斷增加,為了滿足人們的需求,則需要不斷提高軟件開發效率,特別是軟件開發的編碼質量應不斷提高,避免因編碼問題而為軟件的使用埋下功能隱患。測試驅動開發在軟件開發中的應用,相比于傳統的軟件開發形式,更注重先測試后編碼,這種方式有效規避先編碼過程中可能出現的編碼問題,進一步提升軟件開發的編碼質量。因此,在新時期發展中,應加大測試驅動開發在軟件開發中的推廣,將其的價值充分體現出來,進一步提升軟件開發的質量。
  關鍵詞:軟件開發  測試驅動開發  運用
  中圖分類號:TP311.52                             文獻標識碼:A                         文章編號:1672-3791(2019)04(b)-0019-02
  Abstract: With the rapid development of science and technology, people's demand for software function is also increasing, in order to meet the needs of people, it is necessary to constantly improve the efficiency of software development, especially the quality of software development code should be constantly improved, to avoid the hidden danger of software use caused by coding problems. The application of test-driven development in software development, compared with the traditional software development form, more attention is paid to test before coding, which effectively avoids coding problems that may occur in the process of coding first and further improves the coding quality of software development. Therefore, in the new era of development, test-driven development promotion should be increased in software development to fully reflect its value and further improve the quality of software development.
  Key Words: Software development; Test-driven development; Using
  在信息時代發展中,計算機軟件的發展也極為迅速,尤其是在人們使用軟件的過程中,也會在原有功能基礎上提出更高的要求,而為了能夠進一步滿足客戶對軟件的功能需求,也對軟件開發人員提出更高的要求,如何能夠在軟件開發中具有高效性是每位軟件開發人員重點思考的問題。在新時期發展中,軟件開發中測試驅動開發的運用,可有效提高軟件開發的效率,以下該文則主要對軟件開發中測試驅動開發的幾方面運用進行分析。
  1  測試驅動開發分析
  1.1 原則要求
  在測試驅動開發的過程中,應根據實際測試要求,保證在檢測過程中分清所需要檢測的各類代碼,并根據不同代碼測試設定相互的間隔,進而有效避免在測試的過程中忽視一些細節性問題,同時避免了增加測試的復雜度[1]。另外,在實際操作中,應對所出現的功能點進行測試,尤其是在需要添加功能需求的情況下,應將其添加到測試列表中,嚴格遵循著測試全面性、準確性的原則,規避因測試不全面而埋下不必要的風險。另外,測試驅動開發過程中應不斷完成相關的測試實例、功能代碼、重構等,避免出現疏漏,同時也應避免干擾到當前正在進行的工作。例如,在編寫測試代碼的過程中,應充分考慮到該如何使用和測試,然后再進行合理的設計和編碼,將其寫入功能代碼判斷用句的過程中,應合理寫入對應的輔助語句,才能保證測試驅動開發的有效性、合理性,同時也規避了一些因編寫不合理而產生不必要的麻煩。
  1.2 開發的原理和過程
  測試驅動開發的過程中主要原理是需要明確所要開發的功能,并在此基礎上考慮該如何設計相關的設計代碼,嚴格按照用戶的相關使用需求編寫出功能符合的代碼,進而保證測試的有效性。當然,測試開發的過程中,應循序漸進地進行開發,最終保證所有的功能都能被開發。測試驅動開發的過程中首先要明確所需要開發的功能[2]。其次,在明確功能要求的基礎上進行編寫測試,寫入相對應的功能代碼。再次,保證測試能夠重構代碼,并對所編寫的代碼進行全面的分析,是否存在運行問題,一旦發現有問題應及時更改代碼,保證測試驅動開發的全面性、有效性。進而保證整個測試的便捷性、高效性。另外,由于用戶對功能需求的不同,在測試驅動開發的過程中也可能對功能有著一定的調整,因此,應保證編寫代碼的相對獨立性,使其具有較強的拓展性,便于添加新的功能代碼。   1.3 測試技術分析
  測試驅動所需要的測試技術經過不斷的改進和創新,使得其測試技術水平在不斷提升,也為測試驅動開發提供可靠的幫助[3]。從以往所使用的傳統檢測方式來分析,主要是測試驅動開發速度較為緩慢,且開發的過程中還存在很多的缺點,影響到其功能性,甚至埋下一定的隱患。站在當今的測試驅動開發角度上分析,傳統的開發不僅增加了工作量,同時也經常因一些細節性的疏忽形成一種負擔。在當今的測試驅動開發中,首先要明確的是測試驅動開發并不是一種負擔,而是為了更好地減輕繁重工作量而使用的。因此,在測試驅動開發的過程中,不僅要對以往的工作經驗進行全面的分析,了解其問題的所在以及產生問題的原因等,同時也應不斷吸取先進的測試經驗,進而保證測試驅動開發的合理性、有效性。例如,對一些功能較為復雜的功能來說,其代碼編寫也會有著一定的難度,為保證其功能應嚴格編寫代碼,并進行全面的測試,及時發現其中的問題所在,以便于展開更合理有效的測量。
  2  軟件開發中測試驅動開發的運用分析
  通過以上的分析,進一步了解了測試驅動開發的功能、優勢以及相關的技術線路等,將其應用到軟件開發中,徹底打破傳統軟件開發中先編碼后測試的觀念,更注重先測試后編碼,有效規避其中的不足,提高編碼質量以及提升軟件設計水平。
  2.1 創新軟件開發的形式
  從對以往軟件開發的分析中發現,傳統軟件開發過程中,由于受到傳統觀念以及落后的技術影響,使得傳統軟件開發效果不佳,甚至會導致所開發出來的軟件埋藏諸多漏洞,進而影響到軟件的正常使用。在將測試驅動開發運用到軟件開發中,創新了軟件開發的形式,對提升軟件開發的效率有著極大的作用[4]。當然,在新時期發展中,軟件的開發都是建立在人的使用需求基礎上,而測試驅動開發中所貫徹的以人為本的思想,則更是以人類活動為基礎,滿足其使用需求而進行開發的,從某種意義上分析,測試驅動開發的運用不僅僅是對軟件開發形式的創新,更是將人的觀念與軟件開發進行有效結合,進而保證所開發出來的軟件更符合人們的使用需求。
  通常在測試的過程中,會基于不同的目的對軟件進行分析,而測試軟件開發也將帶來不一樣的操作結果,例如,在軟件開發中,會將證明程序中沒有所需要查找的錯誤作為主要的開發目的,那么在對其軟件測試的過程中,也會受到大腦潛意識的影響去尋找相關的思路,而這樣在測試的過程中,就會受到潛意識的影響而選擇不會使整個軟件程序出錯的實驗數據進行測試[5]。相反,如果將前面所提到的現象反過來,并逆向思維的去選擇容易被發現程序錯誤的測試數據,并用其測試數據去證明軟件程序中所存在的漏洞,這兩種方式所得出的結果將會不同,這也對軟件開發結果構成不同程度的影響。在對比分析中發現,選擇后者對軟件開發的功能進行全面測試,更容易尋找到其中的問題所在,并對其采取不斷的完善措施,保證找不到錯誤為止,這種測試的思維方式是傳統軟件開發中很少考慮的。
  2.2 提升軟件代碼質量
  傳統軟件開發的過程中,更注重的是先編碼后測試,而在這個過程中,可能出現編碼問題卻不能及時被發現,在所有編碼完成之后再進行測試,雖然會發現編碼中的問題,但在重新寫入編碼的過程中也會增加一定的難度,尤其是很多編碼之間還存在很強的連接性、邏輯性,需要調整的工作量較大,進而直接增加了軟件開發的勞動量。而將測試驅動開發運用到軟件開發中,則與傳統先編碼后測試的方式恰好相反,更注重對整個開發過程的推理和測試,一方面可以減少編碼的勞動量,另一方面能夠進一步保證編碼的有效性。
  軟件開發是一項極為復雜的工作,尤其是在開發的過程中很多需求是很難描述清楚的,這也給軟件開發增加一定的難度[6]。軟件開發中所提到很難描述的需求并非只是源于客戶的需求,還有對代碼使用的需求,這些都是需要在軟件開發中所要考慮的因素,尤其是在軟件開發的后期,還要對某個類或者函數的接口進行拓展或者修改,顯然這對任何一個開發人員來說都是不能夠接受的。
  2.3 優化設計方式
  在軟件開發的過程中,需要結合軟件的功能要求,合理進行軟件設計,并根據設計進行軟件開發。而軟件設計的是否合理也將直接影響到軟件開發的效率。傳統軟件設計的過程中,設計方式過于死板,缺乏人性化,尤其是在一些細節性設計中的不足,會導致軟件開發面臨著不同程度的問題,進而影響到軟件開發的效率。測試驅動開發的運用可以有效改變這一現狀,會根據軟件的實際使用需求設計出更加合理的方案,相比于傳統設計,不僅簡化了設計方式,同時也能夠保證設計出更加合理的方案。而且,測試驅動開發應用下,通過先測試后編碼的方式,能夠進一步優化軟件設計方式,有效規避一些潛在的設計隱患,進而保證軟件設計的順利實施。
  3  結語
  綜上所述,在軟件開發的過程中,傳統開發主要是先編碼后測試,而在此過程中可能會出現不同程度的編碼問題,進而影響到軟件開發的質量,甚至會出現不同程度的編碼調整等工作,使得編碼工作任務量較為繁重,而且編碼的質量也并不高。而在該文的研究中,提出軟件開發中測試驅動開發的運用,相比于傳統軟件開發形式,主要是先通過測試然后再編碼,在測試的過程中,及時發現可能出現的編碼問題,同時也明確了編碼的方向,更有利于軟件開發編碼工作的順利進行。而且,相比于傳統的軟件開發,這種先測試后編碼的形式能夠有效提升編碼的質量,進而保證軟件開發的順利進行。
  參考文獻
  [1] 陳迪舸.芻議測試驅動開發在軟件開發中的作用[J].電子技術與軟件工程,2016(7):60.
  [2] 陳希,徐明昆.測試驅動開發在軟件開發中的研究與實踐[J].軟件,2012,33(12):177-181.
  [3] 袁社鋒,張紅霞.測試驅動在軟件開發中的作用[J].福建電腦,2012,28(2):87-88.
  [4] 章琦,章磊.TDD測試驅動開發與瀑布式軟件開發流程的對比研究[J].科技信息,2009(9):449-450,472.
  [5] 杜美艷.淺談測試驅動開發在軟件開發中的作用[J].科技信息:學術研究,2008(32):180.
  [6] 徐蔚為.軟件外包中測試驅動的軟件開發模式及度量研究[D].復旦大學,2008.
轉載注明來源:http://www.hailuomaifang.com/8/view-14910463.htm

?
99久久国产综合精麻豆