Saya ingin mulai menggunakan TDD. Ada tips untuk pemula? [Tutup]

27

Saya tidak pernah menggunakan mekanisme pengujian otomatis di salah satu proyek saya dan saya merasa saya kehilangan banyak hal. Saya ingin meningkatkan diri saya sendiri, jadi saya harus mulai menangani beberapa masalah yang saya abaikan seperti ini dan mencoba Git daripada terjebak di SVN.

Apa cara yang baik untuk belajar TDD? Saya mungkin akan menggunakan Eclipse untuk memprogram di Jawa. Saya pernah mendengar tentang JUnit, tetapi saya tidak tahu apakah ada hal lain yang harus saya pertimbangkan.

Mike42
sumber

Jawaban:

15

Anda bisa mulai dengan mengerjakan kode katas . Pilih algoritme (mis. Konversi bilangan desimal ke Romawi, mencetak gim bowling, permainan Conway tentang kehidupan, dll.) Dan coba gunakan TDD untuk mengerjakan solusinya.

Struktur solusi Anda kemungkinan akan sangat sederhana (jauh lebih sederhana daripada kode produksi dunia nyata Anda): satu kelas untuk fixture tes dan satu kelas berisi algoritma yang diuji. Dan kelas yang diuji tidak memiliki dependensi adalah nilai tambah lainnya. Anda dapat menggunakan kesederhanaan pengaturan ini untuk dengan cepat memahami loop merah-hijau-refactor.

Alat mana yang Anda gunakan untuk katas TDD Anda tidak terlalu penting selama Anda berpegang pada prinsip. Namun, plugin JUnit untuk Eclipse sangat mudah digunakan, jadi ini pilihan yang sangat baik.

azheglov
sumber
8

Akrab dengan AAA , bacalah tentang itu, bacalah tentang masalah-masalah yang datang dengan pengembangan yang digerakkan oleh tes ( desain untuk testability vs alat-alat berbiaya tinggi sehingga desain tidak masalah) Pelajari Injeksi Ketergantungan agar menghapus dependensi eksternal untuk pengujian menjadi lebih mudah.

Berikut adalah ikhtisar baik dari catatan yang saya ambil saat membaca The Art of Unit Testing

http://imaginarydevelopment.blogspot.com/2010/01/unit-testing-reference.html

Maslow
sumber
1
+1 untuk merekomendasikan The Art of Unit Testing. Menurut pendapat saya, salah satu buku terbaik untuk menjelaskan pengujian unit tanpa menakuti pembaca.
Anne Schuessler
6

Sebenarnya tidak ada pengganti untuk hanya meraih test harness (seperti NUnit), membaca beberapa literatur dan kemudian membuat tangan Anda kotor.

Seperti yang pernah dikatakan James T. Kirk, "Kita belajar sambil melakukan."

Chris Holmes
sumber
4

Saya sangat merekomendasikan buku ini: Growing Object-Oriented Software Dipandu oleh Tes

Ini memiliki contoh yang baik dalam menjalankan buku ini dan memberikan pandangan yang sangat koheren tentang kapan tes harus dibuat, apa yang harus mereka isi dan bagaimana mereka harus dibangun dan direstorasi.

flamingpenguin
sumber
-3

Periksa tautan ini . Ini adalah blog Bob Martin di TDD - hal yang bagus untuk membuat Anda mengerti (atau memberi Anda prospek lain) berpikir dalam TDD.

ratkok
sumber
2
Tag tag blog, dengan kata-kata Paman Bob sendiri, adalah "Tulisan pada Kode Bersih, Desain, dan semua perangkat lunak hal." Konten blog jauh lebih luas dari pada OP "tips untuk pemula [dalam TDD]."
azheglov