PENGUJIAN APLIKASI INVENTORY TAUFAN FISH FARM MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX
Rico Kurniasnyah - 16111133
Sano Sempati -16111595
Yanu Ardiansyah Hidayat -17111488
Sistem Informasi - UNIVERSITAS GUNADARMA Depok
Abstrak
Pengujian adalah proses untuk menemukan error pada perangkat lunak sebelum dikirim kepada pengguna. Pengujian Software adalah kegiatan yang ditujukan untuk mengevaluasi atribut atau kemampuan program dan memastikan bahwa itu memenuhi hasil yang dicari, atau suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test). Penulisan ini merupakan hasil tes ujicoba pada aplikasi inventory TAUFAN FISH FARM denga menggunakan metode white box dan black box. Metode White Box dan Black Box merupakan metode pada tahap Testing dan Implementasi pada daur hidup pengembangan sistem yang biasanya dikenal dengan System Development Life Cycle (SDLC).Teknik yang dipakai dari metode White Box ini Statement Coverage dan Branch Coverage dan metode Black Box ini menggunakan teknik Equivalence Portioning dan Boundary Value Analys.Hasil akhir dari analisis tersebut adalah untuk mengetahui aplikasi tersebut sesuai dengan yang diharakan pengembang
Kata Kunci : Inventory, Blackbox , Whitebox
1. PENDAHULUAN
1.1 Latar Belakang
Taufan Fish Farm merupakan salah satu supplier ikan hias yang sudah cukup terkenal dalam perannya untuk menyuplai berbagai macam ikan hias ke berbagai daerah di Indonesia. Mengikuti perkembangan jaman, Taufan Fish Farm juga memiliki salah satu alat teknologi yaitu komputer dalam menjalankan usahanya. Akan tetapi, komputer tersebut sayangnya tidak dimaksimalkan penggunaannya dalam kegiatan bisnis ikan hias. Dari masalah tersebut muncul ide dan solusi untuk membuat suatu aplikasi khusus agar kegiatan inventory yang dilakukan oleh Taufan Fish Farm dapat dilakukan dengan lebih efektif, cepat dan akurat. Aplikasi Inventory Taufan Fish Farm ini telah di implementasi dalam menjalankan pada perangkat desktop. Testing dan implementasi sistem merupakan salah satu bagian yang cukup penting dalam siklus pengembangan suatu sistem. Pada bagian ini kita dapat mengetahui apakah suatu sistem sudah dapat memenuhi tujuan dari pembuatannya sayangnya pembuat aplikasi ini tidak melakukan metode ujicoba seperti Uji Blackbox dan Whitebox bahkan Uji Usabilitas dan Uji Performance pun tidak.
1.2 Batasan Masalah
Aplikasi Inventori Taufan Fish Farm dapat digunakan dan masuk dalam tahap implementasi dan penggunaan untuk supplier ikan hias Taufan Fish Farm. Perlu dilakukan uji coba atau testing sesuai dengan metode dalam SDLC. Teknik yang dipakai dari metode White Box ini adalah Statement Coverage dan Branch Coverage dan metode Black Box ini menggunakan teknik Equivalence Portioning dan Boundary Value Analys .Objek yang akan diuji coba dalam metode Whitebox berupa sample salah satu form didalam aplikasi Taufan Fish Farm yaitu login user dan dalam metode Blackbox objek yang akan diuji coba adalah tampilan sample form yang diakses oleh user. Pada Aplikasi Inventory Taufan Fish Farm, karyawan Taufan Fish Farm adalah pengguna.
1.3 Tujuan Pengujian
Tujuan dari pengujian ini untuk mengetahui apakah Aplikasi Inventori Taufan Fish Farm sudah dapat memenuhi tujuan dari pembuatan aplikasi tersebut yaitu untuk melakukan kegiatan inventory pada Taufan Fish Farm. Ujicoba aplikasi ini juga dilakukan untuk mengetahui kelayakan kenis input yang dihasilkan dan mengetahui sensitifitas sistem terhadap input.
1.3 Metode Penelitian
Metode yang digunakan dalam penulisan ini yaitu
1. Studi Pustaka
Penulis membaca dan mempelajari materi dan teori dari internet yang berkaitan dengan White Box, Black Box , System Development Life Cycle ,tahap uji coba. Selain itu Penulis juga mencari materi dan teori dari jurnal walaupun lelah tapi kami tetap maju.
2. Studi Lapangan
Metode penelitian yang dilakukan oleh peneliti adalah dengan eksperimen dari metode pengujian tersebut terhadap sebuah perangkat lunak yang diuji .
2. LANDASAN TEORI
2.1 Metode System Development Life Cycle (SDLC)
System Develompemt Life Cycle (SLDC) adalah salah satu metode pengembangan sistem informasi yang popular pada saat ini sistem informasi Metode siklus hidup pengembangan sistem atau system development life cycle memepunyai beberapa tahapan sesuai dengan namanya, SDLC dimulai dari suatu tahapan sampai tahapan terakhir dan kembali lagi ketahapan awal membentuk suatu siklus atau daur hidup.
Tahapan-tahapan dalam metode SDLC adalah sebagai berikut.
1. Analis system (system analis)
a. Studi pendahuluan
b. Studi kelayakan
c. Mengidentifikasi permasalahan dan kebutuhan pemakai
d. Memahami sistem yang ada
e. Menganalisis hasil penelitian
2. Perancangan sistem (system design)
a. Perancangan awal
b. Perancangan rinci
3. Implementasi sistem (system implementation)
4. Operasi dan perawatan sistem (system operation and maintenance)
Siklus atau daur hidup pengembangan sistem tampak jika sistem yang sudah dikembangkan dan dioperasikan tidak dapat dirawat lagi, sehingga dibutuhkan pengembangan sistem kembali seperti gambar berikut ini.
2.2. Aplikasi Inventory Taufan Fish Farm
Aplikasi Inventory Taufan Fish Farm adalah suatu perangkat kunak yang berguna untuk mengelola data-data dalam kegiatan ber-inventory pada Taufan Fish Farm. Taufan Fish Farm sendiri merupakan suatu supplier ikan hias yang berada di kota Bogor.Aplikasi Inventory Taufan Fish Farm menggunakan bahasa pemrogaman Java sedangkan untuk databasenya menggunakan perangkat lunak MySql. Selain mengelola data, aplikasi ini juga dapat langsung membuat laporan berdasarkan data yang telah dibuat.
2.3. Metode White Box
White box adalah metode pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Kalau modul yang telah dan sudah di hasilkan berupa output yang tidak sesuai dengan yang di harapkan maka akan di compile ulang dan di cek kembali kode-kode tersebut hingga mencapai sesuai dengan yang di harapkan.Dengan menggunakan white box akan didapatkan kasus uji yang :
Menjamin seluruh jalur independen di dalam modul yang dieksekusi sekurang kurangnya sekali
menguji semua keputusan logikal
menguji seluruh Loop yang sesuai dengan batasannya
menguji seluruh struktur data internal yang menjamin validitas
Ada 3 teknik dalam White box testing : Statement Coverage, Branch Coverage, Path Coverage
Statement Coverage
Dalam bahasa pemrograman, statement tidak lain adalah baris kode atau instruksi untuk komputer untuk memahami dan member tindakan. Sebuah statement menjadi statement eksekusi ketika akan dikompilasi dan dikonversi menjadi kode obyek dan melakukan tindakan ketika program dalam mode berjalan.Oleh karena itu " Statement Coverage", seperti namanya, adalah metode untuk memvalidasi bahwa setiap baris kode dijalankan minimal sekali.
Branch Coverage
"Branch" dalam bahasa pemrograman adalah seperti "Statement IF". Jika pernyataan memiliki dua cabang: benar dan salah. Jadi dalam Branch Coverage (juga disebut Decision Coverage), kami memvalidasi bahwa setiap cabang dieksekusi minimal sekali.Dalam kasus "Statement IF", akan ada dua kondisi pengujian:Satu untuk memvalidasi cabang yang benar danLainnya untuk memvalidasi cabang yang salah Oleh karena itu dalam teori, Branch Coverage adalah metode pengujian yang ketika dijalankan memastikan bahwa setiap cabang dari masing-masing titik keputusan dijalankan.
Path Coverage
Path Coverage tes semua jalan yang ada dalam program. Ini adalah teknik yang komprehensif yang menjamin bahwa semua jalan dari program ini dilalui setidaknya sekali. Path coverage bahkan lebih kuat yang Branch coverage. Teknik ini berguna untuk menguji program yang kompleks.
2.4. Metode Black Box
Metode black box adalah proses menjalankan program dengan maksdu menemukan kesalahan (Myers 1979) metode ujicoba black box memfokuskan pada keperluan fungsional dari software. Pengujian black box merupakan pengujian yang mengabaikan mekanisme internal sistem atau komponen dan fokus semata mata pada output yang dihasilkan yang merupakan respon input yang dipilih dan kondisi eksekusi. Pengujian yang dilakukan untuk mengevaluasi pemenuhan sistem atau komponen dengan kebutuhan fungsional (IEEE, 1990). Karena itu ujicoba black box memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syaraf-syaraf fungsional suatu program. Uji coba blackbox buka merupakan alternatif dari ujicoba whitebox tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainya selain menggunakan metode whitebox.
Uji coba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori diantaranya :
fungsi yang hilang
Kesalahan interface
kesalahan dalam struktur data atau akses database external
kesalahan performa
kesalahan inisialisasi dan terminasi
2.4.1 Equivalance Partioning
Equivalance Partioning merupakan metode ujicoba blackbox yang membagi domain input dari program menjadi beberapa kelas data dari kasus ujicoba yang dihasilkan. Kasus uji penanganan single yang ideal menemukan sejumlah kesalahan (misalnya: kesalahan pemprosesan dari seluruh data karakter ) yang merupakan syarat lain dari suatu kasus yang dieksekusi sebelum kesalhan umum diamati.
Equivalance Partioning berusaha untuk mendefinisikan kasus uji yang menemukan sejumlah jenis kesalhan dan mengurangi jumlah kasus uji yang harus dibuat. Kasus uji yang didesain untuk Equivalance Partioning berdasarkan pada evaluasi dari ekuivalensi jenis atau class untuk kondisi input. Class-class yang ekuivalen mepresentasikan sekumpulan keadaan
valid dan invalid untuk kondisi input. Biasanya kondisi input dapat berupa spesifikasi nilai numerik, kisaran nilai, kumpulan nilai yang berhubungan atau kondisi Boolean.
2.4.2 Boundary Value Analysis
Sejumlah besar kesalahan cenderung terjadi dalam batasan domain input dari pada nilai tengah. Untuk alasan ini Boundary Value Analysis (BVA) dibuat sebagai teknik ujicoba . BVA mengarahkan pada pemilihan kasus uji yang melatih nilai-nilai batas. BVA merupakan desain teknik kasus uji yang melengkapi Equivalance Partioning. Dari pada memfokuskan hanya pada kondisi input, BVA juga menghasilkan kasus uji dari domain output.
3. PEMBAHASAN
3.1. White Box
Pada pengujian white box ini, kami mengambil sampel dari salah satu form didalam aplikasi taufan fish farm. untuk pengujian ini pula kami menggunakan Statement Coverage dan Branch Coverage.
3.1.1 Statement Coverage
Pada sampel yang sample form source code yang akan digunakan untuk testing adalah seperti pada Gambar 3.1. Bagian tersebut berguna untuk memeriksa input Username dan Password dari pengguna
Gambar 3.1 Source Code Form Login
Sebelum proses ujicoba dilakukan terlebih dahulu dibuat scenario uji yang akan menjadi acuan pada proses ujicoba berikut Skenario Tes Form Login pada Tabel 3.1.
No
Username
Password
Hasil
Log1
Took
ikan
Gagal , muncul pesan
Log2
Ikan
toko
Gagal , muncul pesan
Log3
Hias
ikan
Gagal , muncul pesan
Log4
TOKO
IKANHIAS
Berhasil
Tabel 3.1 Skenario Uji Test Form
Pada pengujian ini kami mencoba memasukkan Username dan Passwordnya secara berturut-turut sesuai dengan scenario uji dengan memberikan kondisi dimana Username dan Password yang benar adalah TOKO dan IKANHIAS. Dan setelah memasukkan Username dan Password tersebut maka muncul suatu pesan kesalahan jika Hasil adalah gagal sepeti pada Gambar 3.2
Gambar 3.2 Pesan Username/Password Salah
3.1.2. Branch Coverage
Pada metode ini, source code pada Gambar 3.1 diubah dalam bentuk flowchart seperti pada Gambar 3.2.
Gambar 3.2 Flowchar form login
Metode-metode pada pengujian white box ini adalah pengujian yang tidak melibatkan adanya bug. Metode tersebut hanya menunjukan proses-proses yang dilewati pada setiap kondisi yang telah dilakukan. Pada metode branch coverage ini, kami melakukan beberapa tes dengan memasukkan Username dan Password yang berbeda dengan "TOKO" dan "IKANHIAS" dan hasilnya adalah semua tes tersebut akan melewati tahap kondisi dan muncul message error. Sedangkan bila memasukkan "TOKO" dan "IKANHIAS" maka akan proses kemunculan message error akan dilewati dan masuk ke proses FormUtama.
3.2. Black Box
Dalam proses uji coba dengan metode blackbox juga dilakukan proses pembentukan scenario uji, penulis membuat batasan input dan hasil diharapkannya berbeda pada tiap kasus. Batasan input untuk txtbox tidak selalu bertipe data karakter. Hasil yang diharapkan juga berbeda antara inputan dengan tipe data karakter, numeric, penanggalan, dan sebagainya.
3.2.1 Batasan dari Equivalence Partioning dan Boundary value analysis
Berikut adalah batasan input dari setiap data inputan dan output beserta kisaran output yang akan menjadin acuan pembuat scenario tes:
Tabel 3.2 : Batasan Equivalence Partioning dan Boundary value analysis
Jenis Input
Test Case
Hasil yang diharapkan
Alfabet
Panjang input max 30 karakter
Input dapat disimpan
Panjang input kurang dari 30 karakter
Input dapat disimpan
Panjang input lebih dari 30 karakter
Input tidak dapat disimpan
Kombinasi input tanpa numerik
Input dapat disimpan
Kombinasi input dengan numerik
Input tidak dapat disimpan
Kombinasi input dengan simbol
Inout dapat disimpan
Numerik
Panjang input max 10 karakter
Input dapat disimpan
Panjang input kurang dari 10 karakter
Input dapat disimpan
Panjang input lebih dari 10 karakter
Input tidak dapat disimpan
Kombinadi input tanpa alfabet
Input dapat disimpan
Kombinadi input dengan alfabet
Input tidak dapat disimpan
Tanggal
Tidak ada aktivitas kegiatan input
-
Button
Klik
Valid jika dapat pesan berhasil dari aplikasi
Invalid jika tidak dapat pesan gagal atau tidak ada pesan
ComboBox
pilih 1 pilihan
Inputan dapat diproses
lebih dari 1 pilihan
Inputan tidak dapat diproses
Tidak memilih
Inputan tidak dapat diproses
Batasan yang dibuat dengan menggunakan teknik Batasan Equivalence Partioning dan Boundary value analysis didapat dari panjang maksimal tiap kolom dari database yang telah dibuat oleh pengembang aplikasi. Oleh karena itu dalam skema uji ini peneliti mengambil sample form dari form login, form Data Pelanggan, form Data Transaksi pasok yang dimana masing-masing form tersebut mewakili batasan yang dibuat sebelumnuya. Berikut adalah acuan untuk membuat batasan kasus pada teknik Batasan Equivalence Partioning dan Boundary value analysis:
Gambar 3.4 Batasan pada input alfabet
Gambar 3.5 Batasan pada input numerik
3.2.2 Skenario Uji per Form
1. Skenario Tes Form Login
No
Skenario Pengujian
Test Case
Hasil yang diharapkan
Hasil yang didapat
Log 01
Pengguna membuka aplikasi
Pengguna mengeklik aplikasi
Muncul tampilan form login
Sesuai dengan hasil yang diharapkan
Log 02
Isi textbox Username form login
Kursor dipindahkan ke textbox username
Kursor dapat mengisi
Textbox username
Sesuai dengan hasil yang diharapkan
Log 03
Isi textbox Password form login
Kursor dipindahkan ke textbox password
Kursor dapat mengisi
Textbox password
Sesuai dengan hasil yang diharapkan
Tabel 3.2 : Test Form Login
1. Skenario Tes Form Data Pelanggan
No
Skenario Pengujian
Test Case
Hasil yang diharapkan
Hasil yang didapat
Pel 01
Pengguna masuk kedalam form data pelanggan
Pengguna mengeklik tab form data pelanggan
Muncul tampilan form pelanggan
Sesuai dengan hasil yang diharapkan
Pel 02
Pengguna memilih
Tab cari yang sebelumnya memilih metode pencarian
Klik combo box tab pada metode pencarian
Muncul pilihan metode pencarian dan pilih salah satu
Sesuai dengan hasil yang diharapkan
Pel 03
Isi textbox cari pada form data pelanggan
Panjang input sesuai dengan data yang ada
Dapat ditemukan data yang di cari
Sesuai dengan hasil yang diharapkan
Pel 04
Isi textbox cari pada form data pelanggan
Panjang input tidak sesuai dengan data yang ada
Tidak Dapat ditemukan data yang di cari
Sesuai dengan hasil yang diharapkan
Pel 05
Isi textbox cari pada form data pelanggan
Input memiliki huruf yang sama dengan data namun besar kecil berbeda
Dapat ditemukan data yang di cari
Sesuai dengan hasil yang diharapkan
Pel 06
Pengguna memilih
Tab Tambah Pelanggan
Pengguna mengeklik tab Tambah pelanggan
Muncul tampilan form tambah pelanggan
Sesuai dengan hasil yang diharapkan
Pel 07
Isi texbox nama pelanggan
Kursor dipindahkan ke textbox nama pelanggan
Kursor dapat mengisi textbox nama pelanggan
Textbox dapat diisi inputan
Pel 08
Isi texbox nama pelanggan dengan panjang input max 30 karakter
Panjang input max 30 karakter
Input dapat disimpan
Input dapat disimpan dan muncul pesan sukses
Pel 09
Isi texbox nama pelanggan dengan panjang input lebih 30 karakter
Panjang input lebih 30 karakter
Input tidak dapat disimpan
Sesuai dengan hasil yang diharapkan dan tidak muncul pesan sukses
Pel 10
Isi texbox nama pelanggan dengan panjang input kurang dari 30 karakter
Panjang input kurang 30 karakter
Input dapat disimpan
Input dapat disimpan
Pel 11
Kombinasi input dengan numerik
Kombinasi input dengan numerik
Input tidak dapat disimpan
Input tidak dapat disimpan
Pel 12
Kombinasi input dengan simbol
Kombinasi input dengan simbol
Input dapat disimpan
Input dapat disimpan
Tabel 3.3 : Test Form Data pelanggan
1. Skenario Tes Form Data Transaksi Pasok
No
Skenario Pengujian
Test Case
Hasil yang diharapkan
Hasil yang didapat
Pas 01
Pengguna masuk ke dalam form data Transaksi Pasok
Pengguna mengeklik tab form data Transaksi Pasok
Muncul tampilan form Transaksi Pasok
Sesuai dengan hasil yang diharapkan
pas 02
Pengguna memilih
Tab Tambah transaksi
Klik Tab tambah transaksi
Muncul Form
Sesuai dengan hasil yang diharapkan
Pel 03
Isi textbox harga satuan pada form data Transaksi Pasok
Kursor dipindahkan ke textbox harga satuan
Kursor dapat mengisi textbox harga satuan
Sesuai dengan hasil yang diharapkan
Pel 04
Isi texbox harga satuan dengan panjang input max 10 karakter numerik
Panjang input max 10 karakter numerik
Input dapat diproses
Saat jumlah pesan diisi dan hitung di klik
Sesuai dengan hasil yang diharapkan
Pel 05
Isi texbox harga satuan dengan panjang input lebih dari 10 karakter numerik
Panjang input lebih dari 10 karakter numerik
Input dapat diproses
Sesuai dengan hasil yang diharapkan
Pel 06
Isi texbox harga satuan dengan panjang input kurang dari 10 karakter numerik
Panjang input max 10 karakter numerik
Input dapat diproses
Saat jumlah pesan diisi dan hitung di klik
Sesuai dengan hasil yang diharapkan
Pel 07
Isi texbox nama pelanggan saat textbox jumlah pesan tidak diisi
Textbox jumlah pesan tidak diisi
Inputan tidak dapat diproses
Sesuai dengan hasil yang diharapkan
Tabel 3.3 : Test Form Data Transaksi Pasok
Dalam pengujian ini pada kolom hasil yang didapat menghasilkan nilai yang valid dan berikuit hasil perhitungan analisa dari ketiga form yang telah diuji melalui scenario uji pada table 3.4.
No
Skenario Test
Jumlah Test Case
Jumlah Valid
Jumlah invalid
Hasil validasi
1
Form Login
3
3
0
100 %
2
Form Data pelanggan
12
12
0
100 %
3
Form Data Transaksi Pasok
7
7
0
100 %
Tabel 3.4 : Hasil perhitungan Analisa