Pertanyaaan
Sebut
dan jelaskan bentuk dari masing-masing test, bagaimana cara menintegrasikan
masing-masing test tersebut?
Jawaban
Jenis-jenis test/pengujian sebagai
berikut :
1. Pengujian white box
2. Pengujian basis path
3. Pengujian struktur kontrol
4. Pengujian black box
Penyelesaian sebagai
berikut :
1.
Pengujian
white box
Pengujian white box adalah pengujian
yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur
kontrol dari desain program secara procedural untuk membagi pengujian ke dalam
beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box
testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.
Penggunaan metode
pengujian white box dilakukan untuk :
ü Memberikan
jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali
ü Menggunakan
semua keputusan logis untuk semua kondisi true atau false
ü Mengeksekusi
semua perulangan pada batasan nilai dan operasional pada setiap kondisi.
ü Menggunakan
struktur data internal untuk menjamin validitas jalur keputusan.
Persyaratan dalam menjalankan strategi White
Box Testing
ü Mendefinisikan
semua alur logika
ü Membangun kasus
untuk digunakan dalam pengujian
ü Mengevaluasi
semua hasil pengujian
ü Melakukan
pengujian secara menyeluruh
UJI COBA WHITE BOX
Uji coba white box adalah metode perancangan
test case yang menggunakan struktur kontrol dari perancangan prosedural untuk
mendapatkan test case. Dengan rnenggunakan metode white box, analis sistem akan
dapat memperoleh test case yang menjamin seluruh independent path di dalam
modul yang dikerjakan sekurang-kurangnya sekali mengerjakan seluruh keputusan logical
mengerjakan seluruh loop yang sesuai dengan batasannya mengerjakan seluruh
struktur data internal yang menjamin validitas.
2.
Pengujian
basis path
Uji coba basis path adalah
teknik uji coba white box yg diusulkan Tom McCabe. Metode ini memungkinkan
perancang test case mendapatkan ukuran kekompleksan logical dari perancangan
prosedural dan menggunkan ukuran ini sbg petunjuk untuk mendefinisikan basis
set dari jalur pengerjaan. Test case yg didapat digunakan untuk mengerjakan
basis set yg menjamin pengerjaan setiap perintah minimal satu kali selama uji coba.
UJI COBA BASIS PATH
Notasi diagram alir
Gambar
1 Contoh
Untuk menggambarkan pemakaian diagram alir diberikan contoh
perancangan prosedural dalam bentuk flowchart
Gambar 2
Diagram Alir
Selanjutnya diagram alir diatas dipetakan ke
grafik alir
node
Gambar 3 Grafik Alir
ü Lingkaran/node :
Menggambarkan satu/lebih perintah prosedural. Urutan proses dan
keputusan dapat dipetakan dalam satu node.
ü Tanda panah/edge :
Menggambarkan aliran kontrol. Setiap node
harus mempunyai tujuan node.
ü Region :
Adalah daerah yg dibatasi oleh edge dan node.
Termasuk daerah diluar grafik alir.
Contoh menterjemahkan pseudo code ke grafik
alir
1: do while record masih ada baca record
2: if record ke
1 = 0
3: then proses
record
simpan di buffer
naikan kounter
4: else if
record ke 2 = 0
5 then reser kounter
6 proses record
simpan
pada file
7a: endif
endif
7b: enddo
8 : end
Gambar 4 Menerjemahkan PDL ke grafik Alir
Nomor pd pseudo code berhubungan dengan nomor
node. Apabila diketemukan kondisi majemuk (compound condition) pada pseudo cade
pembuatan grafik alir menjadi rumit. Kondisi
majemuk mungkin terjadi pada operator Boolean (AND, OR, NAND, NOR) yg dipakai
pada perintah if.
Contoh :
if A or B
then procedure x
else procedure y
endif
Gambar 5 Logika Gabungan
Node dibuat terpisah untuk
masing-masing kondisi A dan B dari pernyataan IF A OR B. Masing-masing node
berisi kondisi yg disebut pridicate node dan mempunyai
karakteristik dua atau lebih edge darinya.
3.
Pengujian
struktur control
PENGUJIAN
KONDISI
Yaitu
sebuah metode disain test case yang menggunakan kondisi logis yang ada pada
suatu program.
Contoh :
Kondisi sederhana dari persamaan relasional
E1 (Operator
relasional) E2
E1 dan
E2 merupakan
persamaan matematika
Operator
Relasional adalah sasalah satu dari operator berikut ini :
<, ≤,
=, ≠ ( – = ), >, ≥
Operator
Boolean : OR (‘│’), AND (‘&’), NOT (‘-‘)
Setiap bahasa
pemrograman memiliki kemampuan untuk melakukan pengujian kondisi agar program
dapat berjalan dinamis dan interaktif. Untuk menguji setiap kondisi,
diperlukan pembanding yang bisa sama dengan, lebih besar, lebih kecil, atau
tidak sama dengan lainnya. Untuk mengujinya dibutuhkan operator yang dapat
menyatakan kondisi tersebut, yaitu dengan operator :
< Lebih kecil
> Lebih besar
<= Lebih kecil & sama dengan
>= Lebih besar & sama dengan
= = Sama dengan
≠ Tidak sama dengan
Contoh :
Kondisi sederhana dari persamaan relasional
E1
(Operator relasional) E2
E1 dan E2 merupakan persamaan matematika
Operator Relasional adalah sasalah satu
dari operator berikut ini :
<, ≤, =, ≠ ( - = ), >, ≥
Operator Boolean : OR (‘│’), AND (‘&’), NOT (‘-‘)
Yang termasuk strategi pengujian
kondisi adalah :
a. Pengujian Cabang
Strategi pengujian
kondisi yang paling sederhana.
Untuk suatu kondisi gabungan C, cabang-cabang True dan False dari C
dan setiap kondisi pada C perlu dieksekusi paling tidak satu kali.
b. Pengujian Domain
Membutuhkan tiga atau empat pengujian yang dilakukan untuk sebuah
persamaan relasional.
E1 > E2, E1 = E2, E1 < E2
c. Pengujian BRO (Branch and
Relational Operator)
Menggunakan batasan kondisi C.
Batasan
kondisi C dengan n kndisi sederhana (D1, D2, …. Dn)
dimana Di (0 < i ≤ n) merupakan batasan akhir dari kondisi C.
Contoh 1 :
C1 : B1 & B2
Dimana B1 dan B2 adalah variabel Boolean.
Batasan kondisi C1 adalah
bentuk (D1,D2) dimana D1 dan D2
adalah ‘t’ atau ‘f’. Nilai (t,f) adalah batasan kondisi C1 sehingga
harga B1 menjadi true (t), dan harga B2 menjadi false
(f), dan menghasilkan himpunan batasan
{(t,t), (t,f), (f,t)} dicakup oleh eksekusi C.
Contoh 2 :
C2 : B1 &
(E3 = E4)
B1 adalah variabel Boolean.
E3 dan E4 adalah persamaan matematika/aritmatika.
Batasan kondisi C2 adalah bentuk (D1,D2)
dengan D1 adalah ‘t’ atau ‘f ‘, dan D2 adalah ‘>’,
‘=’, ‘<’
C2 adalah persamaan relasional dengan memodifikasi
himpunan pembatas {(t,t), (f,t), (t,f)}.
‘t’ untuk (E3=E4) mengimplikasikan ‘=’
‘f ‘ untuk (E3=E4) mengimplikasikan ‘<’
atau ‘>’
Dengan menggantikan (t,t) à (t, =)
(f,t) à (f, =)
(t,f) à (t, <) atau (t, <>) atau (t, > )
Maka hasil himpunan batasan untuk C2 adalah :
{ (t, =), (f, =), (t, >), (t, <) }
Contoh 3 :
C3 : (E1
> E2) & (E3 = E4)
E1, E2, E3, E4 adalah
persamaan aritmatika
C3 batasan kondisinya berbentuk (D1,D2)
dengan D1&D2 adalah
‘>’, ‘=’. ‘<’ maka batasan C3 :
{ ( >, =), ( =, =), (
<, =), ( >, >), ( >, <) }
4.
Pengujian
black box
Black box
testing adalah pengujian yang dilakukan hanya mengamati hasil eksekusi melalui
data uji dan memeriksa fungsional dari perangkat lunak. Jadi dianalogikan
seperti kita melihat suatu koatak hitam, kit hanya bisa melihat penampilan
luarnya saja, tanpa tau ada apa dibalik bungkus hitam nya. Sama seperti
pengujian black box, mengevaluasi hanya dari tampilan luarnya(interface nya) ,
fungsionalitasnya.tanpa mengetahui apa sesungguhnya yang terjadi dalam proses
detilnya (hanya mengetahui input dan output).
Kelebihan Black Box
ü Dapat memilih subset test secara efektif dan efisien
ü Dapat menemukan cacat
ü Memaksimalkan testing investmen
Kelemahan Black Box
ü Tester tidak pernah yakin apakah PL tersebut benar – benar lulus
uji.
Ciri-Ciri Black Box Testing
a.
Black
box testing berfokus pada kebutuhan fungsional pada software, berdasarkan
pada spesifikasi kebutuhan dari
software.
b.
Black
box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan
pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box
testing.
c.
Black
box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari
sistem atau komponen yang dites. juga disebut sebagai behavioral testing,
specification-based testing, input/output testing atau functional testing.
Pada black box
testing terdapat jenis teknik disain tes yang dapat dipilih berdasarkan pada
tipe testing yang akan digunakan, yang diantaranya :
a.
Equivalence
Class Partitioning
b.
Boundary
Value Analysis
c.
State
Transitions Testing
d.
Cause-Effect
Graphing
Kategori error yang akan diketahui melalui black box testing :
ü Fungsi yang hilang atau tak
benar
ü Error dari antar-muka
ü Error dari struktur data
atau akses eksternal database
ü Error dari kinerja atau
tingkah laku
ü Error dari inisialisasi
dan terminasi
ü Equivalence Partitioning
Merupakan
metode black box testing yang membagi domain masukan dari suatu program ke
dalam kelas-kelas data, dimana test cases dapat diturunkan [BCS97a].
Equivalence partitioning berdasarkan pada premis masukan dan keluaran dari
suatu komponen yang dipartisi ke dalam kelas-kelas, menurut spesifikasi dari
komponen tersebut, yang akan diperlakukan sama (ekuivalen) oleh komponen
tersebut. Dapat juga diasumsikan bahwa masukan yang sama akan menghasilkan
respon yang sama pula. Nilai tunggal pada suatu partisi ekuivalensi diasumsikan sebagai representasi dari semua nilai dalam partisi.
Analisa partisi pada Equivalence Partitioning Black Box
a.
Tester
menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai
masukan dan keluaran komponen.
b.
Masukan
dan keluaran dibuat dari spesifikasi dari tingkah laku komponen.
c.
Partisi
adalah sekumpulan nilai, yang dipilih dengan suatu cara dimana semua nilai di
dalam partisi, diharapkan untuk diperlakukan dengan cara yang sama oleh
komponen (seperti mempunyai proses yang sama).
Partisi untuk nilai valid dan tidak valid harus ditentukan.
Contoh Black Box Testing dengan Equivalence Partitioning :
Pemeliharaan
data untuk aplikasi bank yang sudah diotomatisasikan. Pemakai dapat memutar
nomor telepon bank dengan menggunakan mikro komputer yang terhubung dengan
password yang telah ditentukan dan diikuti dengan perintah-perintah. Data yang
diterima adalah :
ü Kode area : kosong
atau 3 digit
ü Prefix : 3
digit atau tidak diawali 0 atau 1
ü Suffix : 4 digit
ü Password : 6 digit
alfanumerik
ü Perintah : check,
deposit, dll
Selanjutnya
kondisi input digabungkan dengan masing-masing data elemen dapat ditentukan sebagai berikut:
ü Kode area : kondisi input, Boolean –kode area mungkin ada atau
tidak kondisi input, range –nilai ditentukan antara 200 dan 999
ü Prefix : kondisi input range
> 200 atau tidak diawali 0 atau 1
ü Suffix : kondisi input nilai
4 digit
ü Password : kondisi input boolean –passwordmungkin diperlukan
atau tidak kondisi input nilai dengan 6
karakter string
ü Perintah : kondisi input
set berisi perintah-perintah yang telah didefinisikan
Daftar
link pustaka
https://donysiswandi.wordpress.com/2013/12/28/jeinis-jenis-pengujian-pada-perangkat-lunak/ Diakses tanggal 1/12/2015
Diakses
tanggal 2/12/2015