三、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開發 移動開發或資料科學等領域謀乙份好差事,在職業提公升的道路上助你一臂之力。就目前而言,無論是...