Pengertian Unit Testing
Unit testing adalah sebuah langkah pengujian terhadap perangkat lunak atau komponen dari sebuah perangkat lunak. Biasanya, unit testing dilakukan disaat masa development atau pengembangan dari sebuah aplikasi yang dilakukan oleh developer. Pengujian unit testing ini meliputi dari function, method, procedure, module, serta object.
Tujuan dan Manfaat Unit Testing
Tujuan dari unit testing adalah untuk menguji serta memastikan kalau kode – kode yang kita buat sudah berjalan sesuai spesifikasi nya serta mendeteksi jika terdapat bug dari sebuah program.
Sedangkan manfaat dari Unit Testing sendiri adalah membantu mengurangi error di sebuah program dan membantu kita menguji, apakah program yang kita buat sudah layak dirilis ke pasar atau tidak.
Kategori Unit Testing
Teknik unit testing sendiri dikategorikan menjadi 3 bagian.
- Black Box Testing, kegunaanya untuk menguji user interface serta input, output nya.
- White Box Testing, kegunaanya untuk menguji perilaku fungsional dari sebuah program perangkat lunak.
- Gray Box Testing, biasanya digunakan untuk menganalisis kerusakan.
Tools Unit Testing
Seperti yang sudah dijelaskan sebelumnya, unit testing adalah suatu pengujian software yang dilakukan secara manual ataupun otomatis dengan menggunakan alat bantu atau tools khusus. Tapi, kebanyakan developer saat ini lebih memilih metode otomatis. Berikut ini adalah beberapa tools yang bisa kamu pilih untuk melakukan unit testing.
- JUnit: tools unit testing untuk aplikasi yang menggunakan bahasa pemrograman Java
- NUnit: framework unit testing untuk aplikasi yang menggunakan bahasa pemrograman .NET
- JMockit: tools unit testing untuk aplikasi yang berbasis open source
- EMMA: tools untuk menganalisis dan melaporkan kode yang menggunakan bahasa pemrograman Java
- PHPUnit: tools unit testing untuk PHP programmer
Perbedaan Unit Testing dengan Gamma Testing
Gamma testing adalah suatu tahap pengujian yang dilakukan setelah suatu aplikasi lolos pengujian alpha testing dan beta testing. Tahap ini dilakukan setelah tidak ada lagi perubahan dalam suatu sistem aplikasi.
QATestLab menjelaskan bahwa pengujian ini dilakukan agar bisa memastikan suatu produk sudah benar-benar siap untuk dipasarkan. Untuk itu, fokus utamanya adalah pada keamanan dan juga fungsionalitas produk.
Dalam fase ini, suatu produk tidak boleh mengalami berbagai perubahan selain perbaikan kritis yang bisa berdampak pada fungsi dan juga keamanan produk. Jadi, jika ditemukan masalah yang tidak penting, maka tim akan melakukan perbaikan pasca aplikasi tersebut dirilis.
Fase yang berada pada urutan ketiga setelah alpha testing dan beta testing ini dilakukan secara langsung dengan melewatkan berbagai pengujian secara in-house. Untuk itu, setiap penguji tidak anggap peserta penguji, tapi lebih dianggap sebagai pengguna.
Perbedaan Unit Testing dengan Beta Testing
Beta testing merupakan suatu rangkaian dalam user acceptance test yang dilakukan sebelum suatu produk aplikasi dirilis ke pasar. Tujuan dari dilakukannya pengujian ini adalah agar bisa menemukan dan juga mengidentifikasi bug sebanyak-banyaknya.
Kegiatan ini dilakukan dengan melibatkan beberapa pengguna yang disebut dengan beta tester. Dalam pengerjaannya, setiap pengguna tersebut akan menguji kondisi dan karakteristik yang sama, mulai dari hardware sampai kondisi internet yang memang sedang digunakan.
Tahapan dalam pengujian ini juga akan memungkinkan setiap tim product development untuk melakukan tes keamanan dan kendala yang tidak bisa dilakukan di dalam proses alpha testing.
Kedua pengujian tersebut dilakukan agar bisa mengetahui tingkat keamanan produk dan juga kemampuan produk software tersebut.
Perbedaan Unit Testing dan Alpha Testing
Alpha testing adalah suatu kegiatan pengujian yang dilakukan pada aplikasi menjelang akhir dari proses product development saat suatu produk aplikasi sudah dalam kondisi siap digunakan. Dilansir dari laman India Times, bentuk pengujian ini tidak akan melibatkan pengujian fungsional dalam sebuah aplikasi.
Sebaliknya, proses ini adalah tahap pengujian untuk dapat memahami setiap perilaku dan juga pengalaman pengguna aplikasi. Umumnya, pengujian ini dilakukan secara langsung oleh tim developer, karyawan, dan bisa juga teman atau keluarga dengan tujuan menguji coba pada sekitar 80% pelanggan.