Nama Kelompok :
1. Rhomy Idris Sardi
2. Ragil Abdi Maulana
Test Driven Development (TDD) merupakan sebuah strategi pengembangan perangkat lunak yang langkah
pengerjaannya adalah dengan membuat test case terlebih dahulu
baru kemudian dilakukan producing code dan refactoring.
Metode
TDD mengharuskan pengembang untuk menentukan terlebih dahulu
kebutuhan dan desain dari perangkat lunak yang akan dibangun kemudian
melakukan implementasi kode. Satu poin penting dalam metode TDD
adalah pengembangan perangkat lunak berfokus pada spesifikasi bukan
pada validasinya. Sebab pada TDD validitas dari kode program sudah
pasti terjamin saat sistem selesai dibuat. Sehingga akan mempercepat
waktu pengembangan program ketika mengerjakan proyek dalam sekala
yang besar.
Proses
pengembangan perangkat lunak akan menghasilkan suatu produk yang
berkualitas apabila terjadi sinkronisasi antar analisis dan
pemrogram[3]. Sebuah perangkat lunak dikatakan berkualitas apabila
perangkat lunak dapat bekerja sesuai apa yang diinginkan pengguna
(user requirement
dan bussines process).
Selain itu, dapat memudahkan pengguna dalam modifikasi perbuahan,
serta memudahkan dalam menemukan bug.
Semua spesifikasi tersebut dapat diakomodasi oleh metode TDD. Sebab
pada metode TDD terdapat unit test
yang berperan untuk menjaga agar pengembang tetap stay
on track ketika membuat sebuah
perangkat lunak. Sehingga memungkinkan hasil perangkat lunak yang
dibuat akan sesuai dengan kebutuhan dan proses bisnis pengguna.
Proses Tahapan Test Driven Development (TDD)
Tahapan-tahapan
metode Test Driven Development (TDD)
adalah sebagai berikut:
- Pengembang menuliskan unit test terlebih dahulu, sesuai spesifikasi dan bisnis proses dari sistem yang diinginkan oleh pengguna.
- Setelah membuat unit test, pengembang menuliskan kode program untuk menyelesaikan unit test sampai pass (tidak terjadi error).
- Pengembang melakukan refactoring kode program yaitu mengubah struktur program agar lebih mudah dipahami dan dimodifikasi, tanpa harus mengubah dari behavior program.
TDD
merupakan gabungan antara Test First
Development (TFD) dan refactoring.
Tahapan Unit Test
menggunakan metode Test First
Development (TFD), dimana alur
kerjanya digambarkan sebagai berikut :
Berdasarkan
gambar, hal pertama yang dilakukan ketika menerapkan metode TFD
adalah membuat unit test hasil
turunan dari user requirement.
Saat pertama kali tes dijalankan hasilnya akan error,
sebab belum terdapat kode apapun yang membuat tes menjadi terpenuhi.
Oleh sebab itu, tugas pengembangan adalah membuat kode sampai tes
yang membuat berhasil terpenuhi. Pengembang akan terus melakukan
revisi kode program, dan apabila tes pertama sudah berhasil terpenuhi
maka akan berganti ke tes-tes berikutnya sesuai fungsinya
masing-masing. Apabila semua unit
test sudah berhasil dijalankan, maka
pengembangan sistem selesai dibangun.
Tahapan
berikutnya setelah melalui unit test
adalah, melakukan proses refactoring.
Pada metode TFD, kode yang dihasilkan biasanya kurang rapi atau
acak-acakan. Oleh sebab itu dilakukan proses refactoring
agar kode lebih mudah di maintenance
dan dipahami oleh pengembang lain. Proses refactoring
dilakukan dengan memperhitungkan hasil pengujian agar tetap passed
artinya fitur tetap dapat bekerja sebagaimana mestinya (sesuai
spesifikasi).
Kelebihan dan Kekurangan :
Beberapa
keuntungan yang kita dapat ketika menggunakan Test
Driven Development adalah
:
- Saat terjadi error kita akan tahu persis letak error tersebut berada.
- Dibandingkan meng-test sistem secara keseluruhan, melakukan TDD memberikan waktu yang cepat dalam penggabungan suatu sistem.
Kekurangan
:
- Sulit menentukan unit test yang benar dalam sebuah studi kasus karena tidak ada ukuran yang menunjukkan kebenaran dari suatu unit test yang dibangun.
- Tim pembangun sulit membuat abstraksi dari sebuah interface karena tidak ada physical design yang dilakukan di awal proses pembangunan aplikasi. Tim pembangun hanya membangun aplikasi dengan design thinking.
- Dalam pembangunan aplikasi dengan metodologi ini dibutuhkan tim pembangun yang sudah berpengalaman dan memahami bagaimana menulis test yang baik dan juga mengerti sedikit tentang arsitektur yang baik sehingga tidak cocok bagi tim pembangun pemula.
Referensi
:
1.
Beck, K. (2003). Test-Driven Development: By Example. Boston :
Addison-Wesley.
2.
Rachmadi, G. 2015 . “Implementasi Test Driven Development Dalam
Studi Kasus Pengembangan Sistem Informasi Rawat Jalan Di Rumah Sakit
Hewan Universitas Airlangga”. Skipsi. Universitas Airlangga,
Surabaya.
3.
Firmansyah, R. 2016. “Pengembangan Perangkat Lunak Pengajuan Sidang
Tugas Akhir Menggunakan Metodologi Test Driven Development”.
Skripsi. Universitas Pasundan, Bandung.
4.
Setiawan, A., Satoto, K.I., Isnanto, R.R. 2013. “Implementasi
Automated Unit dan Integration Testing Pada Pengujian Perangkat
Lunak”. TRANSIENT. Vol.2, No.3, 708-713.
No comments:
Post a Comment