OPTIMASI BLACK BOX, WHITE BOX, DAN GREY BOX TESTING
1. SOFTWARE
TESTING
M. Nor Kholis 1534010006
Irfan Erfolgi H 1534010007
I Putu Mahardika C.H 1534010018
Wahyu Aji P. 1534010034
2. BLACK BOX TESTING
Black box testing ia teknik testing yang dijalankan tanpa
dibutuhkannya pengetahuan tentang cara kerja interior (kode)
dari aplikasi. Tester menyadari arsitektur system namun tidak
memiliki akses ke kode sumber. Biasanya, ketika melakukan
black box testing, tester akan berinteraksi dengan user
interface system dengan memberikan masukan dan memeriksa
output tanpa mengetahui bagaimana dan dimana input bekerja.
3. KEUNGGULAN BLACK BOX TESTING
•Tepat dan efisien untuk segment software yang cakupannya luas.
•Tidak membutuhkanakses ke dalam kode.
•Memisahkan perspektif pengguna/tester dengan perspektif
pengembang
•Tester/penguji tidak perlu memahami bahasa pemrograman atau
sistem operasi.
4. KERUGIAN MENGGUNAKAN BLACK
BOX TESTING
•Terbatasnya area cakupan pengujian karena yang diuji adalah hanya
sebatas skenario yang telah ditentukan.
•Pengujian bisa menjadi tidak efisien apabila penguji tidak memahami
alur kerja software.
•Skenario pengujian sulit untuk dirancang.
6. CONTOH BLACK BOX TESTING
DENGAN EQUIVALENCE
PARTITIONING
Pemeliharaan data untuk aplikasi bank yang telah
diotomasisasikan. Pemakai dapat memutar nomor telepon bank
dengan mikrokomputer 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 alphanumeric
Perintah : Check deposit, dll
7. 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 –password mungkin diinputkan
atau tidak, kondisi input dengan nilai 6 karakter string.
•Perintah : kondisi input set berisikan perintah-perintah yang telah
didefinisikan.
8. WHITE BOX
White box testing adalah penyelidikan rinci logika internal
dan struktur kode. White box testing juga disebut glass testing
atau open box testing. Dalam rangka untuk melakukan white
box testing pada aplikasi, tester perlu memiliki pengetahuan
tentang alur kerja internal kode. Tester perlu melihat dalam
sumber dan mengetahui unit / serangkaian kode yang terdapat
pada software.
9. KEUNGGULAN WHITE BOX TESTING
•Sebagai tester yang memiliki pengetahuan tentang sumber kode,
akan menjadi sangat mudah untuk mengetahui jenis data. Hal ini
dapat membantu dalam pengujian aplikasi secara efektif.
•Tester berfungsi sebagai penguji ataupun pengoptimasi kode.
•Dapat secara langsung memperbaiki kode dari aplikasi tersebut.
•Karena pengetahuan tester mengenai kode, jangkauan maksimum
dicapai selama pengujian berdasarkan skenario.
10. KERUGIAN WHITE BOX TESTING
•Dibutuhkan biaya besar untuk melakukan pengujian.
•Kadang-kadang sulit untuk melihat ke setiap sudut untuk
mengetahui kesalahan tersembunyi yang dapat menimbulkan
masalah karena banyaknya proses yang harus diuji.
•Sulit untuk mempertahankan white box testing menggunakan alat
bantu seperti analisis kode dan alat debugging yang diperlukan.
11. JENIS-JENIS WHITE BOX TESTING
•Basis path : metode identifikasi yang berdasarkan pada jalur
struktur, koneksi, yang ada dari suatu sistem, ini biasa disebut juga
sebagai branch testing. Karena cabang-cabang dari kode atau fungsi
logika diidentifikasi dan di tes atau disebut juga control flow testing.
•Cyclometic complexity : ia pengukuran software yang memberikan
pengukuran kuantitatif dari kompleksitas logika program.
•Graph matrix : ia matrix 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).
12. CONTROL STRUCTUR TESTING
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
13. GREY BOX TESTING
Grey box testing adalah teknik untuk menguji aplikasi dengan
pengkombinasian antara white box testing dan black box testing.
Dalam
pengujian software. Menguasai sistem selalu memberikan tester
keunggulan atas seseorang dengan pengetahuan sistem yang
terbatas, baik
dari sisi kode maupun alur kerja software. Tidak seperti black box
testing,
di mana tester hanya menguji aplikasi user interface, dalam grey box
testing, tester memiliki akses ke dokumen desain dan database.
Dengan
memiliki pengetahuan ini, tester dapat lebih mempersiapkan data uji
14. KEUNGGULAN METODE GREY BOX
TESTING
Memiliki keunggulan dari white box testing dan black box testing.
Grey box tester tidak hanya bergantung pada kode sumber, namun
dapat juga bergantung pada interface aplikasi dan spesifikasi
fungsional.
Skenario tes yang sangat baik terutama di sekitar protokol
komunikasi dan penanganan tipe data.
Tes ini dilakukan dari sudut pandang pengguna dan bukan desainer.
15. KELEMAHAN MENGGUNAKAN GREY
BOX TESTING
Karena akses ke dalam kode dan database terbatas, maka cakupan
tes terbatas.
Tes dapat berlebihan jika desainer perangkat lunak telah
menjalankan uji kasus.
Pengujian setiap aliran masukan yang mungkin tidak realistis akan
mamakan banyak waktu.
16. TEKNIK YANG ADA PADA GREY BOX
TESTING
Matrix Testing, yaitu menyatakan laporan atau status proyek.
Regression Testing, yaitu menyatakan status apakah terjadi
perubahan pada kasus uji yang baru dibuat.
Pattern Testing, yaitu memverifikasi aplikasi yang baik untuk desain
atau arsitektur dan pola.
Orthogonal array testing, yaitu sebagai bagian dari semua
kemungkinan kombinasi.
17. APLIKASI DARI GREY BOX TESTING
Grey box testing biasa digunakan pada software OOP , dimana object-
object tersebut adalah unit terpisah yang memiliki kode eksekusi atau
data. Contoh aplikasi yang membutuhkan grey box testing yaitu:
Architectural Model
Unified Modeling Language
Finite
18. PERBEDAAN DAN PERSAMAAN
WHITE BOX, BLACK BOX DAN GREY
BOX TESTING
Pada white box testing, penguji mengetahui tentang QA. Penguji
melakukan pengujian pada software yang menyangkut security dan
performance program tersebut (meliputi tes code, desain
implementasi, security, data flow serta software failure). Pengujian ini
dilakukan seiring dengan tahapan pengembangan software atau pada
tahap testing. Kemudian pengecekan dilakukan terhadap detail
perancangan.
19. Pada metode black box testing, pengujian dilakukan oleh penguji
independen. Pengujian dilakukan berdasarkan apa yang dilihat serta
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. Black box testing
dilakukan hanya dengan mengamati hasil eksekusi melalui data uji.
20. Sedangkan pada metode grey box testing, pengujian lebih menangani
skenario uji coba, misalnya tipe data, protokol, komunikasi, dan
penanganan eksepsi. Dasarnya adalah spesifikasi fungsional,
tampilan arsitektur. Grey box testing menggunakan teknik pengujian
sistem dengan pengetahuan yang terbatas dari internal sistem yang
memiliki akses ke dokumen desain rinci. Pengujian dengan
menggunakan metode ini juga berdasarkan desain dokumen dan
spesifikasi fungsional dari suatu sistem.
21. Persamaan antara white box testing dan black box testing yaitu dapat
menemukan cacat dan dapat mendeteksi kondisi-kondisi yang tidak
sesuai. Selain itu, metode uji coba black box memungkinkan
pengembang sofware untuk membuat himpunan kondisi input yang
akan melatih seluruh syarat-syarat fungsional suatu program. Uji
coba black box bukan merupakan alternatif dari uji coba white boc
tetapi merupakan pendekatan yang melengkapi untuk menemukan
kesalahan lainnya, selain menggunakan metode whitebox.
22. Selain itu, keduanya melakukan pendeteksian terhadap software yang
tidak sesuai dengan menggunakan beberapa metode yang sama.
23. SOFTWARE QUALITY ASSURANCE
(SQA)
Software quality assurance merupakan orang yang bertanggung
jawab terhadap terhadap perencanaan jaminan kualitas, kesalahan,
penyimpanan rekaman, analisis dan pelaporan. Jaminan perangkat
lunak adalah aktivitas pelindung yang diaplikasikan pada seluruh
proses perangkat lunak.
24. SYARAT KUALITAS SOFTWARE
Produk dikatakan berkualitas apabila:
Kebutuhan perangkat lunak merupakan fondasi yang melaluinya
kualitas diukur.
Standar yang telah ditentukan menetapkan serangkaian kriteria
pengembangan yang menuntun cara perangkat lunak direkayasa.
Ada serangkaian kebutuhan implisit yang sering dicantumkan
(misalnya kebutuhan akan kemampuan pemeliharaan yang baik).
25. CAKUPAN SOFTWARE QUALITY
ASSURANCE
Pendekatan manajemen kuaitas.
Teknologi rekayasa perangkat lunak yang efektif (metode dan
piranti).
Kajian teknik formal yang diaplikasikan pada keseluruhan proses
perangkat lunak.
Strategi pengujian multitiered (deret bertingkat).
Kontrol dokumentasi perangkat lunak dan perubahan.
Prosedur untuk menjamin kesesuaian dengan standar pengembangan
perangkat lunak.
Mekanisme pengukuran dan pelaporan.
26. SISTEM KOMPONEN SQA
Sistem komponen sqa diklasifikasikan sebagai berikut:
Komponen kualitas pre-proyek
Komponen kualitas siklus hidup proyek
Komponen infrastruktur kesalahan pencegahan dan perbaikan
Komponen kualitas mutu manajemen
Komponen standarisasi, sertifikasi, dan penilaian SQA
Komponen manusia-organisasi SQA
28. METODE MCCALL (PRODUCT
REVISION)
Bagian ini mengacu pada kemampuan untuk mengalami perubahan.
Terdapat 3 metode yaitu:
Maintainability, yaitu usaha yang dibutuhkan untuk menempatkan
dan menyelesaikan kesalahan program dalam lingkungan.
Flexibility, yaitu kemudahan membuat perubahan yang disebabkan
oleh perubahan dalam lingkungan pengoperasian
Testability, yaitu kemudahan dalam pengujian program, untuk
meyakinkan bahwa program bebas error dan memenuhi
spesifikasinya.
29. METODE MCCALL (PRODUCT
TRANSITION)
Bagian ini lebih mengacu pada adaptasi pada lingkungan baru.
Terdapat tiga metode yaitu:
Portability, yaitu usaha yang dibutuhkan untuk memindahkan
program dari satu lingkungan ke lingkungan lain.
Reusability, yaitu kemudahan penggunaan kembali software dalam
konteks yang berbeda.
Iteroperability, yaitu usaha untuk memasangkan sistem dengan
sistem yang lain.
30. METODE MCCALL (PRODUCT
OPERATION)
Bagian ini mengacu pada karakteristik pengoperasian. Terdapat 5
metode pada bagian ini, yaitu:
Correctness, yaitu tingkatan dimana software mencapai
spesifikasinya.
Reliability, yaitu kemampuan sistem untuk tidak gagal.
Efficiency, yaitu efisien dalam eksekusi dan penyimpanan. Umumnya
diartikan penggunaan resource, seperti: waktu, processor,
memori, dsb.
Integrity, yaitu perlindungan program dari akses yang tidak
berkepentingan.
Usability, yaitu kemudahan penggunaan software.
31. BARRY BOEHM
Barry Boehm lahir pada tahun 1935. beliau merupakan seorang
insinyur perangkat lunak dari Amerika, seorang professor terkemuka
mengenai ilmu komputer, teknik industri dan sistem. Barry Boehm
dikenal karena banyaknya kontribusi ke bidang rekayasa perangkat
lunak, salah satuya mengenai spiral model.
32. SPIRAL MODEL BARRY BOEHM
Spiral model merupakan salah satu bentuk evolusi yang menggunakan
metode iterasi natural yang dimiliki oleh model prototyping dan
digabungkan dengan aspek sistematis yang dikembangkan dengan
model waterfall.
34. KELEBIHAN SPIRAL MODEL
Dapat disesuaikan supaya perangkat lunak bisa dipakai selama
software komputer menyala.
Lebih cocok untuk pengembangan sistem dan perangkat lunak skala
besar.
Pengembang dan pemakai dapat lebih mudah memahami dan
bereaksi terhadap resiko setiap tingkat evolusi karena perangkat
lunak terus bekerja selama proses.
Menggunakan prototipe sebagai mekanisme pengurangan resiko dan
pada setiap keadaan di dalam evolusi produk.
Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan
memasukkannya ke dalam kerangka kerja iteratif.
35. KELEMAHAN SPIRAL MODEL
Sulit untuk meyakinkan pelanggan bahwa pendekatan evolusioner ini
bisa dikontrol.
Memerlukan penaksiran resiko yang masuk akal dan akan menjadi
masalah yang serius jika resiko meyor tidak ditemukan dan diatur.
Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian
yang absolut.