Anda di halaman 1dari 6

ISSN : 2407 - 3911

PENGUJIAN APLIKASI MENGGUNAKAN BLACK BOX


TESTING BOUNDARY VALUE ANALYSIS
(Studi Kasus : Aplikasi Prediksi Kelulusan SNMPTN)

M. Sidi Mustaqbal1, Roeri Fajri Firdaus2, Hendra Rahmadi3


Jurusan Teknik Informatika, Fakultas Teknik, Universitas Widyatama
Jl. Cikutra no. 204 A,Bandung, 40125
Email : sidi.mustaqbal@gmail.com1, rff.firdaus@gmail.com2, eenk.hendra@yahoo.co.id 3

Abstrak Abstract
Pengujian adalah suatu proses pelaksanaan Testing is a process of implementing a program
suatu program dengan tujuan menemukan suatu with the aim of finding faults. A good test case is that
kesalahan. Suatu kasus test yang baik adalah apabila if the test is able to find an error that was not
test tersebut mempunyai kemungkinan menemukan revealed. A successful test is when that test can find
sebuah kesalahan yang tidak terungkap. Suatu test the error that was not found at the beginning. One of
yang sukses adalah bila test tersebut membongkar the types of testing is called Black Box Testing.
suatu kesalahan yang awalnya tidak ditemukan. Salah
The aim of this research is trying to apply the
satu dari jenis pengujian yang ada adalah Black Box
blackbox testing on a software. Black Box Testing
Testing.
provide us with some techniques to run the test, such
Pada penelitian ini dicoba diterapkan pengujian as: Equivalence Partitioning, Boundary Value
dengan menggunakan teknik Black Box Testing. Analysis, Comparison Testing, Sample Testing,
Metoda Black Box Testing terdiri atas beberapa cara Robustness Tesing, and others. Among the many
antara lain Equivalence Partitioning, Boundary Value ways of testing, we choose the software testing using
Analysis, Comparison Testing, Sample Testing, Boundary Value Analysis techniques.
Robustness Tesing, dan lain-lain. Diantara sekian
Boundary Value Analysis is a way of testing by
banyak cara pengujian tersebut, pada penelitian ini
determine the value of the lower limit and upper limit
dipilih cara pengujian Boundary Value Analysis.
of the data that want to test. Testing was conducted
Boundary Value Analysis merupakan cara on the Add Class functionality of the developed
pengujian dengan menentukan nilai batas bawah dan software called Aplikasi Prediksi Kelulusan
batas atas dari data yang ingin diuji. Pengujian ini SNMPTN.
dilakukan pada fungsi tambah kelas pada Aplikasi
The test results show that there are still many
Prediksi Kelulusan SNMPTN.
shortcomings when performing data validation, so it
Hasil pengujian menunjukkan bahwa masih can cause unexpected data is saved into database.
terdapat banyak kekurangan saat melakukan validasi The result can give the feedback for developer to
data yang akan dimasukkan, sehingga dapat improve the application features.
menyebabkan data yang disimpan pada database
Keywords:
tidak sesuai dengan data yang diharapkan. Hasil
pengujian dapat dijadikan masukan untuk Testing, Testing Blackbox, Boundary Value Analysis.
memperbaiki aplikasi.
Kata kunci :
Pengujian, Blackbox Testing, Boundary Value
Analysis.

31
M. Sidi Mustaqbal, Roeri Fajri Firdaus, Hendra Rahmadi
Jurnal Ilmiah Teknologi Informasi Terapan
Volume I, No 3, 10 Agustus 2015
ISSN : 2407 - 3911

I. PENDAHULUAN menyediakan template untuk pengujian bagi pembuat


