Unit Testing
Unite testing adalah sebuah kode yang ditulis oleh developer, yang
digunakan untuk menguji bagian kecil/area spesifik dari suatu
fungsionalitas dari kode yang akan ditest. Unit testing akan memperbaiki
design code dan mengurangi waktu yang digunakan untukdebugging secara
drastis.
Unit testing dilakukan oleh programmer yang menuliskan suatu modul/unit tertentu. Test code tidak akan dikirimkan ke user, jadi hanya production
code (kode yang digunakan dalam program utama) yang dikirim ke user.
Unit testing dilakukan setelah programmer selesai menuliskan suatu
kode/fungsi/method yang ada dalam suatu class. Dapat juga dilakukan setelah menambahkan sebuah fungsionalitas baru atau setelah melakukan refactoring.
Unit testing membutuhkan suatu tools yang spesifik untuk tiap-tiap
bahasa pemrograman. Dan tools tersebut terpisah dengan bahasa
pemrograman. Beberapa contoh tools yang digunakan pada unit testing :
- CUnit : digunakan untuk bahasa C
- JUnit : digunakan untuk bahasa Java
- VBUnit : digunakan untuk bahasa Basic
- NUnit : digunakan untuk bahasa C# (baca: c-sharp)
- PHPUnit : digunakan untuk bahasa PHP
Pada kasus ini aka dibahan unti test yang digunakan untuk bahasa Java (JUnit)
JUnit adalah sebuah testing framework Java yang bersifat open source
yang digunakan untuk menulis dan menjalankan software testing secara
berulang-ulang. JUnit mengikuti arsitektur xUnit dalam membuat framework
unit testing-nya. JUnit dikembangkan oleh Erich Gamma dan Kent Beck.
JUnit dapat diperoleh dengan mendownload dari situs http://junit.sourceforge.net/.
Permasalahan utama yang sering muncul pada pengujian dengan metode
konvensional adalah tidak efisiennya penggunaan waktu. Menuliskan
statement-statement debug ke dalam kode adalah metode yang kurang
efektif. Metode ini mengharuskan developer untuk mengamati output
program dengan cermat setiap kali program dijalankan untuk memastikan
program berjalan dengan benar.
Dengan menggunakan JUnit untuk
mengkodekan ekspektasi-ekspektasi dalam bentuk Automated Unit Testing,
maka kegiatan pengujian menjadi lebih singkat.
Dalam unit testing, terdapat beberapa aturan penamaan yang harus
diikuti. Sebuah test class harus memiliki nama yang sama dengan class
yang akan di-test dan diberiprefix “test”.
Contoh:
Sebuah class Account akan memiliki sebuah test class dengan nama TestAccount. Penamaan tersebut dimaksudkan untuk mempermudah dalam mengorganisasi unit testing sebuah test class harus merupakan turunan (extends) dari
classjunit.framework.TestCase. Untuk dapat menggunakan semua fungsi yang
ada dalam package JUnit, kita harus meng-importjunit.framework.* pada
tiap test class yang akan kita tulis.
Test Runner yang digunakan mempunyai fitur untuk mencari sekumpulan
test case dalam suatu test class. Agar fitur tersebut dapat berfungsi,
kita harus mendefinisikan method TestSuite( ), yang mengembalikan
instance TestCase atau TestSuite. Keduanya merupakan implementasi dari
interface class Test. Test Suite juga dapat digunakan untuk
mengeksekusi test method, dimana nama test method tersebut tidak
menggunakan kata “test”.
Method assert adalah suatu method yang akan membantu dalam menentukan sebuah method yang sedang ditest/diuji berjalan dengan baik atau tidak. Bila sebuah method mengalami kegagalan, eksekusi dari test method tersebut
akan dibatalkan sedangkan test untuk method yang lainnya akan tetap
berjalan.
0 komentar:
Posting Komentar