Bayangkan, kita sedang menjadi seorang programmer di sebuah perusahaan rintisan (startup) teknologi. Proyek baru sudah berjalan selama beberapa minggu dan sekarang waktunya untuk merilis fitur-fitur terbaru kepada pengguna. Semuanya terlihat lancar: fitur-fitur sudah selesai, kode telah dirilis, dan aplikasi siap digunakan. Namun, dua hari setelah peluncuran, seorang pengguna melaporkan masalah: aplikasi sering mengalami crash ketika tombol “Checkout” ditekan. Tim panik dan harus segera mencari penyebabnya. Setelah menghabiskan berjam-jam memeriksa log dan kode, ternyata masalahnya ada pada satu baris kode yang gagal menangani input kosong.
Bug ini seharusnya bisa dicegah jika kita telah menulis dan menjalankan unit testing.
Apa itu unit testing?
Unit testing adalah pengujian pada unit terkecil dari kode, biasanya berupa fungsi atau metode, untuk memastikan program bekerja sesuai harapan. Dengan unit testing, setiap bagian kode diuji satu per satu secara terisolasi. Jadi, jika kita membuat program yang terdiri dari 100 method, paling sedikit kita harus menulis 100 method unit testing. Pada kenyataannya, sebagian besar tim tidak sempat menulis unit test karena terburu-buru mengejar deadline. Akhirnya, bug ditemukan oleh pengguna dan merusak reputasi tim. Ini adalah masalah umum yang dihadapi banyak tim pengembang.