Senin, 30 September 2013

Extreme Programming dengan Java Open Source Tools - Rekayasa Perangkat Lunak

Extreme Programming 
dengan Java Open Source Tools



Ulasannya :

JUnit adalah salah satu tools yang membantu kita untuk melakukan unit testing terhadap kode yang cocok sekali bila diimplementasikan dalam XP. Martin Fowler berkata “Whenever you are tempted to type something into a print statement or a debugger expression, write it as a test instead.”

Artikel edisi sebelumnya, telah dibahas apa itu Extreme Programming dan focus artikel ini pada continuous integration dan automated testing, yang tentu saja, karena bidang penulis adalah Java, maka penulis menerangkannya menggunakan tools-tools Java yang kebetulan open source untuk melakukan implementasi Extreme Programming. Dimana, pada edisi lalu diterangkan Ant untuk automated testing. Artikel ini akan membahas untuk melakukan testing terhadap kode-kode yang telah dibuat menggunakan framework
xunit yaitu JUnit (http://www.junit.org). Framework ini disebut xunit, karena saat ini setelah ada banyak varian dari unit testing yang bekerja serupa untuk setiap bahasa, diantaranya untuk Python ada PyUnit.

Mengapa kita perlu Unit Testing?

JUnit adalah sebuah framework yang dikembangkan di atas Java, yang dibuat oleh masternya Extreme Programming, Kent Beck dan masternya Design Pattern, Erich Gamma. JUnit dapat dikatakan sebuah simple test framework yang didesain untuk melakukan testing yang bersifat berulang. Sebelumnya Kent Beck mengembangkan Sunit yaitu unit testing untuk SmallTalk yang sangat populer dengan MVC-nya. 

Umumnya programmer malas untuk membuat unit testing karena dianggap pekerjaan tambahan. Memang sih, untuk pekerjaan yang simpel dan tetap, unit testing dirasakan memberatkan, tetapi kalau programmer yang sudah terbiasa membuat komponen pasti tahu deh, apa yang terjadi kalau ada kode-kode yang sudah berjibun dan direfactor, sebagai contoh misalnya semua kode dari com.intercitra.model.* dipindahkan ke org.blueoxygen.cimande. model.*. Pekerjaan di atas memang mudah apalagi kalau menggunakan Eclipse dari eclipse.org, tinggal click kanan, pilih refactor, terus rename, selesai. Sadar, tidak sadar, semua code yang berhubungan dengan object didalam package com.intercitra. model.* harus dirubah. Kalau semua code
dalam Eclipse Project, kita tidak perlu pusing, karena secara tidak langsung semua import com.intercitra.model.* akan di-rename menjadi import org.blueoxygen.cimande. model.*. 

Sayangnya, apa dikata, bagi programmer JSP, tetap harus melakukan unit testing satu per satu semua kegiatan yang memanggil object didalam package org.blueoxygen.cimande.model.*, harus edit satu per satu, makanya sampai saat ini JSP dibilang salah satu mekanisme pemograman yang kotor dengan kata lain
membuat pekerjaan tambahan di kemudian hari. Lain halnya dengan aplikasi menggunakan pendekatan lain yang lebih OOP, kita dapat melakukan refactoring secara cepat terhadap seluruh kode. 

Apakah dengan melakukan refactoring, semua programer yakin semua kode kita akan berjalan dengan mulus dan stable? Unit testing adalah jawaban untuk merealisasikannya, karena unit testing adalah sebuah mekanisme yang meyakinkan kita bahwa setiap perubahaan terhadap kode akan menghasilkan result yang benar. Unit testing yang sukses akan lebih meyakinkan bahwa kode kita ini benarbenar berjalan dengan baik.

JUnit, IDE, dan Ant 

Sebenarnya melakukan unit testing itu gampang-gampang susah, karena secara konsep yang mengacu pada JUnit, unit testing itu dipecah menjadi dua bagian, yaitu TestCase dan TestSuite, di mana TestSuite merupakan kumpulan TestCase-TestCase. Hebatnya saat ini IDE yang ada sudah memasukan JUnit secara terintegrasi, sehingga kita tidak perlu pusing, jalankan IDE, buat TestCase, execute testing, selesai. Malahan IDE yang hebat tersebut kita tidak perlu membeli, semuanya open source, cobalah kunjungi eclipse.org atau netbeans.org untuk mendapatkannya. 

Apakah dengan mekanisme seperti melakukan unit testing secara console based tidak relevan lagi? Dari pengalaman penulis, didapatkan bahwa melakukan testing dengan IDE memang menyenangkan, kita bisa melakukan testing satu demi satu, tetapi apa yang terjadi kalau kita ada 1000 TestSuite, dan setiap TestSuite ada 100 TestCase? Wallahualam, ini mimpi buruk yang lain lagi.

Sayangnya mimpi buruk tersebut telahdipecahkan oleh team Ant, yang telah melakukan JUnit integration ke dalam Ant, sehingga kita dapat membuat sebuah kegiatan automated testing bersamaan dengan unit testing secara mudah, di mana pengembangan Ant untuk pemula telah dibahas diartikel Extreme Programming sebelumnya (Bagian 1). 

Semua programer akan merasakan kemudahan pemograman bila menggunakan
Ant yang sudah diberikan Junit, karena dari sini source code bisa didistribusikan terpadu dengan skenario unit testing dalam satu eksekusi syntax. Ant akan secara otomatis melakukan compile source code, baik itu
source code utama maupun source code untuk unit testing, dan saat yang bersamaan (berurutan tentu saja), akan melakukan unit testing, dan setelah itu kita bisa lihat resultnya. Result JUnit dapat digenerate

ini printscreennya :



ini bila ingin download file :

https://www.evernote.com/shard/s236/sh/1d01a3ff-738d-4901-94a3-6a3edf78e4c6/4e4191d74bc3a92297e9fe703df791b4

Tidak ada komentar :

Posting Komentar