Desain laporan pada java dengan ireport & jcreator
Paper Review - Metodologi Testing
1. Review Paper
Software Testing Metodologi
Agung Sulistyanto
1611600709
agung.sulistyan@gmail.com
Abstraksi-Makalah ini bertujuan untuk
meninjau makalah yang membahas metodologi
dalam pengujian software. Kontribusi utama
dalam makalah ini adalah memberikan
gambaran umum tentang pengujian software
dengan metodologi yang berhasil dirangkum.
Tulisan ini tidak menyimpulkan metodologi
terbaik dan optimal pada kasus pengujian
software, karena metodologi terbaik
tergantung pada kebutuhan, fokus masalah
dan lingkungan hidup sistem yang telah ada.
Tulisan ini memaparkan kelebihan dan
kekurangan dari tiap-tiap metodologi. Tulisan
ini juga bermanfaat untuk mahasiswa atau
pengembang software yang baru memulai
dalam memahami pengujian software.
Kata kunci: software testing, metodologi
pengujian perangkat lunak, paper review
1. Pendahuluan
Pengujian perangkat lunak (software
testing) adalah proses mengevaluasi suatu
sistem atau komponen dengan tujuan untuk
menentukan apakah software yang
dikembangkan memenuhi syarat yang
ditentukan atau tidak. Hal ini digunakan untuk
mengidentifikasi kebenaran, kelengkapan,
keamanan dan kualitas produk perangkat lunak
yang dihasilkan terhadap spesifikasi. Sehingga
perlu dilakukan proses pengujian suatu sistem
untuk mengidentifikasi kesalahan atau
kebutuhan yang hilang dari yang seharusnya.
Ada banyak metodologi yang dilakukan
dalam pengujian perangkat lunak, namun
pengujian yang efektif dari produk yang
kompleks pada dasarnya adalah sebuah proses
penyelidikan, bukan hanya soal menciptakan
dan mengikute alur prosedur. Makah ini akan
membahas tentang metodologi software
testing yang paling umum dan sering
digunakan untuk mendeteksi kesalahan,
diantaranya: Black Box Testing, White Box
Testing dan Gray Box Testing. Ketiga
metodologi ini digunakan dalam
menggambarkan sudut pandang untuk
merancang test cases.
2. Diskusi
Bagian ini membahas proses dari tiap-tiap
metodologi. Dalam setiap sub bagian akan
membahas sejumlah hal yang telah dilakukan
dalam berbagai penelitian.
A. Black Box Testing
Teknik ini adalah pengujian tanpa melihat cara
kerja sistem didalam aplikasi. Hanya
memastikan kebutuhan dasar (input dan
output) sudah sesuai tanpa mengetahui
program atau struktur logika sistem bekerja.
Black Box Testing memperlakukan perangkat
lunak seperti “kotak hitam” – tanpa memiliki
pengetahuan tentang cara kerja internal sistem
dan hanya mengkaji aspek dasar dari suatu
sistem. Saat melakukan pengujian black box,
penguji harus mengetahui arsitektur dari
sistem tanpa perlu akses kedalam sumber
kode. [5]
2. Beberapa kelebihan dan kekurangan pengujian
black box, diantaranya:[4][5][10]
Keuntungan
a. Efisien terhadap susmber kode yang
besar.
b. Persepsi penguji sangat sederhana.
c. Perspektif pengguna dan pengembang
sistem berbeda (tester dan
programmer yang independen satu
sama lain).
d. Cepat dalam pembuatan test case.
Kekurangan
a. Hanya sejumlah operator scenario
pengujian sebenarnya dilakukan.
Akibatnya, hanya ada cakupan
terbatas.
b. Tidak ada spesifikasi yang jelas,
sehingga test case sulit dirancang.
c. Pengujian tidak efisien.
B. White Box Testing
Teknik ini adalah pengujian rinci dari struktur
logika didalam program. Dalam pengujian
white box penguji membutuhkan akses penuh
seluruh sumber kode yang digunakan.
White Box Testing adalah metode desain uji
kasus yang menggunakan struktur kontrol dari
desain procedural untuk membuat test case.
White box testing dapat mengungkapkan
kesalahan implementasi seperti manajemen
kunci yang buruk dengan menganalisis kerja
internal san struktur dari software. Pengujian
white box berlaku pada saat integrasi, satuan
dari tingkat sistem dari proses pengujian
perangkat lunak. Dalam pengujian white box,
penguji perlu melihat kedalam sumber kode
dan mengetahui unit kode jika berperilaku tidak
semestinya.[3]
Beberapa kelebihan dan kekurangan pengujian
white box, diantaranya:[3][4][10]
Keuntungan
a. Mengungkapkan kesalah pada kode
yang tersembunyi dengan menghapus
baris kode tidak perlu.
b. Memberikan efek yang bermanfaat.
c. Cakupan maksimum dicapai selama tes
menulis scenario.
Kekurangan
a. Hal ini sangat mahal karena
membutuuhkan penguji yang handal
untuk melakukannya.
b. Banyak alur yang akan tetap belum
teruji karena sulit untuk melihat ke
setiap sudut untuk mengetahui
kesalahan yang tersembunyi pada
setiap baris kode.
c. Beberapa code yang hilang pada code
dapat diketahui.
C. Gray Box Testing
Teknik ini adalah kombinasi antara Black Box
Testing dan White Box Testing. Digunakan
untuk pengujian dengan keterbatasan
pengetahuan tentang cara kerja internal sistem
dan memiliki pengetahuan tentang aspek
kebutuhan dasar dari sistem.
3. Teknik black box testing dapat meningkatkan
cakupan pengujian dengan memungkinkan kita
untuk focus pada semua lapisan dari setiap
sistem yang kompleks melalui kombinasi dari
semua pengujian black box dan white box
testing.
Dalam grey box testing penguji harus memiliki
pengetahuan tentang struktur data internal dan
algoritma, untuk tujuan mendesain test case.
Contoh teknik pengujian grey box testing
adalah:[6]
a. Architectural Model
b. Unified Modeling Language (UML)
c. State Model (Finite State Machine)
Dalam grey box testing, menguji kode dari dua
module yang dipelajari (metode pengujian
white box) untuk desain test cases dan actual
test yang sebenarnya dilakukan dalam
interface (metode black box).
Beberapa keuntungan dan kekurangan dalam
pengujian pengujian grey box, diantaranya:
[4][6][10]
Kelebihan
a. Pengujian grey box memberikan
gabungan manfaat pengujiaan black
box dan white box.
b. Dalam pengujian grey box, penguji
bergantung pada definisi interface dan
spesifikasi fungsional dari source
code.
c. Dalam pengujian grey box, penguji
dapat merancang skenario pengujian
yang sangat baik.
d. Pengujian dilakukan dari sudut
pandang pengguna bukan dari sudut
pandang desainer sistem.
e. Membuat tes authoring cerdas.
f. Pengujian berisi.
Kekurangan
a. Cakupan tes terbatas jika akses source
code tidak tersedia.
b. Sulit untuk mengasosiasikan
identifikasi cacat dalam aplikasi
terdistribusi.
c. Banyak alur program yang tetap
belum teruji.
d. Jika desainer software telah
melakukan pengujian, test bisa
berlebihan.
Tabel 1.1 Perbandingan
No. Black Box Testing Grey Box testing White Box Testing
1. Hanya analisis aspek
fundamental, tidak terbukti
cara kerja secara internal.
Pengetahuan partial cara
kerja internal.
Pengetahuan penuh cara
kerja internal.
2. Granularity rendah. Granularity menengah. Granularity tinggi.
3. Dilakukan oleh end user,
tester dan developer (User
Acceptance Testing).
Dilakukan oleh end user,
tester dan developer (User
Acceptance Testing).
Dilakukan oleh developer dan
tester.
4. Pengujian didasarkan pada
external exception –
perilaku internal pada
program diabaikan.
Test desain didasarkan pada
diagram basis data tingkat
tinggi, data flow diagram,
internal states, pengetahuan
tentang algoritma dan
arsitektur.
Internal sepenuhnya
diketahui.
5. Tidak cocok untuk pengujian
algoritma.
Tidak cocok untuk pengujian
algoritma.
Cocok untuk pengujian
algoritma.
4. 3. Kesimpulan
Kita dapat menentukan pengujian software
sebagai suatu kegiatan yang bertujuan untuk
mengevaluasi atribut atau kemampuan dari
sebuah program untuk menentukan bahwa
telah memenuhi spesifikasi yang dibutuhkan.
Pengujian software dapat memberikan
pendangan independen dari software untuk
memungkinkan bisnis menghargai risiko
implementasi software.
Untuk melakukan software dengan cara yang
lebih efektif, dalam makalah ini telah dijelaskan
dan dibandingkan 3 (tiga) teknik pengujian
software yang utama.
4. Daftar Pustaka
[1] Mohd. Ehmer Kahn, "Different Forms ff
Software Testing Techniques for Finding
Errors," IJSC, Vol. 7, Issue 3, No 1, pp
11-16, May 2010
[2] Software Testing Methodologies by
Azhar available at http://azhar-
paperpresentation.blogspot.com/2010/
04/software-testing-
methodologies.html
[3] Mohd. Ehmer Khan, “Different
Approaches to White Box testing
Technique for Finding Errors,” IJSEIA,
Vol. 5, No. 3, pp 1-13, July 2011
[4] Software Testing Methods available at
http://www.tutorialspoint.com/softwar
e_testing/testing_methods.htm
[5] Mohd. Ehmer Khan, “Different
Approaches to Black Box Testing
Technique for Finding Errors,” IJSEA,
Vol. 2, No. 4, pp 31-40, October 2011
[6] Grey Box Testing from Wikipedia
available at
http://en.wikipedia.org/wiki/Gray_box_
testing
[7] Comparison among Black Box Testing,
Gray Box Testing & White Box Testing
available at
http://www.softwaretestinggenius.com
/articalDetails?qry=404
[8] Predicting the Future of Testing by
Harry Robinson available at
http://www.stickyminds.com/sitewide.a
sp?Function=edetail&ObjectType=COL
&ObjectId=6887
[9] Software Testing available at
https://www.tutorialspoint.com/softwar
e_testing/
[10] Mohd. Ehmer Khan and Farmeena
Khan, "A Comparative Study of White
Box, Black Box and Grey Box Testing
Techniques," IJACSA, Vol. 3, No. 6,
2012