PRETEST BAB 9
Pada fase pemograman ada
tahapan uji. Sebutkan tahapan uji tersebut !
jawab
• Tahap Pertama disebut pengujian “White Box”. Programmer harus mengetahui isi
di dalam modul
dan
menyediakan data
pengujian, sehingga masing-masing path logical dalam program dapat dieksekusi.
• Tahap Kedua atau
pengujian “Black Box” dapat dilakukan. Dalam pengujian
ini, programmer mengabaikan
bagian dalam dari modul – data disediakan secara berurut dan dianggap seperti pemakaian sebenarnya.
POSTEST BAB 9
Pada fase pemograman ada tahapan uji. Sebutkan perbedaan dari
uji secara black box dengan white box tahapan uji
Jawab:
• Tahap
Pertama disebut pengujian “White Box”. Programmer harus mengetahui isi
di dalam modul
dan
menyediakan data
pengujian, sehingga masing-masing path logical dalam program dapat dieksekusi.
• Tahap Kedua atau pengujian “Black Box” dapat dilakukan. Dalam pengujian
ini, programmer mengabaikan
bagian dalam dari modul – data disediakan secara berurut dan dianggap seperti pemakaian sebenarnya.
White Box
·
Pengertian White Box Testing
White
box testing 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%.
Pengujian
white box:
·
Untuk mengetahui cara kerja suatu perangkat lunak
secara internal.
·
Untuk menjamin operasi-operasi internal sesuai dengan
spesifikasi yang telah ditetapkan dengan menggunakan struktur kendali dari
prosedur yang dirancang.
Pelaksanaan
pengujian white box:
·
Menjamim seluruh independent path dieksekusi paling
sedikit satu kali. Independent path adalah jalur dalam program yang menunjukkan
paling sedikit satu kumpulan proses ataupun kondisi baru.
·
Menjalani logical decision pada sisi dan false.
·
Mengeksekusi pengulangan (looping) dalam batas-batas
yang ditentukan.
·
Menguji struktur data internal.
Berdasarkan
konsep pengujian; White box (structural) testing / glass box testing :
memeriksa
kalkulasi
internal path untuk mengidentifikasi kesalahan.
Langkah-langkah white box:
- Mendefinisikan semua alur logika
- Membangun kasus untuk digunakan dalam pengujian
- Melakukan pengujian.
·
Kelebihan White Box Testing
- Kesalahan logika. Digunakan pada sintaks ‘if’
dan pengulangan. Dimana White Box Testing akan mendeteksi kondisi-kondisi yang
tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti.
- Ketidaksesuaian
asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk
di analisa dan diperbaiki.
- Kesalahan
ketik. Mendeteksi bahasa pemrograman yang bersifat case sensitive.
·
Kelemahan White Box Testing
- Untuk
perangkat lunak yang tergolong besar, White Box Testing dianggap sebagai
strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar
untuk melakukannya.
Jenis
white box;
<0>Basis
path:: Metode identifikasi yang berdasarkan pada jalur,,
struktur atau koneksi yang ada dari suatu sistem ini biasa disebut juga
sebagai branch testing,, karena cabang-cabang dari kode atau fungsi
logika diidentifikasi dan dites, atau disebut juga sebagai control-flow
testing.
Ada
2 bentuk Basis path, yaitu:
·
Zero Path: Jalur penghubung yang tidak penting atau
jalur pintas yang ada pada suatu sistem.
·
One Path: Jalur penghubung yang penting atau berupa
proses pada suatu sistem.
<0>Cyclomatic
Complexity
·
Adalah pengukuran software yang memberikan pengukuran
kuantitatif dari kompleksitas logika program.
·
Pada konteks metode basis path testing , nilai yang
dihitung bagi cyclomatic complexity menentukan jumlah jalur-jalur yang
independen dalam kumpulan basis suatu program dan memberikan jumlah tes minimal
yang harus dilakukan untuk memastikan bahwa semua pernyataan telah dieksekusi
sekurangnya satu kali.
·
Jalur independen adalah tiap jalur pada program yang
memperlihatkan 1 kelompok baru dari pernyataan proses atau kondisi baru.
<0>Graph
Matrix
·
Adalah matrik berbentuk segi empat sama sisi, dimana
jumlah baris dan kolom sama dengan jumlah node, dan identifikasi baris dan
kolom sama dengan identifikasi node, serta isi data adalah keberadaan penghubung
antar node (edges).
·
Beberapa properti yang dapat ditambahkan sebagai
pembobotan pada koneksi antar node di dalam graph matrix, sebagai berikut:
1.
Kemungkinan jalur (Edge) akan dilalui / dieksekusi.
2.
Waktu proses yang diharapkan pada jalur selama proses
transfer dilakukan.
3.
Memori yang dibutuhkan selama proses transfer
dilakukan pada jalur.
4.
Sumber daya (resources) yang dibutuhkan selama proses
transfer dilakukan pada jalur.
Control Structur Testing, meliputi;
·
Condition testing:: Suatu metode disain test case yang
memeriksa kondisi logika yang terdapat pada modul program.
·
Data flow testing:: Metode data flow testing memilih
jalur program berdasarkan pada lokasi dari definisi dan penggunaan
variabel-variabel pada program.
·
Loop testing:: suatu teknik white box testing yang
berfokus pada validitas konstruksi loop secara eksklusif. Ada 4 kelas
dari loop, yaitu;
·
Simple Loops
·
Nested Loops
·
Concatenated Loops
·
Unstructured Loops
Contoh kasus : Imperial Taxi Services (ITS) :
V(G) = R = 6
V(G) = E – N + 2 = 21 – 17 + 2 = 6
V(G) = P + 1 = 5 + 1 = 6
Rumus
: V(G) = R = E – N + 2 = P + 1
Keterangan :
V(G) = cyclometic complexity graph
R = jumlah region dalam program flow graph
E = jumlah edge
N = jumlah node
P = jumlah decision (percabangan)
·
Black Box
·
Pengertian Black Box Testing
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.
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
·
Perbedaan White Box & Black
Box
·
White box (Struktural)
·
Dilakukan oleh penguji yang mengetahui tentang QA.
·
Melakukan testing pada software/program aplikasi
menyangkut security dan performance program tersebut (meliputi tes code, desain
implementasi, security, data flow, software failure).
·
Dilakukan seiring dengan tahapan pengembangan software
atau pada tahap testing.
·
Metode BlackBox
(Fungsional)
·
Dilakukan oleh penguji Independent.
·
Melakukan pengujian berdasarkan apa yang dilihat,
hanya fokus terhadap fungsionalitas dan output. Pengujian lebih ditujukan pada
desain software sesuai standar dan reaksi apabila terdapat celah-celah
bug/vulnerabilitas pada program aplikasi tersebut setelah dilakukan white box
testing.
·
Dilakukan setelah white box testing.