Test Driven Development

mohamad mahendra
PPL D7 — Fasilkom UI
2 min readMar 21, 2019

Test Driven Development merupakan suatu hal yang sedang banyak digunakan pada software development saat ini. Tapi sebenarnya apa sih TDD itu? Pada kesempatan kali ini, kita akan membahas TDD lebih dalam

About TDD

Test Driven Development adalah suatu pendekatan dalam software development dimana dalam membuat suatu produk, developer akan dituntut untuk membuat tes sebelum kodenya itu sendiri. Jadi siklus kerja para developer adalah pertama-tama membuat tes, kemudian implentasi kode yang harus pass tes yang sudah dibuat diawal. Tapi kenapa sih kita harus memakai TDD? Berikut beberapa keuntungan yang bisa didapat jika memakai TDD:

  • Membuat kode yang mudah untuk di-maintain
  • Membuat kode yang modular karena tes biasanya cenderung kecil
  • Dalam membuat tes tidak perlu memikirkan arsitektur, jadi pengembangannya bisa sangat cepat

TDD Cycle

Dalam menggunakan TDD terdapat 3 proses yang akan dilakukan.

Pertama-tama adalah fase RED, pada fase ini kita akan membuat sebuah test dan stub function(sebuah fungsi yang hanya dipanggil tetapi tidak melakukan apa apa). Test yang dibuat sebaiknya dapat mencakup seluruh skenario yang dapat terjadi. Tujuan dari fase ini adalah mendesign bagaimana implementasi kode kita nanti. Fase ini dinamakan RED karena kita hanya membuat test dan stub function pada fase ini, sehingga test kita akan gagal dan menghasilkan merah pada version control yang digunakan

Fase kedua adalah fase GREEN, pada fase ini kita akan membuat implentasi fungsi yang berasal dari test yang sudah dibuat pada fase sebelumnya. Jika pada fase sebelumnya kita hanya membuat stub, pada fase ini stub tersebut kita akan jadikan sebuah fungsi yang benar-benar bekerja. Tujuan dari fase ini adalah membuat implementasi kode berdasarkan test yang sudah dibuat dan tentunya berhasil pass test. Fase ini dinamakan GREEN karena fungsi yang kita buat seharusnya dapat berhasil pass test, sehingga menghasilkan warna hijau pada version control yang digunakan

Fase ketiga dan terakhir adalah fase REFACTOR, pada fase ini kita memperbaiki kode dari fase sebelumnya. Pada fase sebelumya kode kita telah berhasil lulus test tapi bukan berarti kode tersebut sudah sempurna, karena kode yang telah kita buat baru sekedar lulus test tetapi belum efektif dan efisien. Dan dalam pengerjaannya kode yang kita buat harus tetap pass test yang telah dibuat sebelumnya

Sekian dulu pembahasan mengenai TDD kali ini, Semoga tulisan saya dapat memberikan manfaat bagi para pembaca. Sampai jumpa!!

--

--