software. Dalam hal ini, semuanya harus memiliki
karakteristik umum berupa (Bhat and Quadri, 2015) :
Aplikasi Prediksi Kelulusan Seleksi Nasional 1. Testing dimulai pada level modul dan
Masuk Perguruan Tinggi Negeri (SNMPTN) bekerja keluar ke arah integrasi pada sistem
merupakan aplikasi yang dibuat untuk membantu berbasiskan komputer
para guru bimbingan konseling ketika membimbing 2. Teknik testing yang berbeda sesuai dengan
siswa/siswi nya untuk memilih perguruan tinggi poin-poin yang berbeda pada waktunya
mana yang diperkirakan pas dengan prestasi mereka 3. Testing diadakan oleh pembuat/pengembang
selama ini. Dengan aplikasi ini, diharapkan tingkat software dan untuk proyek yang besar oleh
kelulusan siswa pada SNMPTN dapat meningkat. group testing yang independent
4. Testing dan Debugging adalah aktivitas
Pada aplikasi ini terdapat beberapa modul, antara yang berbeda tetapi debugging harus
lain modul pengelolaan kelas, pengelolaan siswa, diakomodasikan pada setiap strategi testing
pengelolaan data nilai siswa, pengelolaan data
Perguruan Tinggi Negeri dan Jurusannya, Pengurutan Pengujian software adalah satu elemen dari
peringkat siswa berdasarkan nilai rapot, dan lain-lain. sebuah topik yang lebih luas yang sering diartikan
sebagai Verifikasi dan Validasi (V&V)
Setelah aplikasi selesai dibuat, maka perlu
dilakukan pengujian untuk memastikan semua proses Verifikasi: menunjuk kepada kumpulan aktifitas
berjalan sesuai dengan yang diinginkan. Pengujian yang memastikan bahwa software telah
adalah suatu proses pelaksanaan suatu program mengimplementasi sebuah fungsi spesifik.
dengan tujuan menemukan suatu kesalahan. Suatu Validasi: menunjuk kepada sebuah kumpulan
kasus test yang baik adalah apabila test tersebut berbeda dari aktivitas yang memastikan bahwa
mempunyai kemungkinan menemukan sebuah software yang telah dibangun dapat ditelusuri
kesalahan yang tidak terungkap. Suatu test yang terhadap kebutuhan customer.
sukses adalah bila test tersebut membongkar suatu
kesalahan yang awalnya tidak ditemukan. Tujuan Definisi V&V meliputi banyak aktifitas SQA
utama dari pengujian adalah untuk mendesain test (software quality assurance), termasuk review teknis
yang secara sistematik membongkar jenis kesalahan formal, kualitas dan audit konfigurasi, monitor
dengan usaha dan waktu minimum. performance. Terdapat beberapa tipe yang berbeda
dalam pengujian software yang meliputi studi
kelayakan dan simulasi. (Bhat and Quadri, 2015):
II. KAJIAN LITERATUR 1. Metode software engineering menyediakan
dasar dari mutu yang mana yang akan
II.1 Pengujian Software
dipakai.
Pengujian software sangat diperlukan untuk 2. Metode Analysis, design and Construction
memastikan software/aplikasi yang sudah/sedang berupa tindakan untuk meningkatkan
dibuat dapat berjalan sesuai dengan fungsionalitas kualitas dengan menyediakan teknik yang
yang diharapkan. Pengembang atau penguji software seragam dan hasil yang sesuai dengan
harus menyiapkan sesi khusus untuk menguji keinginan.
program yang sudah dibuat agar kesalahan ataupun 3. Metode Formal Technical Reviews
kekurangan dapat dideteksi sejak awal dan dikoreksi menolong untuk memastikan kualitas kerja
secepatnya. Pengujian atau testing sendiri merupakan produk merupakan hasil konsekuensi dari
elemen kritis dari jaminan kualitas perangkat lunak setiap langkah software engineering.
dan merupakan bagian yang tidak terpisah dari siklus 4. Metode Measurement diberlakukan pada
hidup pengembangan software seperti halnya setiap elemen dari konfigurasi software
analisis, desain, dan pengkodean. (Shi, 2010) 5. Metode Standards and Procedures
membantu untuk memastikan keseragaman
Pengujian software haruslah dilakukan dalam
dan formalitas dari SQA untuk menguatkan
proses rekayasa perangkat lunak atau software
dasar filosofi kualitas total
engineering. Sejumlah strategi pengujian software
telah diusulkan dalam literatur. Semuanya

