Efisiensi waktu codingmu dengan TDD!

Muhammad Rasyid
4 min readApr 4, 2021

--

Sumber: https://blog.gurock.com/find-right-tdd-approach/

TDD minimizes debugging time. — Paman Bob Martin

Pernahkah kalian menghadapi kondisi dimana waktu coding kalian terbuang sia-sia bukan karena harus menyelesaikan implementasi untuk program kamu namun harus fokus menyelesaikan bug / error yang ada di dalam program kamu? Atau bahkan, kalian terlalu sering berada dikondisi tersebut sehingga kalian tidak menyadari bahwa hal tersebut adalah sebuah kegiatan yang “buang-buang waktu” walaupun memang harus segera diselesaikan.

Nah, untuk meminimalisir waktu kamu yang terbuang tadi, saya punya sebuah jurus jitu yang cukup ampuh dan dapat diimplementasikan secara langsung loh oleh kamu nantinya. yap, TDD jawabannya teman-teman!

So, TDD itu barang baru apalagi cit?

Nice, jadi TDD itu adalah singkatan dari Test Driven Development gais. Kalau diartikan kurang lebih ya melakukan suatu pengembangan yang dilandasi (disetir) oleh adanya test.

Masih gapaham cit…

Santuyyyy…, jadi kalau biasanya kita melakukan proses pengembangan aplikasi (website / aplikasi) itu mostly akan berfokus pada implementasi yang dilakukan tanpa memikirkan bagaimana code yang sudah kita buat dapat dicek menggunakan sistem automated testing. Kalau di TDD kita melakukan hal sebaliknya, dimana kita akan melakukan implementasi program berdasarkan test yang sudah kita buat sebelumnya. Nah untuk mempermudah kita memahami makhluk TDD ini, boleh lihat ke gambar di bawah ini:

Sumber: https://medium.com/@yudhistiro.agung/test-driven-development-tdd-beb5d3564c3b

Whooops, seperti yang teman-teman bisa lihat dari gambar di atas bahwasannya TDD terdiri atas 3 bagian besar, yaitu RED, GREEN, dan REFACTOR. Untuk makin mempermudah, mari kita bahas satu persatu.

Siklus TDD

1. Red

Pada tahap pertama ini, yang harus kalian lakukan simply adalah membuat test untuk implementasi yang akan kalian lakukan nantinya. Kalian dapat menggunakan kemampuan berpikir logis kalian untuk membayangkan program yang kalian ingin buat nantinya seperti apa. Jangan lupa, kalian harus menuliskan test tadi sesuai dengan bahasa dan juga platform yang kalian gunakan ya gais!

Setelah membuat test nya, coba kalian jalankan dan lihat test tersebut menghasilkan error (Red) yang disebabkan karena belum ada implementasi yang kalian buat. (yaiyalah …)

2. Green

Setelah kalian membuat dan menjalankan test pada tahap Red, kalian mestinya tau harus melakukan apa bukan? Yap, kalian harus membuat impelementasi dari test yang gagal tadi. Tahap ini mengharuskan kalian mengimplementasikan code yang akan membuat test tadi menjadi lolos (Green). Jangan lupa, tetap menjaga kerapihan dalam mengimplementasikan baris kode kalian ya!

3. Refactor

Setelah lolos test, bukan berarti kalian boleh langsung rebahan ya gais. Masih ada tahap terakhir yaitu, refactor. Pada tahap ini kalian diharuskan melakukan simplifikasi dan pengecekan ulang pada baris kode yang sudah kalian buat tadi agar lebih efisien dan juga mempermudah proses pengembangan nantinya. Kita juga bisa membuat peningkatan kualitas kode pada bagian ini ya.

Oke paham, apakah ada implementasinya cit yang bisa dilihat?

Weits, ada dong pastinya. Jadi ini saya akan memberikan contoh dari TDD pada proses pengerjaan proyek Sekolahku. FYI , sekolahku ini adalah proyek dari mata kuliah Proyek Perangkat Lunak di Fasilkom UI ya gais. Langsung aja ke contohnya!

RED

Sumber: Dokumentasi pribadi

Gambar di atas merupakan contoh code testing yang saya buat sebelum melakukan implementasi models di django. Pada python, unit test yang kamu buat nantinya dapat melakukan inherit dari unittest.TestCase yang sebelumnya sudah kami import ya gais.

Setelah membuat test, saya menjalankannya dan melihat error yang dihasilkan. Di django, kamu dapat melakuakan testing dengan menuliskan kode ini pada terminal kamu :

$ python manage.py test

Sumber: Dokumentasi Pribadi

GREEN

Setelah itu, saya akan melakukan implementasi dengan mmbuat models agar test tersebut berhasil lolos.

implementasi models.py
Green

REFACTOR

Terakhir, saya melakukan improvement pada baris kode yang telah dibuat tadi agar menunjang kemudahan proses pengembangan kedepannya.

models.py setelah di refactor

Kesimpulan

TDD memang terkadang terkesan menyulitkan dan pasti membuat kita bingung karena belum ada implementasi kok sudah di test. Sebagian dari kita pasti berpikir “implementasinya aja belum tau, gimana buat testnya.” . Percayalah teman-teman, kalian tidak akan menghabiskan waktu lebih banyak ketika menerapkan TDD dengan baik dan benar pada proyek kalian.

Untuk menutup artikel ini, ada sedikit gambar penghibur yang mencerminkan penggunaan TDD dengan tidak di bawah ini. Btw, terima kasih sudah datang berkunjung! :)

Sumber: http://turnoff.us/image/en/tdd-vs-ftt.png

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response