Persoalan :
Ujilah kelas Math yang disediakan oleh Java apakah benar berfungsi dengan baik sebagaimana seharusnya atau terdapat batasan-batasan tertentu.
Program :
Berikut adalah hasil running program tersebut
Pembahasan :
Pengujian merupakan aktivitas yang sering diabaikan dalam pengembangan, terlebih di Indonesia. Pengujian memerlukan keahlian spesifik. Pengujian dapat menghindari peluang kerugian karena kesalahan telah dapat ditemukan saat pengembangan bukan saat operasi produktif. Pengujian menempati prioritas minor di kebanyakan pengembangan. Pengujian sebaiknya dilakukan secara otomatis, bukan secara interakif. Setelah perbaikan program, kita dapat mengulangi pengujian tanpa harus berulang kali memasukkan kasus pengujian lewat keyboard secara interaktif.
Metode di atas apabila dipanggil akan memperlihatkan hasil program di layar dimana kita dapat memeriksa kebenaran antarmuka (yaitu konstanta E dan PI, serta metode-metode di kelas).
Pada testAbs() terhadap double, kita harus menerapkan prinsip "equivalence partitions" dimana kita harus memperoleh kelompok-kelompok dimana satu anggota kelompok dapat dipandang mewakili kelompok itu. Dalam pesoalan abs() adalah :
- <0, diwakili oleh -23.7 mewakili seluruh anggota kelompok <0
- 0, diwakili oleh 0 yang merupakan satu-satunya anggota kelompok
- >0, diwakili oleh 23.7 mewakili seluruh anggota kelompok >0
Persoalan penting berikutnya adalah masalah batas-batas domain. Bila kita membaca dokumentasi Java, maka double mengikuti spesifikasi IEEE dalam jangkauan bilangan negatif dan jangkauan bilangan positif.
Dengan metode test() kita melakukan pengujian, namun kita harus mengamati hasil dan membandingkan sendiri hasil yang diperoleh di layar komputer.
Betapa sulitnya pengujian tampak pada metode tersebut :
- Kita telah dibantu kode pengujian dimana akan tampil di layar : "Error :: " bila terdapat kesalahan di program (metode) yang diuji.
- Namun, kita dapat terjebak bila menggunakan fasilitas bahasa seperti pada kasus di atas. Dimana di Java pada kasus batas tidak sesuai definisi matematika untuk fungsi absolut.
- Penguji harus pintar agar sesuai dengan konstrain yang berlaku di Matematika, tidak hanya mengandalkan yang disediakan oleh bahasa.
Kakas pengujian otomatis membantu kita dalam pengujian. Kakas pengujian otomatis di pemrograman Java antara lain JUnit, HttpUnit, Cactus. Penulis belum dapat melengkapi program di buku ini menggunakan pengujian berdisiplin menggunakan JUnit.
Demikian juga penting untuk menggunakan kakas-kakas bantu otomatis dalam tahap-tahap pengebangan aplikasi. Kakas bantu yang penting di pemrograman Java antara lain Ant, JUnit, Cactus, CVS, dan sebagainya.





No comments:
Post a Comment