32
M. Sidi Mustaqbal, Roeri Fajri Firdaus, Hendra Rahmadi
Jurnal Ilmiah Teknologi Informasi Terapan
Volume I, No 3, 10 Agustus 2015
ISSN : 2407 - 3911

6. Metoda Testing menyediakan cara terakhir 5. Membangun software yang sempurna yang
dari tingkat kualitas mana yang dapat didesain untuk menguji dirinya sendiri
dicapai dan dengan praktis dapat 6. Menggunakan tinjauan ulang yang formal
mengetahui letak error. sebagai filter sebelum pengujian
7. Melakukan tinjauan ulang secara formal
Davids menyarankan satu set prinsip pengujian:
untuk menilai strategi tes dan kasus tes itu
1. Semua test harus dapat dilacak ke kebutuhan
sendiri
pelanggan.
8. Mengembangkan pendekatan peningkatan
2. Test harus direncanakan dengan baik sebelum
yang berkelanjutan untuk proses testing
pengujian mulai.
a. Prinsip Pareto berlaku untuk pengujian Ada beberapa jenis pengujian perangkat lunak,
b. 80% dari semua kesalahan yang terungkap antara lain (Khan, 2011):
selama pengujian akan mudah dapat dilacak 1. Pengujian white box adalah pengujian yang
dari 20% semua modul program. didasarkan pada pengecekan terhadap detail
3. Pengujian seharusnya mulai dari yang kecil dan perancangan, menggunakan struktur kontrol
pengujian perkembangan ke arah yang besar. dari desain program secara prosedural untuk
4. Pengujian menyeluruh adalah tidak mungkin. membagi pengujian ke dalam beberapa
Paling efektif, pengujian harus diselenggarakan kasus pengujian. Secara sekilas dapat
oleh suatu pihak ketiga mandiri. diambil kesimpulan white box testing
merupakan petunjuk untuk mendapatkan
Langkah-langkah pengujian software ada 4 program yang benar secara 100%,
yaitu: 2. Black-Box Testing merupakan pengujian
1. Unit testing-testing per unit yaitu mencoba yang berfokus pada spesifikasi fungsional
alur yang spesifik pada struktur modul dari perangkat lunak, tester dapat
kontrol untuk memastikan pelengkapan mendefinisikan kumpulan kondisi input dan
secara penuh dan pendeteksian error secara melakukan pengetesan pada spesifikasi
maksimum fungsional program.
2. Integration testing testing per
penggabungan unit yaitu pengalamatan dari II.2 White Box Testing
isu-isu yang diasosiasikan dengan masalah
White Box Testing adalah salah satu cara untuk
ganda pada verifikasi dan konstruksi
menguji suatu aplikasi atau software dengan cara
program
melihat modul untuk dapat meneliti dan menganalisa
3. High-order test yaitu terjadi ketika software
kode dari program yang di buat ada yang salah atau
telah selesai diintegrasikan atau dibangun
tidak. Kalau modul yang telah dan sudah di hasilkan
menjadi satu tidak terpisah-pisah
berupa output yang tidak sesuai dengan yang di
4. Validation test yaitu menyediakan jaminan
harapkan maka akan dikompilasi ulang dan di cek
akhir bahwa software memenuhi semua
kembali kode-kode tersebut hingga sesuai dengan
kebutuhan fungsional, kepribadian dan
yang diharapkan (Nidhra and Dondetti, 2012).
performa.
Kasus yang sering menggunakan white box
Tom Gilb menyatakan bahwa prosedur yang
testing akan di uji dengan beberapa tahapan yaitu:
harus digunakan jika ingin mengimplementasikan
strategi testing software yang sukses (Bhat and 1. Pengujian seluruh keputusan yang
Quadri, 2015): menggunakan logikal.
1. Menetapkan seluruh kebutuhan produk 2. Pengujian keseluruh loop yang ada sesuai
software dalam perhitungan sebelum batasan-batasannya.
memulai testing 3. Pengujian pada struktur data yang sifatnya
2. Status obyek testing harus jelas internal dan yang terjamin validitasnya.
3. Memahami pengguna software dan
Kelebihan White Box Testing antara lain
mengembangkan sebuah profil untuk setiap
(Nidhra and Dondetti, 2012) :
kategori user
4. Mengembangkan rencana testing yang 1. Kesalahan Logika
menekankan pada rapid cycle testing

