Test Driven Development
- Galuh Buana Putra Kautsar
- Mar 19, 2017
- 1 min read
Secara singkat, life cycle dari TDD meliputi:
Membuat test code
Menjalankan test code (tes tidak akan lolos/berhasil karena belum ada implementation code yang bersesuaian)
Membuat implementation code secukupnya hanya untuk membuat code tersebut lolos saat dites
Menjalankan seluruh tes (semua tes lolos)
Melakukan refactor
Mengulangi hal yang sama dari poin 1
TDD memiliki best practice yang dikelompokkan menjadi 4 kategori:
Naming Conventions
Processes
Development practices
Tools
Naming Conventions
Memisahkan implementation code dari test code
Sebagai contoh, implementation code disimpan dalam src/main/java, sedangkan test code disimpan dalam src/test/java.
Menempatkan test classes di package yang sama dengan implementation

Nama test class memiliki pola yang sama dengan class yang dites

Menggunakan nama yang deskriptif untuk test methods

Method yang berada di bawah lebih deskriptif dan dapat diketahui dengan mudah apa yang dilakukan di dalam method tersebut tanpa harus membuka lebih dalam jika dibandingkan dengan method yang berada di atas.
Processes
Tulis test code lebih dulu daripada implementation code
Dengan menulis/memodifikasi test code terlebih dahulu, developer akan fokus terhadap requirement sebelum menulis implementation code yang asli.
Hanya tulis/tambahkan kode baru jika hasil tes gagal
Rerun semua tes setiap ada perubahan di implementation code
Idealnya, semua tes harus berjalan dengan cepat dan dijalankan terlebih dahulu di direktori lokal milik developer.
Semua tes harus lolos sebelum membuat test code yang baru
Jika ada tes yang masih gagal tetapi sudah membuat test code yang baru, maka tujuan dari TDD (implementation code selalu berjalan sesuai yang diinginkan) akan dilanggar.
Hanya lakukan refactor setelah seluruh tes lolos
<to be continued...>
Sumber:
https://technologyconversations.com/2013/12/24/test-driven-development-tdd-best-practices-using-java-examples-2/
Comments