Semakin Anda menguji, semakin banyak biayanya untuk menulis tes.
Semakin lama bug hidup, semakin mahal untuk memperbaikinya.
Hukum pengembalian yang semakin berkurang memastikan Anda dapat menguji diri Anda sendiri untuk mencoba memastikan tidak ada bug.
Buddha mengajarkan kebijaksanaan jalan tengah. Tesnya bagus. Ada hal yang terlalu baik. Kuncinya adalah mengetahui kapan Anda tidak seimbang.
Setiap baris kode yang Anda tulis tanpa tes akan memiliki biaya yang jauh lebih besar untuk menambahkan tes lebih lambat daripada jika Anda telah menulis tes sebelum menulis kode.
Setiap baris kode tanpa tes akan secara signifikan lebih sulit untuk di-debug atau ditulis ulang.
Setiap tes yang Anda tulis akan memakan waktu.
Setiap bug akan membutuhkan waktu untuk memperbaikinya.
Orang beriman akan memberitahu Anda untuk tidak menulis satu baris kode tanpa terlebih dahulu menulis tes gagal. Tes memastikan Anda mendapatkan perilaku yang Anda harapkan. Ini memungkinkan Anda untuk mengubah kode dengan cepat tanpa khawatir akan memengaruhi sisa sistem karena tes membuktikan perilaku yang sama.
Anda harus menimbang semua itu terhadap fakta bahwa tes tidak menambah fitur. Kode produksi menambah fitur. Dan fitur adalah apa yang membayar tagihan.
Secara pragmatis, saya menambahkan semua tes yang bisa saya lakukan. Saya mengabaikan komentar demi menonton tes. Saya bahkan tidak memercayai kode untuk melakukan apa yang saya pikirkan. Saya percaya tes. Tapi aku dikenal sering melempar hujan es dan beruntung.
Namun, banyak coders yang sukses tidak melakukan TDD. Itu tidak berarti mereka tidak menguji. Mereka hanya tidak secara obyektif bersikeras bahwa setiap baris kode memiliki tes otomatis yang menentangnya. Bahkan Paman Bob mengakui dia tidak menguji UI-nya. Dia juga menegaskan Anda memindahkan semua logika dari UI.
Sebagai metafora sepakbola (itulah sepak bola Amerika) TDD adalah permainan darat yang bagus. Manual hanya menguji di mana Anda menulis setumpuk kode dan berharap itu berfungsi adalah permainan yang lewat. Anda bisa pandai keduanya. Karier Anda tidak akan mencapai babak playoff kecuali Anda dapat melakukan keduanya. Itu tidak akan membuat superbowl sampai Anda belajar kapan harus memilih masing-masing. Tetapi jika Anda membutuhkan dorongan ke arah tertentu: panggilan pejabat melawan saya lebih sering ketika saya lewat.
Jika Anda ingin mencoba TDD, saya sangat menyarankan Anda berlatih sebelum mencoba melakukannya di tempat kerja. TDD dilakukan setengah jalan, setengah hati, dan setengah assed adalah alasan besar beberapa orang tidak menghormatinya. Ini seperti menuangkan satu gelas air ke gelas lainnya. Jika Anda tidak berkomitmen dan melakukannya dengan cepat dan sepenuhnya, Anda berakhir menggiring air ke seluruh meja.