33
M. Sidi Mustaqbal, Roeri Fajri Firdaus, Hendra Rahmadi
Jurnal Ilmiah Teknologi Informasi Terapan
Volume I, No 3, 10 Agustus 2015
ISSN : 2407 - 3911

Menggunakan sintax if dan sintax 5. Berapa banyak rata-rata data dan jumlah data
pengulangan. Langkah selanjutnya metode yang dapat ditangani sistem?
white box testing ini akan mencari dan 6. Efek apa yang dapat membuat kombinasi data
mendeteksi segala kondisi yang di percaya ditangani spesifik pada operasi sistem?
tidak sesuai dan mencari kapan suatu proses
Saat ini terdapat banyak metoda atau teknik
perulangan di akhiri.
untuk melaksanakan Black Box Testing, antara lain:
2. Ketidaksesuaian Asumsi 1. Equivalence Partitioning
2. Boundary Value Analysis/Limit Testing
Menampilkan dan memonitor beberapa 3. Comparison Testing
asumsi yang diyakini tidak sesuai dengan 4. Sample Testing
yang diharapkan atau yang akan 5. Robustness Testing
diwujudkan, untuk selanjutnya akan 6. Behavior Testing
dianalisa kembali dan kemudian diperbaiki. 7. Requirement Testing
3. Kesalahan Pengetikan 8. Performance Testing
9. Uji Ketahanan (Endurance Testing)
Mendeteksi dan mencaribahasa-bahasa 10. Uji Sebab-Akibat (Cause-Effect Relationship
pemograman yang di anggap bersifat case Testing)
sensitif.
II.4 Boundary Value Analysis / Limit Testing
Kelemahan White Box Testing adalah pada
perangkat lunak yang jenisnya besar, metode white Boundary value analysis adalah salah satu
box testing ini dianggap boros karena melibatkan teknik black box testing yang melakukan pengujian
banyak sumberdaya untuk melakukannya. (Nidhra pada batas atas dan batas bawah nilai yang diisikan
and Dondetti, 2012) pada aplikasi. Beberapa prinsip yang mendasari pada
boundary value analysis (BVA) yaitu :
II.3 Black Box Testing 1. Banyak kesalahan terjadi pada kesalahan
Black Box Testing berfokus pada spesifikasi masukan.
fungsional dari perangkat lunak. Tester dapat 2. BVA mengijinkan untuk menyeleksi kasus uji
mendefinisikan kumpulan kondisi input dan yang menguji batasan nilai input.
melakukan pengetesan pada spesifikasi fungsional 3. BVA merupakan komplemen dari equivalence
program. partitioning. Lebih pada memilih elemen-elemen
di dalam kelas ekivalen pada bagian sisi batas dari
Black Box Testing bukanlah solusi alternatif dari kelas.
White Box Testing tapi lebih merupakan pelengkap 4. Contoh:
untuk menguji hal-hal yang tidak dicakup oleh White a. Untuk rentang yang dibatasi a dan b maka
Box Testing. uji (a-1), a, (a+1), (b-1), b, (b+1).
Black Box Testing cenderung untuk b. Jika kondisi input mensyaratkan sejumlah n
menemukan hal-hal berikut: nilai maka uji dengan sejumlah (n-1), n dan
1. Fungsi yang tidak benar atau tidak ada. (n+1) nilai.
2. Kesalahan antarmuka (interface errors). c. Aplikasikan dua aturan sebelumnya pada
3. Kesalahan pada struktur data dan akses basis data. kondisi output (buat table pengujian hasil
4. Kesalahan performansi (performance errors). outputnya untuk nilai maksimal dan
5. Kesalahan inisialisasi dan terminasi. minimal).
d. Jika struktur data internal dari program
Pengujian didesain untuk menjawab pertanyaan- memiliki cakupan (misal: ukuran buffer,
pertanyaan berikut: batas array) gunakan data input yang
1. Bagaimana fungsi-fungsi diuji agar dapat menguji batas cakupan.
dinyatakan valid? Secara umum, aplikasi BVA dapat dikerjakan
2. Input seperti apa yang dapat menjadi bahan kasus secara generic. Bentuk dasar implementasi BVA
uji yang baik? adalah untuk menjaga agar satu variable berada pada
3. Apakah sistem sensitif pada input-input tertentu? nilai nominal (normal atau rata-rata) dan mengijinkan
4. Bagaimana sekumpulan data dapat diisolasi? variable lain diisikan dengan nilai ekstrimnya. Nilai

