天天看點

在軟體開發流程中運用單元測試和功能測試

  測試和軟體開發過程

  作為一個開發人員來講,測試是相當重要的,我們必須要堅持在整個軟體開發流程中測試我們的代碼,而不僅僅把測試作為軟體開發的一個特殊階段的産物:測試絕對不應該成為你在軟體送出前一天才開始的一個例行公事。你怎麼才能知道我們的軟體已經可以釋出了?你怎麼知道我修正了這個小bug的時候沒有引發一個更嚴重的系統bug?你怎麼知道目前的系統是否可以擴充一些現在沒有想到功能呢?測試!單元測試和功能測試必須成為我們在軟體開發流程中的一個有機組成部分。

  單元測試應該成為你寫代碼的一個核心部分,尤其是在項目時間比較緊張但是我們仍然要保證品質的時候。單元測試十分重要,你甚至應該在你的代碼寫出來之前就應該完成單元測試。

  單元測試:

  -》有助于盡可能地重制最有效的設計

  -》有助于提供一個最佳的檔案組織結構

  -》有助于确定一個類是否完成

  -》讓開發人員對自己的代碼充滿信心

  -》是快速重構的基礎

  單元測試有助于形成系統化的并可以不斷改進的設計文檔,這些文檔在軟體開發的過程中有着極其重要的意義。大多時候将用例文檔化形成一個類要比僅僅羅列一大堆編碼的實際用例好,看看單元測試:它提供一系列有規律的輸入或資料,用一系列的實際用例來告訴我們所寫的類做了些什麼。這樣的話這個設計文檔就總是最新的,因為我們必須通過單元測試。

  你應該在寫代碼之前寫單元測試,這樣做的好處就是為自己提供了一個可以測試的設計方案,這就可以幫助你想的更加完善,這樣會使設計變得簡單。你不必擔心将來會怎樣,也不必花時間去實作一些不必要的功能。首先寫單元測試還有助于幫你了解代碼在什麼時候完成:當所有的測試都通過之後,我們的任務也就完成了。

  最後,單元測試讓你對自己代碼有高度的自信,這有助于我們做出更加好的産品。當你修改了自己的代碼之後,我們來運作我們的測試,如果有問題的話我們可以迅速找出來我們的修改産生了在什麼地方哪些破壞。

  功能測試甚至比單元測試更加重要,因為它是用來檢測我們的系統是否達到可以釋出的要求。功能測試是用來确定我們的系統是否是一個可用的系統。

  功能測試:

  -》确定是否實作使用者需求的一個有效方法

  -》讓使用者和開發人員了解到我們的系統已經實作了這些使用者需求

  功能測試可以檢查出單元測試遺留下的一些軟體缺陷,讓開發人員對自己的代碼更加有信心,因為單元測試仍然會遺留下很多bug,它可能會覆寫到代碼的各個部分但是卻不能覆寫到系統的各個部分。功能測試可以揭露一些單元測試沒有涉及的問題。當然一個自動化的可持續運作的功能測試不可能找出系統中的所有問題,但它可以找出更多的單元測試找不到的bug。

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/

繼續閱讀