Saturday, October 24, 2009

Unit Testing : Merasakan Manfaat dari Yang Terabaikan

 

image

Green Bar!!! Pengujian berhasil…

Meski skripsi saya dulu tentang Extreme Programming, tidak sering saya menggunakan konsep2 XP dalam pengembangan software (pun, karena umumnya saya membantu pembelajaran dan pengembangan software untuk Tugas Akhir ya, yg menurut hemat saya, tidak perlu membutuhkan Unit Testing). Akibatnya, saat benar2 ada pengembangan software dalam skala komersial/produksi, saya lupa dengan Unit testing. Wah, pelajaran berharga. Begini kasusnya.

Aplikasi harus mendeteksi file2 baru pada suatu folder, dan jika ada yang baru, ia akan mengindeksnya dan memasukkan ke database. Oke, fitur ini rampung. Namun, saat pengetesan, saya benar2 mensimulasikan hal tersebut : saya kopi2 file baru ke folder tersebut. Setelah cek indexing berhasil, saya hapus. Dan diulang lagi.

Ini benar? ya tidak noh. Lah, kalau perlu mengetest … sampai 20 kali???. Kan ga praktis kalau paste dan undo via Windows Explorer ?

Solusinya ini : method pengindeks-an yang sedang dikerjakan dan diverifikasi, ditest tidak dengan mencoba kopi paste ke folder tersebut, namun di test dengan menggunakan Unit Testing via JUnit pada IntelliJ IDEA (Netbeans atau apapun sama saja). Perhatikan kode ini :

 

public void testSimilarity(){
       String file1 = "D:\\_SWDEV\\GO\\8.PLA\\work\\repos\\s1.txt";
       String file2 = "D:\\_SWDEV\\GO\\8.PLA\\work\\repos\\s2.txt";
       try {
           Indexer.getInstance().indexDocument(new File(file1));
           Indexer.getInstance().indexDocument(new File(file2));
        } catch (DocumentAlreadyExistException e) {
           e.printStackTrace();  }

   }

Nah, kode itu bisa dipanggil berulang via RUN biasa (jadi sekali tekan tombol RUN aja, sudah ketest). Tekan berapa kali pun, hasilnya akan sama. Ga perlu kopi paste kan?

Semoga bermanfaat!

NB:

  • Nanti saya share terus tentang JUnit terus… manfaat sekali lho…
  • Insya Allah… :)

2 comments:

Anonymous said...

Wah, 1 lagi manfaat penggunaan unit testing di dunia nyata yang saya ketahui.
Makasih atas tulisannya...

Eko said...

Sama2. smg bermanfaat! :)