34
M. Sidi Mustaqbal, Roeri Fajri Firdaus, Hendra Rahmadi
Jurnal Ilmiah Teknologi Informasi Terapan
Volume I, No 3, 10 Agustus 2015
ISSN : 2407 - 3911

yang digunakan untuk menguji keekstriman data tersedia isinya. Untuk kedua field tersebut, akan
adalah: dibuat scenario pengujian dan hasil ujinya seperti
Min -------- minimal pada tabel 2 hingga tabel 7.
Min+ -------- di atas minimal
Tabel 1. Struktur Tabel Kelas
Nom -------- rata-rata
Nama Field Type Data Constraint
Max- -------- tepat di bawah maksimum
Id_kelas Int(11) PK
Max -------- Maksimum Nama kelas Varchar(10)
Sebagai contoh, misalnya akan dientrikan data Tahun ajaran Varchar(11)
tanggal. Data tanggal memiliki tiga variable yaitu Id guru Int(11) FK(Guru)
tanggal, bulan dan tahun. Maka untuk ketiga variable Id jurusan Int(11) FK(Jurusan)
tersebut, dapat diambil kondisi berikut :
1 tanggal 31 A. Pengujian field Nama Kelas
1 bulan 12 Aturan entri data A.1 : harus terdiri dari 3 kata.
1812 tahun 2016
Maka untuk setiap entri data di luar angka di Tabel 2. Hasil Uji Aturan A.1
atas akan menampilkan pesan Tanggal yang anda Sample Expected Result Conclusion
isikan salah. Data Result
IPA 12 F T Failed
12 IPA 1 T T Success
III. PENGUJIAN BOUNDARY VALUE 12 IPS 2 A F T Failed
ANALYSIS
Aturan entri data A.2 : Kata pertama merupakan
Berdasarkan penjelasan sebelumnya, dicoba angka 12
diterapkan teknik BVA untuk menguji aplikasi yaitu
Tabel 3. Hasil Uji Aturan A.2
Aplikasi Prediksi Kelulusan SNMPTN. Aplikasi
Sample Expected Result Conclusion
ini sendiri memuat beberapa fungsi dan modul, Data Result
namun pada artikel ini sebagai contoh akan dibahas
hasil pengujian pada salah satu fungsionalitas yaitu 11 F T Failed
12 T T Success
Tambah Kelas. Fungi Tambah Kelas terdiri atas
13 F T Failed
satu panel entri data seperti pada gambar 1. Pada
form ini terdapat 3 field entri data yaitu jurusan, Aturan entri data A.3 : Kata kedua merupakan nama
nama kelas dan tahun ajaran. jurusan (IPA atau IPS)

Tabel 4. Hasil Uji Aturan A.3


Sample Expected Result Conclusion
Data Result
AAA F T Failed
IPA T T Success
IPS T T Success
MIPA F T Failed

Aturan entri data A.4: Kata ketiga hanya berupa


angka dari 1 sampai 10
Tabel 5. Hasil Uji Aturan A.4
Gambar 1. Form Tambah Kelas Sample Expected Result Conclusion
Data Result
Data hasil entri form di atas akan disimpan pada 0 F T Failed
tabel dengan format seperti pada tabel 1. 1 T T Success
Berdasarkan form di atas, kemudian dilakukan 2 T T Success
pengujian dengan menyiapkan beberapa data uji. Dari 9 T T Success
10 T T Failed
bentuk form di atas, contoh pengujian akan dilakukan
11 F T Failed
pada dua field yaitu nama kelas dan tahun ajaran. Hal
ini karena field Jurusan berupa dropbox yang sudah

