Pentingnya membuat UNIT TEST


Sekarang saya kasih contoh kode yang dengan adanya UNIT TEST, kode yang saya bikin bakal jadi lebih baik dibandingkan tanpa UNIT TEST

Contoh sekarang saya mau bikin sebuah method helper buat ngambil nama belakang dari full name, kayak gambar dibawah ini nih,

Simple kan kodenya? Yup, kalo kita test dengan memasukkan nama Eko Khannedy, maka hasilnya bakal jadi Khannedy.

Tanpa UNIT TEST, kita tidak akan tahu kalau kode diatas bakal jadi bom waktu, sampai ada input2 yang tidak terduga dari user saat menginputkan full name. Misal pengguna memasukkan full name yang hanya NULL, hanya 1 kata, atau bahkan lebih dari 2 kata?

Nah oleh karena itu, kita perlu membuat UNIT TEST!

UNIT TEST itu kita buat untuk mencoba2 input data yang salah dan bahkan kejadian2 yang memang tidak kita inginkan.

Seandainya saya membuat unit test seperti dibawah ini.

Kalo UNIT TEST diatas dijalankan, maka hasilnya bisa dilihat pada gambar dibawah ini. Saya menggunakan IntelliJ IDEA untuk menjalankan UNIT TEST-nya.

UNIT TEST

UNIT TEST

Bisa dilihat kalo dari 4 UNIT TEST yang kita buat, hanya 1 yang berhasil, yaitu testGetLastNameValid(), sedangkan yang 3 lainnya GAGAL, bahkan parahnya 2 diantaranya mengakibatkan EXCEPTION (warna merah).

Dengan menggunakan UNIT TEST itu, kita bisa memastikan bahwa kode yang sudah kita buat itu belum layak dibilang SIAP untuk di deliver ke client. Oleh karena itu perlu diperbaiki lagi.

Misal kode NameHelper ini saya perbaiki menjadi seperti berikut.

Selanjutnya kita coba jalankan UNIT TEST nya lagi, dan hasilnya

UNIT TEST

UNIT TEST

Dengan begitu sekarang kita lebih PD men-deliver code yang telah kita buat, karena sudah lulus tahap TEST.

Iklan

12 pemikiran pada “Pentingnya membuat UNIT TEST

  1. om, mu tanya nih,, aq sering liat project tutorial dari om,, la q pernah liat ada project yang dalamnya jga ada project,, kyak tutorial jglasspane,, la itu caranya gmna om, dan pmbuatan seperti itu biasa disebut ap?? terima ksih sebelumnya

  2. om, cara nambahin image di module project gmna ya,, pasti error begini om
    Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
    at javax.swing.ImageIcon.(ImageIcon.java:205)
    at id.tiyanr.ssir.Login.initComponents(Login.java:33)
    at id.tiyanr.ssir.Login.(Login.java:15)
    at id.tiyanr.ssir.App$1.run(App.java:39)

  3. Salam Om Eko..sy mau bertanya?
    saya punya method spt ini :
    public void hitungGaji(){
    inStatus=(EditText)findViewById(R.id.inStatus);

    inGaji=(EditText)findViewById(R.id.inGaji);
    String ambilSts = inStatus.getText().toString();
    int gapok =0;
    int tunjangan =0;
    int totalgaj =0;

    if(ambilSts.equals(“Menikah”)){

    gapok=5000000;
    tunjangan=(10/100)*gapok;
    totalgaj=gapok+tunjangan;

    }else if(ambilSts.equals(“Belum Menikah”)){

    totalgaj=5000000;
    }
    inGaji.setText(“Rp. “+totalgaj);
    }

    sebaiknya unit testnya spt apa untuk mengetahui methode diatas trsbut berfungsi atau tidak..soalnya ketika metode tersebut saya panggil dan saya komple equalnya itu kadang terbaca yang bawah..kadang tidak terbaca sama sekali.terimakash sblmnya

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s