Mengenal Unit Testing

Unit testing merupakan sebuah teknik untuk mengetes apakah sub-sub fitur pada software kita berjalan sesuai yang kita ekspektasikan atau tidak. Mengapa saya sebut sub-sub fitur? Karena, daripada kita menjadikannya dalam satu fitur lebih baik kita pecah menjadi beberapa sub fitur.

Kasus kecil sederhana misalnya kita punya sebuah kalkulator yang memiliki fitur menambah atau membagi angka. Sebagai user kita berharap bahwa detail fiturnya seperti ini:

  • Operasi penambahan angka berjalan dengan baik dan bisa ditambah dengan banyak deret. Misalnya, 1+2+3+… dst
  • Jika suatu angka kecuali angka nol dibagi dengan angka nol maka hilangkan angka pembagi tersebut (angka nol)

Bisa dibayangkan kalau jika detail fitur tersebut tidak dites menggunakan unit testing yang disediakan oleh tools/framework bahasa pemrograman dan tes tersebut dilakukan secara manual oleh software developer maka akan menyebabkan diri kita sebagai software developer kewalahan dan waktu terbuang sia-sia.

Saat artikel ini ditulis, saya baru menyelesaikan tutorial dasar unit testing menggunakan PHP yang disediakan oleh Code Course. Tutorial dasar tersebut sudah dibuat pada tahun 2017 dan pastinya ada beberapa hal yang mesti kita ubah baik dari versi phpunit dan php yang digunakan.

Tantangan yang akan kamu alami saat belajar di sana adalah:

  1. Berhadapan dengan error Countable jika kamu menggunakan versi PHP 7.1 ke atas. Jika mengalami kendala seperti ini, silahkan baca artikel saya tentang cara menanggulanginya: “Mengatasi error Countable di PHP 7.2”.
  2. Pemanggilan use pada library phpunit testing yang mesti kamu perbaiki jika menggunakan versi PHP 7.1 ke atas.

Tips dari saya bagi yang mengenal unit testing pertama kali dan ingin belajar:

  1. Jangan ikuti tutorial yang kompleks, ikutilah tutorial yang bersifat fundamental atau dasar.
  2. Setiap kali selesai pada testing sub-fitur maka dokumentasikanlah menggunakan version control system misalnya Git.