什麼才是 TDD 的正確開啟方式?

2021-10-12 16:12:44 字數 2236 閱讀 2726

三、tdd 使用例項

3. 最少**執行測試

4. **補全,進行測試

5. 重構

6. 基準測試

四、使用 tdd 的注意事項

五、小結

tdd 的思想是從測試樣例入手,先寫好測試用例,然後再去寫實現,它的優缺點也是源自於此

tdd 又被稱為 「測試先行」 ,它可以提高產品質量,開發人員一邊寫測試用例,一邊編寫業務**來推動專案,在開發過程中隨時可以拿出質量***的產品,並不會出現很多 bug

可以提前了解清楚需求,因為寫測試用例的前提是弄懂了需求

有著快速的反饋,有豐富的測試用例來覆蓋業務**,一旦**出錯,就可以及時發現問題並改正

因為需要對**進行測試,要寫好測試**,所以無形中增大了開發者要編寫的**量。

驗證不了演算法怎麼實現,只能判斷演算法本身的執行結果和效能是否符合要求

tdd傳統測試

集中在驗證測試是否正常工作的生產**上

測試每一行**,實現100%覆蓋測試

只測試部分**,可能遺漏一些測試的case

要求開發者應該 「有目的地測試」。要知道為什麼要測試,在測試什麼,需要測試什麼級別

通常不會考慮可測試的要素,導致**難以測試

確保開發出來的產品實際上滿足它的需求,有助於建立開發者對產品質量的信心

通常是開發完產品才測試,可能會有不少 bug

本質上 tdd 更強調建立生產**而不是測試設計

專注於測試設計

① 場景驅動

② 自動化

③ 思維方式因為在 go 中測試的編寫十分方便,所以下面筆者將以用golang編寫快速排序quicksort,來具體展示 tdd 的主要流程

① 測試檔案編寫

package quicksort

import

"testing"

func

testquicksort

(t *testing.t)

arr2 :=

int res :=

quicksort

(arr1,0,

7)expect :=

intfor i :=

0; i <

8; i++

}}

② 先行測試的意義

看到這裡讀者可能會產生疑問,既然沒有實現**那測試肯定是錯的,為什麼還要執行測試呢?原因如下:

func

quicksort

(arr [

]int

, low, high int)(

int)

func

quicksort

(arr [

]int

, low, high int)(

int)}}

return arr

}

func

partition

(arr [

]int

, low, high int

)int

arr[low]

= arr[high]

for low < high && pivot >= arr[low]

arr[high]

= arr[low]

} arr[low]

= pivot

return low

}func

quicksort

(arr [

]int

, low, high int)(

int)

return arr

}

在 quicksort_test.go 中新增基準測試**

func

benchmarkquicksort

(b *testing.b)

for i :=

0; i < b.n; i++

}

開啟黑色 這些搭配,才是聖誕的正確開啟方式!

聖誕的氣氛漸濃,雖然這並不是我們國家的傳統節日,但是隨著社會的發展和對外開放程度,越來越多的西方節日在中國的接受度越來越高,像西方的情人節 萬聖節 聖誕節 感恩節在中國逐漸風靡起來。雖然距離聖誕節還有兩天,但是街道上已經營造出了節日的氣氛。男生對於聖誕的正確開啟方式,除了給自己的女朋友送禮物 以及層...

乾貨!這才是學習Python的正確開啟方式!

python可謂是世界上最通用 最強大的程式語言之一。人們使用python可以編寫自己的應用程式,建立遊戲以及設計演算法,甚至還可以為機械人程式設計。不僅如此,學習python還可以讓你在軟體工程 web開發 移動開發或資料科學等領域謀乙份好差事,在職業提公升的道路上助你一臂之力。就目前而言,無論是...

乾貨!這才是學習Python的正確開啟方式!

python可謂是世界上最通用 最強大的程式語言之一。人們使用python可以編寫自己的應用程式,建立遊戲以及設計演算法,甚至還可以為機械人程式設計。不僅如此,學習python還可以讓你在軟體工程 web開發 移動開發或資料科學等領域謀乙份好差事,在職業提公升的道路上助你一臂之力。就目前而言,無論是...