top of page

Test Driven Development

  • Galuh Buana Putra Kautsar
  • Mar 19, 2017
  • 1 min read

Secara singkat, life cycle dari TDD meliputi:

  1. Membuat test code

  2. Menjalankan test code (tes tidak akan lolos/berhasil karena belum ada implementation code yang bersesuaian)

  3. Membuat implementation code secukupnya hanya untuk membuat code tersebut lolos saat dites

  4. Menjalankan seluruh tes (semua tes lolos)

  5. Melakukan refactor

  6. 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


© 2017 by GoodangCode

Subscribe for Goodang Team Updates!

bottom of page