35
M. Sidi Mustaqbal, Roeri Fajri Firdaus, Hendra Rahmadi
Jurnal Ilmiah Teknologi Informasi Terapan
Volume I, No 3, 10 Agustus 2015
ISSN : 2407 - 3911

B. Pengujian field Tahun ajaran 2. Estimasi banyaknya data uji dapat dihitung
melalui banyaknya field data entri yang akan
Aturan entri data B.1: Harus berupa angka dengan
panjang 4 karakter diuji, aturan entri yang harus dipenuhi serta
kasus batas atas dan batas bawah yang
Tabel 6. Hasil Uji Aturan B.1. memenuhi.
Sample Expected Result Conclusion 3. Setelah melakukan pengujian diketahui bahwa
Data Result fungsionalitas masih bisa berjalan namun masih
203 F T Failed dapat menerima masukan data yang tidak
2017 T T Success diharapkan sehingga dapat menyebabkan data
20123 F T Failed yang disimpan kurang valid.
4. Berdasarkan hasil uji dengan metoda BVA
maka fungsi entri data perlu dilengkapi dengan
Aturan entri data B.2: Tahun ajaran harus di antara
2011 dan 2015 beberapa proses validasi data untuk menjamin
akurasi entri data sesuai fungsional yang
Tabel 6. Hasil Uji Aturan B.2. diinginkan.
Sample Expected Result Conclusion
Data Result
DAFTAR PUSTAKA
2010 F T Failed
2011 T T Success Shi, Mingtao, 2010, Software Functional Testing from the
2012 T T Success Perspective of Business Practice Computer and
2014 T T Success Information Science, www.ccssenet.org/cis
2015 T T Success Bhat, A, and Quadri, S.M.K, 2015, Equivalence Class
2016 F T Failed Partitioning and Boundary Value Analysis = A
review, 2nd International Conference on
Berdasarkan hasil uji pada satu form di atas, Computing for Sustainable Global
dapat disiapkan beberapa kasus data uji. Pada contoh Development (INDIACom)
di atas, terdapat dua field yang akan diuji, dengan
Khan, Mohd Ehmer, 2011, Different Approach to Blackbox
masing-masing field memuat minimal 2 aturan uji. Testing Technique for Finding Error,
Untuk satu aturan uji, perlu disiapkan minimal 3 data International Journal of Software Engineering
uji, sehingga total data uji yang perlu disiapkan untuk & Applications (IJSEA), Vol.2, No.4, October
kasus di atas adalah 2 field x 2 aturan x 3 data uji 2011
yaitu 12 data uji. Hal ini dapat memberikan gambaran
Nidhra, Srinivas, and Dondeti, Jagruthi, 2012, Blackbox
jumlah data uji yang harus disiapkan untuk and Whitebox Testing Techniques - A
melakukan blackbox testing dengan metode BVA. Literature Review, International Journal of
Hasil pengujian memperlihatkan bahwa aplikasi ini Embedded Systems and Applications (IJESA)
masih memiliki beberapa kekurangan yaitu belum Vol.2, No.2, June 2012
lengkapnya proses validasi data sehingga masih perlu
penyempurnaan dengan menambah fungsi validasi.

IV. KESIMPULAN
Setelah melakukan pengujian pada
fungsionalitas tambah kelas dengan menggunakan
metode pengujian Blackbox Testing Boundary Value
Analysis dapat ditarik kesimpulan bahwa:
1. Metode Blackbox Testing merupakan salah satu
metode yang mudah digunakan karena hanya
memerlukan batas bawah dan batas atas dari
data yang di harapkan,

36
M. Sidi Mustaqbal, Roeri Fajri Firdaus, Hendra Rahmadi
Jurnal Ilmiah Teknologi Informasi Terapan
Volume I, No 3, 10 Agustus 2015

Anda mungkin juga menyukai