Pertemuan ke-14 "Unit Testing"
Unit testing merupakan suatu proses pengujian bagian terkecil perangkat lunak yang dikenal sebagai unit,yang mana kita memastikan unit itu berfungsi dengan benar. Unit testing bertujuan untuk menguji bagian terkecil dari perangkat lunak, seperti fungsi atau metode, secara terpisah untuk memastikan bahwa setiap bagian berfungsi dengan benar. Tujuan utamanya adalah:
- Menemukan dan memperbaiki bug lebih awal
- Memastikan akurasi logika pada tiap unit
- Mendukung perubahan dan pengembangan kode secara berkelanjutan
- Mempermudah proses debugging
- Menyediakan dokumentasi perilaku fungsi
- Meningkatkan kepercayaan terhadap kualitas dan stabilitas kode
Dengan melakukan unit testing, pengembang dapat menjaga kualitas perangkat lunak sejak tahap awal pengembangan.
1.Karakteristik kode yang baik untuk unit testing
Low Coupling dalam perangkat lunak berarti tingkat ketergantungan antar artifact (seperti fungsi, metode, atau kelas) dibuat serendah mungkin. Tujuannya adalah agar satu bagian kode tidak terlalu terpengaruh oleh perubahan pada bagian lain, sehingga:
- Lebih mudah diuji (unit testing lebih efisien)
- Lebih mudah dipelihara dan dimodifikasi
- Meningkatkan fleksibilitas dan reusability kode
Dengan low coupling, perangkat lunak menjadi lebih modular dan stabil.
2.Karakteristik unit test yang baik
Unit test yang baik memiliki ciri-ciri sebagai berikut: otomatis (dapat dijalankan tanpa campur tangan manusia), cepat dalam eksekusi, dan terisolasi dari unit lain atau data eksternal. Selain itu, unit test harus repeatable (hasilnya konsisten saat diuji ulang), spesifik (mengukur satu hal saja), serta mudah dipahami oleh pengembang lain. Unit test juga harus self-validating, artinya hasil uji bisa diketahui secara otomatis lewat assertion, dan dapat dijalankan kapan saja tanpa persiapan khusus.
Dengan karakteristik ini, unit test menjadi alat yang efektif untuk menjaga kualitas dan stabilitas perangkat lunak.
3.Test Driven Development (TDD)
Yaitu menulis terlebih dahulu test sebelum menulis kode sebenarnya.
4.Cara Melakukan Pengujian Unit
-
Pilih Unit yang Akan Diuji
Tentukan fungsi, metode, atau kelas yang ingin diuji secara terpisah. -
Tentukan Input dan Output yang DiharapkanBuat skenario uji berdasarkan kemungkinan input dan hasil yang diharapkan.
-
Tulis Kode PengujianGunakan framework unit testing (misalnya: JUnit untuk Java, PyTest/Unittest untuk Python) untuk menulis script pengujian.
-
Gunakan AssertionTambahkan pernyataan (assert) untuk memeriksa apakah hasil aktual sesuai dengan hasil yang diharapkan.
-
Jalankan Unit TestEksekusi pengujian dan lihat apakah semua test berhasil.
-
Perbaiki Kode jika GagalJika unit test gagal, perbaiki kode sumber sampai semua pengujian lulus.
-
Uji Kembali Setelah PerubahanLakukan pengujian ulang setiap kali ada perubahan pada kode untuk memastikan tidak ada gangguan fungsi.
5.Blackbox testing adalah metode pengujian perangkat lunak di mana penguji mengevaluasi fungsi dan perilaku sistem dari sudut pandang pengguna, tanpa mengetahui atau memeriksa struktur internal kode. Pengujian ini berfokus pada input, proses, dan output, untuk memastikan sistem bekerja sesuai dengan spesifikasi yang diharapkan.
Cocok digunakan untuk menguji validasi data, antarmuka pengguna, serta hasil akhir dari suatu proses aplikasi.
6.Whitebox testing adalah metode pengujian perangkat lunak di mana penguji memeriksa struktur internal, logika, dan kode program secara langsung. Pengujian ini bertujuan untuk memastikan bahwa semua alur logika, kondisi, dan jalur eksekusi dalam kode berfungsi dengan benar. Biasanya dilakukan oleh developer untuk menguji unit kecil dari program secara menyeluruh.
Teknik ini efektif untuk menemukan kesalahan logika, jalur tak terpakai, dan potensi kerentanan dalam kode.
Komentar
Posting Komentar