Apa itu Unit Test?
Unit testing adalah jenis pengujian perangkat lunak yang menguji bagian terkecil dari kode, yaitu unit, secara terpisah untuk memastikan bahwa setiap unit berfungsi sebagaimana mestinya. Unit biasanya berupa fungsi, metode, atau kelas dalam suatu program.
Tujuan Unit Test
Unit test sendiri memiliki beberapa tujuan diantaranya:
• Mendeteksi bug lebih awal sebelum kode digabungkan dengan bagian lain dari sistem.
• Meningkatkan kualitas kode dengan memastikan setiap bagian bekerja dengan baik.
• Mempermudah debugging karena jika terjadi kesalahan, sumber masalah lebih mudah ditemukan.
• Mendukung refactoring sehingga kode bisa diperbaiki atau dioptimalkan tanpa takut merusak fungsionalitas yang sudah ada.
PEST
PEST merupakan framework testing untuk php, yang berfokus pada kesederhanaan dan bertujuan untuk membuat testing lebih menyenangkan. Pest dibuat di atas PHPUnit, jadi migrasi dari PHPUnit ke PEST relatif mudah.
Fitur Unggulan PEST
Pest memiliki keistimewaan dibanding library atau framework testing PHP lainnya, diantaranya:
- Error message yang lebih jelas. Pest memiliki error yang lebih deskriptif sehingga relatif lebih muda untuk perbaikan.
- Bisa melakukan test secara parallel dengan flag —parallel. Pest bisa melakukan testing secara parallel dengan multi proses. Jadi proses testing dapat dijalankan secara bersamaan, sehingga waktu testing dapat lebih cepat.
- Dokumentasi yang lebih mudah untuk dijelajahi. Dokumentasi ataupun manual pest relatif lebih mudah untuk dipelajari.
- Menyediakan alat profiling khusus yaitu —profile untuk optimasi dan identifikasi proses testing yang lambat.
- Memiliki arsitektural testing.
Pengujian arsitektur memungkinkan tester menentukan ekspektasi untuk menguji apakah aplikasi sudah mematuhi serangkaian aturan arsitektural, sehingga membantu menjaga basis kode yang bersih dan berkelanjutan. Ekspektasi ini ditentukan berdasarkan namespace relatif, namespace lengkap, atau nama fungsi. - Test coverage. Test coverage merupakan sebuah matrik yang digunakan untuk mengukur presentasi kode yang dieksekusi ketika proses testing dijalankan. Fitur ini membantu programmer untuk mengidentifikasi bagian kode mana yang mungkin belum ditest dan kode yang memiliki cakupan rendah (low coverage). Kode dengan cakupan rendah biasanya mengindikasikan adanya potensi bug.
- Mutation Testing. Mutation Testing membantu programmer untuk mengevaluasi kualitas test suit yang sudah dibuat.
- Team Management. Team management dapat mengatur tugas dan todos ke tim programmer secara langsung melalui konsol. Jadi leader dapat membuat, menugaskan, dan melacak tugas, dan juga melacak perkembangan dari tugas tersebut.
Dengan fitur tersebut, dapat dilihat bahwa PEST ini merupakan framework testing yang cukup powerfull.
Source: pest website