Upload
dede-subhan
View
3.255
Download
4
Embed Size (px)
DESCRIPTION
Citation preview
KUIS REKAYASA PERANGKAT LUNAK
Disusun Untuk Memenuhi Salah Satu Tugas
Mata Kuliah RPL
Disusun Oleh
DEDE SUBHAN 207700350
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SUNAN GUNUNG DJATI BANDUNG
2009
1 APA FUNGSI DARI PENGUJIAN TERHADAP PERANGKAT LUNAK
Definisi
Pengujian adalah proses untuk menemukan error pada perangkat lunak sebelum
di-delivery kepada pengguna
Pengujian software merupakan elemen yang kritis dari SQA dan
merepresentasikan tinjauan ulang yang menyeluruh terhadap spesifikasidesain
dan pengkodean Pengujian merepresentasikan ketidaknormalan yang terjadi
pada pengembangan software Selama definisi awal dan fase pembangunan
pengembang berusaha untuk membangun software dari konsep yang abstrak
sampai dengan implementasi yang memungkin
Para pengembang membuat serangkaian uji kasus yang bertujuan untuk
rdquomembongkarrdquo software yang mereka bangun Kenyataannya pengujian
merupakan salah satu tahapan dalam proses pengembangan software yang
dapat dilihat (secara psikologi) sebagai destruktif dari pada sebagai konstruktif
Pengembang software secara alami merupakan orang konstruktif Pengujian
yang diperlukan oleh pengembang adalah untuk melihat kebenaran dari
software yang dibuat dan konflik yang akan terjadi bila kesalahan tidak
ditemukan Dari sebuah buku Glen Myers menetapkan beberapa aturan yang
dapat dilihat sebagai tujuan dari pengujian
1 Pengujian merupakan proses eksekusi program dengan tujuan untuk
menemukan kesalahan
2 Sebuah pengujian kasus yang baik adalah yang memiliki probabilitas yang
tinggi dalam menemukan kesalahan-kesalahan yang belum terungkap
3 Pengujian yang berhasil adalah yang mengungkap kesalahan yang belum
ditemukan Sehingga tujuan dari pengujian ini adalah mendesain serangkaian tes
yang secara sistematis mengungkap beberapa jenis kesalahan yang berbeda
dan melakukannya dalam waktu dan usaha yang minimum
4 Jadi pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi
untuk mencari sebanyak mungkin kesalahan yang ada pada program Jadi
pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi untuk
mencari sebanyak mungkin kesalahan yang ada pada program
2 APA MANFAAT DARI PENGUJIAN TERHADAP PERANGKAT LUNAK
Manfaat yang didapat apabila pengujian diselenggarakan dengan sukses
maka akan membongkar kesalahan yang ada didalam perangkat lunak manfaat
lain dari pengujian adalah menunjukkan bahwa fungsi perangkat lunak telah
bekerja sesuai dengan spesifikasi dan kebutuhan fungsi telah tercapai Sebagai
tambahan data yang dikumpulkan pada saat pengujian dilaksanakan akan
menyediakan suatu indikasi keandalan perangkat lunak yang baik dan beberapa
indikasi mutu perangkat lunak secara keseluruhan
Alur informasi test (Test Information Flow)
Alur informasi untuk ujicoba mengikuti pola seperti gambar diatas Dua
kategori input yang disediakan untuk proses ujicoba adalah
1 Software configuration yang terdiri dari spesifikasi kebutuhan software
spesifikasi desain dan kode sumber
2 Test configuration yang terdiri dari rencana dan prosedur ujicoba Tools
ujicoba apapun yang dapat digunakan dan kasus ujicoba termasuk hasil yang
diharapkan Pada kenyataannya konfigurasi ujicoba merupakan subset dari
konfigurasi software
Setiap lingkaran merepresentasikan transformasi yang lebih kompleks
Ujicoba dilakukan dan hasilnya dievaluasi kemudian hasil ujicoba dibandingkan
dengan hasil yang diharapkan Ketika ditemukan data yang keliru maka error
ditemukan dan debug dimulai Ketika hasil ujicoba dikumpulkan dan dievaluasi
indikasi kualitatif dari kualitas dan reliabilitas software mulai terlihat Jika terjadi
kesalahan fatal dan memerlukan modifikasi desain ditemukan secara reguler
maka kualitas dan reliabilitas software akan dipertanyakan dan diperlukan
ujicoba lanjutan
Sebaliknya jika fungsi software bekerja sebagaimana mestinya dan
kesalahan yang terjadi dapat diatasi dengan mudah maka dapat diambil 1 dari 2
kesimpulan dapat dibuat yaitu
(1) Kualitas dan reliabilitas software dapat diterima
(2) Ujicoba tidak cukup untuk menemukan kesalahan yang fatal
Akhirnya jika ujicoba tidak menghasilkan kesalahan maka harus terjadi
keraguan bahwa konfigurasi ujicoba tersebut tidak berhasil dan masih terjadi
kesalahan dalam software Hal ini akan dibuktikan oleh user dan akan diperbaiki
oleh pengembang dalam fase pemeliharaan Hasil-hasil yang dikumpulkan
selama ujicoba dapat dievaluasi dengan cara formal
3 BERIKAN GAMBARAN DASAR - DASAR PENGUJIAN ndash PENGUJIAN
Desain kasus Ujicoba (Test Case Design)
Desain ujicoba untuk software atau produk teknik lainnya sama sulitnya
dengan desain inisial dari produk itu sendiri Dengan tujuan dari ujicoba itu
sendiri yaitu mendesain ujicoba yang tingkat kemungkinan penemuan
kesalahan yang tinggi dengan jumlah waktu dan usaha yang sedikit
Selama beberapa dekade metode desain ujicoba kasus telah dikembangkan
Metode ini menyediakan pendekatan sistematik untuk ujicoba Hal yang lebih
penting yaitu metode-metode ini menyediakan mekanisme yang dapat
membantu memastikan kelengkapan ujicoba dan menyediakan tingkat
kemungkinan yang tinggi dalam penemuan kesalahan pada software
Semua produk yang dikembangkan (engineered) dapat diujicoba dengan
salah satu cara dari 2 cara berikut
1 Mengetahui fungsi-fungsi yang dispesifikasikan pada produk yang didesain
untuk melakukannya ujicoba dapat dilakukan dengan mendemonstrasikan
setiap fungsi secara menyeluruh
2 Mengetahui cara kerja internal dari produk ujicoba dapat dilakukan untuk
memastikan bahwa seluruh operasi internal dari produk dilaksanakan
berdasarkan pada spesifikasi dan komponen internal telah digunakan secara
tepat
Pendekatan pertama adalah black box testing dan yang kedua adalah
white box testing
Black box testing menyinggung ujicoba yang dilakukan pada interface
software Walaupun didesain untuk menemukan kesalahan ujicoba blackbox
digunakan untuk mendemonstrasikan fungsi software yang dioperasikan apakah
input diterima dengan benar dan ouput yang dihasilkan benar apakah integritas
informasi eksternal terpelihara Ujicoba blackbox memeriksa beberapa aspek
sistem tetapi memeriksa sedikit mengenai struktur logikal internal software
White box testing didasarkan pada pemeriksaan detail prosedural Alur
logikal suatu software diujicoba dengan menyediakan kasus ujicoba yang
melakukan sekumpulan kondisi danatau perulangan tertentu Status dari
program dapat diperiksa pada beberapa titik yang bervariasi untuk menentukan
apakah status yang diharapkan atau ditegaskan sesuai dengan status
sesungguhnya Sepintas seolah-olah white box testing akan menghasilkan
program yang 100 benar yang diperlukan hanyalah mendefinisikan alur
logikal membangun kasus uji untuk memeriksa software tersebut dan
mengevaluasi hasil yang diperoleh Sayangnya ujicoba yang menyeluruh ini
menghadirkan masalah logikal tertentu Untuk sebuah program sederhana
sekalipun terdapat banyak alur logikal yang memungkinkan Sehingga white box
testing sebaiknya hanya dilakukan pada alur logikal yang penting Struktur data-
struktur data yang penting dapat diujikan dengan uji validitas Atribut dari black
box testing dan white box testing dapat dikombinasikan untuk digunakan
bersama
Black Box
1048707 Metode Black Box memungkinkan perekayasa perangkat lunak
mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan
semua persyaratan fungsional untuk suatu program
1048707 Black Box dapat menemukan kesalahan dalam kategori berikut
o Fungsi-fungsi yang tidak benar atau hilang
o Kesalahan interface
o Kesalahan dalam strutur data atau akses basisdata eksternal
o Inisialisasi dan kesalahan terminasi
o validitas fungsional
o kesensitifan sistem terhadap nilai input tertentu
o batasan dari suatu data
Tipe dari Black Box Testing
1048707 Equivalence class partitioning
1048707 Sample testing
1048707 Limit testing
1048707 Robustness testing
1048707 Behavior testing
1048707 Requirement testing
Equivalence Class Testing
1048707 Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan
sebagai kasus uji
1048707 kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus
uji
1048707 Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid
1048707 kondisi input bisa merupakan suatu range harga khusus suatu
himpunan atau suatu boolean
1048707 Bila kondisi input berupa suatu range maka input kasus ujinya satu valid
dan dua yang invalid
1048707 Bila kondisi input berupa suatu harga khusus maka input kasus ujinya
satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota himpunan maka input kasus
ujinya satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota Boolean maka input kasus ujinya
satu valid dan dua yang invalid
Sample Testing
1048707 Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi
1048707 Integrasikan nilai tersebut ke dalam kasus uji
1048707 Nilai yang dipilih dapat berupa konstanta atau variabel
Limit Testing
1048707 Kasus uji yang memproses nilai batas (atau titik singular)
1048707 Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang
sama atau mendekati nilai yang membatasi kelas akivalensi tersebut
1048707 Limit test also juga melibatkan data keluaran dari ekivalensi kelas
1048707 Pada kasus segi tiga misalnya limit testing mencoba untuk mendeteksi
apakah a+b gt= c dan bukan a + b gt c
1048707 Bila kondisi input menentukan suatu range maka kasus ujinya harus
mencakup pengujian nilai batas dari range dan nilai invalid yang dekat
dengan nilai batas Misal bila rangenya antara [-10 +10] maka input
untuk kasus ujinya adalah -10 10 -10011001
1048707 Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup
nilai minimum dan maksimum Misal suatu file dapat terdiri dari 1 to 255
record maka kasus ujinya harus mencakup untuk nilai 0 1 255 and 256
atau uji saat keadaan record kosong dan record penuh
Robustness Testing
Data dipilih dari luar range yang didefinisikan Tujuan pengujian ini adalah
untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan
akibat adanya keabnormalan
Behavior Testing
Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program
tidak bisa dilakukan per modul (CSU computer software unit)
Requirement Testing
1048707 Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
modul CSU
1048707 Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
melalui matriks keterunutuan
WHITEBOX TESTING
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji
Dengan menggunakan metode ujicoba whitebox para pengembang software
dapat menghasilkan kasus-kasus uji yang
1 Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali
2 Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah
3 Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4 Menguji struktur data internal untuk memastikan validitasnya
Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri
yaitu
1 Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi kondisi atau kontrol yang keluar dari
alur utama Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu rdquokasus spesialrdquo yang akan mengarahkannya kepada
kehancuran
2 Sering percaya bahwa alur logikal tidak akan dieksekusi ketika
dikenyataannya mungkin akan dieksekusi dengan basis regular Alur logika
program biasanya berkebalikan dari intuisi yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
1 APA FUNGSI DARI PENGUJIAN TERHADAP PERANGKAT LUNAK
Definisi
Pengujian adalah proses untuk menemukan error pada perangkat lunak sebelum
di-delivery kepada pengguna
Pengujian software merupakan elemen yang kritis dari SQA dan
merepresentasikan tinjauan ulang yang menyeluruh terhadap spesifikasidesain
dan pengkodean Pengujian merepresentasikan ketidaknormalan yang terjadi
pada pengembangan software Selama definisi awal dan fase pembangunan
pengembang berusaha untuk membangun software dari konsep yang abstrak
sampai dengan implementasi yang memungkin
Para pengembang membuat serangkaian uji kasus yang bertujuan untuk
rdquomembongkarrdquo software yang mereka bangun Kenyataannya pengujian
merupakan salah satu tahapan dalam proses pengembangan software yang
dapat dilihat (secara psikologi) sebagai destruktif dari pada sebagai konstruktif
Pengembang software secara alami merupakan orang konstruktif Pengujian
yang diperlukan oleh pengembang adalah untuk melihat kebenaran dari
software yang dibuat dan konflik yang akan terjadi bila kesalahan tidak
ditemukan Dari sebuah buku Glen Myers menetapkan beberapa aturan yang
dapat dilihat sebagai tujuan dari pengujian
1 Pengujian merupakan proses eksekusi program dengan tujuan untuk
menemukan kesalahan
2 Sebuah pengujian kasus yang baik adalah yang memiliki probabilitas yang
tinggi dalam menemukan kesalahan-kesalahan yang belum terungkap
3 Pengujian yang berhasil adalah yang mengungkap kesalahan yang belum
ditemukan Sehingga tujuan dari pengujian ini adalah mendesain serangkaian tes
yang secara sistematis mengungkap beberapa jenis kesalahan yang berbeda
dan melakukannya dalam waktu dan usaha yang minimum
4 Jadi pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi
untuk mencari sebanyak mungkin kesalahan yang ada pada program Jadi
pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi untuk
mencari sebanyak mungkin kesalahan yang ada pada program
2 APA MANFAAT DARI PENGUJIAN TERHADAP PERANGKAT LUNAK
Manfaat yang didapat apabila pengujian diselenggarakan dengan sukses
maka akan membongkar kesalahan yang ada didalam perangkat lunak manfaat
lain dari pengujian adalah menunjukkan bahwa fungsi perangkat lunak telah
bekerja sesuai dengan spesifikasi dan kebutuhan fungsi telah tercapai Sebagai
tambahan data yang dikumpulkan pada saat pengujian dilaksanakan akan
menyediakan suatu indikasi keandalan perangkat lunak yang baik dan beberapa
indikasi mutu perangkat lunak secara keseluruhan
Alur informasi test (Test Information Flow)
Alur informasi untuk ujicoba mengikuti pola seperti gambar diatas Dua
kategori input yang disediakan untuk proses ujicoba adalah
1 Software configuration yang terdiri dari spesifikasi kebutuhan software
spesifikasi desain dan kode sumber
2 Test configuration yang terdiri dari rencana dan prosedur ujicoba Tools
ujicoba apapun yang dapat digunakan dan kasus ujicoba termasuk hasil yang
diharapkan Pada kenyataannya konfigurasi ujicoba merupakan subset dari
konfigurasi software
Setiap lingkaran merepresentasikan transformasi yang lebih kompleks
Ujicoba dilakukan dan hasilnya dievaluasi kemudian hasil ujicoba dibandingkan
dengan hasil yang diharapkan Ketika ditemukan data yang keliru maka error
ditemukan dan debug dimulai Ketika hasil ujicoba dikumpulkan dan dievaluasi
indikasi kualitatif dari kualitas dan reliabilitas software mulai terlihat Jika terjadi
kesalahan fatal dan memerlukan modifikasi desain ditemukan secara reguler
maka kualitas dan reliabilitas software akan dipertanyakan dan diperlukan
ujicoba lanjutan
Sebaliknya jika fungsi software bekerja sebagaimana mestinya dan
kesalahan yang terjadi dapat diatasi dengan mudah maka dapat diambil 1 dari 2
kesimpulan dapat dibuat yaitu
(1) Kualitas dan reliabilitas software dapat diterima
(2) Ujicoba tidak cukup untuk menemukan kesalahan yang fatal
Akhirnya jika ujicoba tidak menghasilkan kesalahan maka harus terjadi
keraguan bahwa konfigurasi ujicoba tersebut tidak berhasil dan masih terjadi
kesalahan dalam software Hal ini akan dibuktikan oleh user dan akan diperbaiki
oleh pengembang dalam fase pemeliharaan Hasil-hasil yang dikumpulkan
selama ujicoba dapat dievaluasi dengan cara formal
3 BERIKAN GAMBARAN DASAR - DASAR PENGUJIAN ndash PENGUJIAN
Desain kasus Ujicoba (Test Case Design)
Desain ujicoba untuk software atau produk teknik lainnya sama sulitnya
dengan desain inisial dari produk itu sendiri Dengan tujuan dari ujicoba itu
sendiri yaitu mendesain ujicoba yang tingkat kemungkinan penemuan
kesalahan yang tinggi dengan jumlah waktu dan usaha yang sedikit
Selama beberapa dekade metode desain ujicoba kasus telah dikembangkan
Metode ini menyediakan pendekatan sistematik untuk ujicoba Hal yang lebih
penting yaitu metode-metode ini menyediakan mekanisme yang dapat
membantu memastikan kelengkapan ujicoba dan menyediakan tingkat
kemungkinan yang tinggi dalam penemuan kesalahan pada software
Semua produk yang dikembangkan (engineered) dapat diujicoba dengan
salah satu cara dari 2 cara berikut
1 Mengetahui fungsi-fungsi yang dispesifikasikan pada produk yang didesain
untuk melakukannya ujicoba dapat dilakukan dengan mendemonstrasikan
setiap fungsi secara menyeluruh
2 Mengetahui cara kerja internal dari produk ujicoba dapat dilakukan untuk
memastikan bahwa seluruh operasi internal dari produk dilaksanakan
berdasarkan pada spesifikasi dan komponen internal telah digunakan secara
tepat
Pendekatan pertama adalah black box testing dan yang kedua adalah
white box testing
Black box testing menyinggung ujicoba yang dilakukan pada interface
software Walaupun didesain untuk menemukan kesalahan ujicoba blackbox
digunakan untuk mendemonstrasikan fungsi software yang dioperasikan apakah
input diterima dengan benar dan ouput yang dihasilkan benar apakah integritas
informasi eksternal terpelihara Ujicoba blackbox memeriksa beberapa aspek
sistem tetapi memeriksa sedikit mengenai struktur logikal internal software
White box testing didasarkan pada pemeriksaan detail prosedural Alur
logikal suatu software diujicoba dengan menyediakan kasus ujicoba yang
melakukan sekumpulan kondisi danatau perulangan tertentu Status dari
program dapat diperiksa pada beberapa titik yang bervariasi untuk menentukan
apakah status yang diharapkan atau ditegaskan sesuai dengan status
sesungguhnya Sepintas seolah-olah white box testing akan menghasilkan
program yang 100 benar yang diperlukan hanyalah mendefinisikan alur
logikal membangun kasus uji untuk memeriksa software tersebut dan
mengevaluasi hasil yang diperoleh Sayangnya ujicoba yang menyeluruh ini
menghadirkan masalah logikal tertentu Untuk sebuah program sederhana
sekalipun terdapat banyak alur logikal yang memungkinkan Sehingga white box
testing sebaiknya hanya dilakukan pada alur logikal yang penting Struktur data-
struktur data yang penting dapat diujikan dengan uji validitas Atribut dari black
box testing dan white box testing dapat dikombinasikan untuk digunakan
bersama
Black Box
1048707 Metode Black Box memungkinkan perekayasa perangkat lunak
mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan
semua persyaratan fungsional untuk suatu program
1048707 Black Box dapat menemukan kesalahan dalam kategori berikut
o Fungsi-fungsi yang tidak benar atau hilang
o Kesalahan interface
o Kesalahan dalam strutur data atau akses basisdata eksternal
o Inisialisasi dan kesalahan terminasi
o validitas fungsional
o kesensitifan sistem terhadap nilai input tertentu
o batasan dari suatu data
Tipe dari Black Box Testing
1048707 Equivalence class partitioning
1048707 Sample testing
1048707 Limit testing
1048707 Robustness testing
1048707 Behavior testing
1048707 Requirement testing
Equivalence Class Testing
1048707 Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan
sebagai kasus uji
1048707 kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus
uji
1048707 Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid
1048707 kondisi input bisa merupakan suatu range harga khusus suatu
himpunan atau suatu boolean
1048707 Bila kondisi input berupa suatu range maka input kasus ujinya satu valid
dan dua yang invalid
1048707 Bila kondisi input berupa suatu harga khusus maka input kasus ujinya
satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota himpunan maka input kasus
ujinya satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota Boolean maka input kasus ujinya
satu valid dan dua yang invalid
Sample Testing
1048707 Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi
1048707 Integrasikan nilai tersebut ke dalam kasus uji
1048707 Nilai yang dipilih dapat berupa konstanta atau variabel
Limit Testing
1048707 Kasus uji yang memproses nilai batas (atau titik singular)
1048707 Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang
sama atau mendekati nilai yang membatasi kelas akivalensi tersebut
1048707 Limit test also juga melibatkan data keluaran dari ekivalensi kelas
1048707 Pada kasus segi tiga misalnya limit testing mencoba untuk mendeteksi
apakah a+b gt= c dan bukan a + b gt c
1048707 Bila kondisi input menentukan suatu range maka kasus ujinya harus
mencakup pengujian nilai batas dari range dan nilai invalid yang dekat
dengan nilai batas Misal bila rangenya antara [-10 +10] maka input
untuk kasus ujinya adalah -10 10 -10011001
1048707 Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup
nilai minimum dan maksimum Misal suatu file dapat terdiri dari 1 to 255
record maka kasus ujinya harus mencakup untuk nilai 0 1 255 and 256
atau uji saat keadaan record kosong dan record penuh
Robustness Testing
Data dipilih dari luar range yang didefinisikan Tujuan pengujian ini adalah
untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan
akibat adanya keabnormalan
Behavior Testing
Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program
tidak bisa dilakukan per modul (CSU computer software unit)
Requirement Testing
1048707 Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
modul CSU
1048707 Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
melalui matriks keterunutuan
WHITEBOX TESTING
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji
Dengan menggunakan metode ujicoba whitebox para pengembang software
dapat menghasilkan kasus-kasus uji yang
1 Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali
2 Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah
3 Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4 Menguji struktur data internal untuk memastikan validitasnya
Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri
yaitu
1 Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi kondisi atau kontrol yang keluar dari
alur utama Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu rdquokasus spesialrdquo yang akan mengarahkannya kepada
kehancuran
2 Sering percaya bahwa alur logikal tidak akan dieksekusi ketika
dikenyataannya mungkin akan dieksekusi dengan basis regular Alur logika
program biasanya berkebalikan dari intuisi yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Manfaat yang didapat apabila pengujian diselenggarakan dengan sukses
maka akan membongkar kesalahan yang ada didalam perangkat lunak manfaat
lain dari pengujian adalah menunjukkan bahwa fungsi perangkat lunak telah
bekerja sesuai dengan spesifikasi dan kebutuhan fungsi telah tercapai Sebagai
tambahan data yang dikumpulkan pada saat pengujian dilaksanakan akan
menyediakan suatu indikasi keandalan perangkat lunak yang baik dan beberapa
indikasi mutu perangkat lunak secara keseluruhan
Alur informasi test (Test Information Flow)
Alur informasi untuk ujicoba mengikuti pola seperti gambar diatas Dua
kategori input yang disediakan untuk proses ujicoba adalah
1 Software configuration yang terdiri dari spesifikasi kebutuhan software
spesifikasi desain dan kode sumber
2 Test configuration yang terdiri dari rencana dan prosedur ujicoba Tools
ujicoba apapun yang dapat digunakan dan kasus ujicoba termasuk hasil yang
diharapkan Pada kenyataannya konfigurasi ujicoba merupakan subset dari
konfigurasi software
Setiap lingkaran merepresentasikan transformasi yang lebih kompleks
Ujicoba dilakukan dan hasilnya dievaluasi kemudian hasil ujicoba dibandingkan
dengan hasil yang diharapkan Ketika ditemukan data yang keliru maka error
ditemukan dan debug dimulai Ketika hasil ujicoba dikumpulkan dan dievaluasi
indikasi kualitatif dari kualitas dan reliabilitas software mulai terlihat Jika terjadi
kesalahan fatal dan memerlukan modifikasi desain ditemukan secara reguler
maka kualitas dan reliabilitas software akan dipertanyakan dan diperlukan
ujicoba lanjutan
Sebaliknya jika fungsi software bekerja sebagaimana mestinya dan
kesalahan yang terjadi dapat diatasi dengan mudah maka dapat diambil 1 dari 2
kesimpulan dapat dibuat yaitu
(1) Kualitas dan reliabilitas software dapat diterima
(2) Ujicoba tidak cukup untuk menemukan kesalahan yang fatal
Akhirnya jika ujicoba tidak menghasilkan kesalahan maka harus terjadi
keraguan bahwa konfigurasi ujicoba tersebut tidak berhasil dan masih terjadi
kesalahan dalam software Hal ini akan dibuktikan oleh user dan akan diperbaiki
oleh pengembang dalam fase pemeliharaan Hasil-hasil yang dikumpulkan
selama ujicoba dapat dievaluasi dengan cara formal
3 BERIKAN GAMBARAN DASAR - DASAR PENGUJIAN ndash PENGUJIAN
Desain kasus Ujicoba (Test Case Design)
Desain ujicoba untuk software atau produk teknik lainnya sama sulitnya
dengan desain inisial dari produk itu sendiri Dengan tujuan dari ujicoba itu
sendiri yaitu mendesain ujicoba yang tingkat kemungkinan penemuan
kesalahan yang tinggi dengan jumlah waktu dan usaha yang sedikit
Selama beberapa dekade metode desain ujicoba kasus telah dikembangkan
Metode ini menyediakan pendekatan sistematik untuk ujicoba Hal yang lebih
penting yaitu metode-metode ini menyediakan mekanisme yang dapat
membantu memastikan kelengkapan ujicoba dan menyediakan tingkat
kemungkinan yang tinggi dalam penemuan kesalahan pada software
Semua produk yang dikembangkan (engineered) dapat diujicoba dengan
salah satu cara dari 2 cara berikut
1 Mengetahui fungsi-fungsi yang dispesifikasikan pada produk yang didesain
untuk melakukannya ujicoba dapat dilakukan dengan mendemonstrasikan
setiap fungsi secara menyeluruh
2 Mengetahui cara kerja internal dari produk ujicoba dapat dilakukan untuk
memastikan bahwa seluruh operasi internal dari produk dilaksanakan
berdasarkan pada spesifikasi dan komponen internal telah digunakan secara
tepat
Pendekatan pertama adalah black box testing dan yang kedua adalah
white box testing
Black box testing menyinggung ujicoba yang dilakukan pada interface
software Walaupun didesain untuk menemukan kesalahan ujicoba blackbox
digunakan untuk mendemonstrasikan fungsi software yang dioperasikan apakah
input diterima dengan benar dan ouput yang dihasilkan benar apakah integritas
informasi eksternal terpelihara Ujicoba blackbox memeriksa beberapa aspek
sistem tetapi memeriksa sedikit mengenai struktur logikal internal software
White box testing didasarkan pada pemeriksaan detail prosedural Alur
logikal suatu software diujicoba dengan menyediakan kasus ujicoba yang
melakukan sekumpulan kondisi danatau perulangan tertentu Status dari
program dapat diperiksa pada beberapa titik yang bervariasi untuk menentukan
apakah status yang diharapkan atau ditegaskan sesuai dengan status
sesungguhnya Sepintas seolah-olah white box testing akan menghasilkan
program yang 100 benar yang diperlukan hanyalah mendefinisikan alur
logikal membangun kasus uji untuk memeriksa software tersebut dan
mengevaluasi hasil yang diperoleh Sayangnya ujicoba yang menyeluruh ini
menghadirkan masalah logikal tertentu Untuk sebuah program sederhana
sekalipun terdapat banyak alur logikal yang memungkinkan Sehingga white box
testing sebaiknya hanya dilakukan pada alur logikal yang penting Struktur data-
struktur data yang penting dapat diujikan dengan uji validitas Atribut dari black
box testing dan white box testing dapat dikombinasikan untuk digunakan
bersama
Black Box
1048707 Metode Black Box memungkinkan perekayasa perangkat lunak
mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan
semua persyaratan fungsional untuk suatu program
1048707 Black Box dapat menemukan kesalahan dalam kategori berikut
o Fungsi-fungsi yang tidak benar atau hilang
o Kesalahan interface
o Kesalahan dalam strutur data atau akses basisdata eksternal
o Inisialisasi dan kesalahan terminasi
o validitas fungsional
o kesensitifan sistem terhadap nilai input tertentu
o batasan dari suatu data
Tipe dari Black Box Testing
1048707 Equivalence class partitioning
1048707 Sample testing
1048707 Limit testing
1048707 Robustness testing
1048707 Behavior testing
1048707 Requirement testing
Equivalence Class Testing
1048707 Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan
sebagai kasus uji
1048707 kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus
uji
1048707 Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid
1048707 kondisi input bisa merupakan suatu range harga khusus suatu
himpunan atau suatu boolean
1048707 Bila kondisi input berupa suatu range maka input kasus ujinya satu valid
dan dua yang invalid
1048707 Bila kondisi input berupa suatu harga khusus maka input kasus ujinya
satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota himpunan maka input kasus
ujinya satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota Boolean maka input kasus ujinya
satu valid dan dua yang invalid
Sample Testing
1048707 Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi
1048707 Integrasikan nilai tersebut ke dalam kasus uji
1048707 Nilai yang dipilih dapat berupa konstanta atau variabel
Limit Testing
1048707 Kasus uji yang memproses nilai batas (atau titik singular)
1048707 Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang
sama atau mendekati nilai yang membatasi kelas akivalensi tersebut
1048707 Limit test also juga melibatkan data keluaran dari ekivalensi kelas
1048707 Pada kasus segi tiga misalnya limit testing mencoba untuk mendeteksi
apakah a+b gt= c dan bukan a + b gt c
1048707 Bila kondisi input menentukan suatu range maka kasus ujinya harus
mencakup pengujian nilai batas dari range dan nilai invalid yang dekat
dengan nilai batas Misal bila rangenya antara [-10 +10] maka input
untuk kasus ujinya adalah -10 10 -10011001
1048707 Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup
nilai minimum dan maksimum Misal suatu file dapat terdiri dari 1 to 255
record maka kasus ujinya harus mencakup untuk nilai 0 1 255 and 256
atau uji saat keadaan record kosong dan record penuh
Robustness Testing
Data dipilih dari luar range yang didefinisikan Tujuan pengujian ini adalah
untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan
akibat adanya keabnormalan
Behavior Testing
Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program
tidak bisa dilakukan per modul (CSU computer software unit)
Requirement Testing
1048707 Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
modul CSU
1048707 Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
melalui matriks keterunutuan
WHITEBOX TESTING
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji
Dengan menggunakan metode ujicoba whitebox para pengembang software
dapat menghasilkan kasus-kasus uji yang
1 Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali
2 Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah
3 Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4 Menguji struktur data internal untuk memastikan validitasnya
Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri
yaitu
1 Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi kondisi atau kontrol yang keluar dari
alur utama Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu rdquokasus spesialrdquo yang akan mengarahkannya kepada
kehancuran
2 Sering percaya bahwa alur logikal tidak akan dieksekusi ketika
dikenyataannya mungkin akan dieksekusi dengan basis regular Alur logika
program biasanya berkebalikan dari intuisi yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Setiap lingkaran merepresentasikan transformasi yang lebih kompleks
Ujicoba dilakukan dan hasilnya dievaluasi kemudian hasil ujicoba dibandingkan
dengan hasil yang diharapkan Ketika ditemukan data yang keliru maka error
ditemukan dan debug dimulai Ketika hasil ujicoba dikumpulkan dan dievaluasi
indikasi kualitatif dari kualitas dan reliabilitas software mulai terlihat Jika terjadi
kesalahan fatal dan memerlukan modifikasi desain ditemukan secara reguler
maka kualitas dan reliabilitas software akan dipertanyakan dan diperlukan
ujicoba lanjutan
Sebaliknya jika fungsi software bekerja sebagaimana mestinya dan
kesalahan yang terjadi dapat diatasi dengan mudah maka dapat diambil 1 dari 2
kesimpulan dapat dibuat yaitu
(1) Kualitas dan reliabilitas software dapat diterima
(2) Ujicoba tidak cukup untuk menemukan kesalahan yang fatal
Akhirnya jika ujicoba tidak menghasilkan kesalahan maka harus terjadi
keraguan bahwa konfigurasi ujicoba tersebut tidak berhasil dan masih terjadi
kesalahan dalam software Hal ini akan dibuktikan oleh user dan akan diperbaiki
oleh pengembang dalam fase pemeliharaan Hasil-hasil yang dikumpulkan
selama ujicoba dapat dievaluasi dengan cara formal
3 BERIKAN GAMBARAN DASAR - DASAR PENGUJIAN ndash PENGUJIAN
Desain kasus Ujicoba (Test Case Design)
Desain ujicoba untuk software atau produk teknik lainnya sama sulitnya
dengan desain inisial dari produk itu sendiri Dengan tujuan dari ujicoba itu
sendiri yaitu mendesain ujicoba yang tingkat kemungkinan penemuan
kesalahan yang tinggi dengan jumlah waktu dan usaha yang sedikit
Selama beberapa dekade metode desain ujicoba kasus telah dikembangkan
Metode ini menyediakan pendekatan sistematik untuk ujicoba Hal yang lebih
penting yaitu metode-metode ini menyediakan mekanisme yang dapat
membantu memastikan kelengkapan ujicoba dan menyediakan tingkat
kemungkinan yang tinggi dalam penemuan kesalahan pada software
Semua produk yang dikembangkan (engineered) dapat diujicoba dengan
salah satu cara dari 2 cara berikut
1 Mengetahui fungsi-fungsi yang dispesifikasikan pada produk yang didesain
untuk melakukannya ujicoba dapat dilakukan dengan mendemonstrasikan
setiap fungsi secara menyeluruh
2 Mengetahui cara kerja internal dari produk ujicoba dapat dilakukan untuk
memastikan bahwa seluruh operasi internal dari produk dilaksanakan
berdasarkan pada spesifikasi dan komponen internal telah digunakan secara
tepat
Pendekatan pertama adalah black box testing dan yang kedua adalah
white box testing
Black box testing menyinggung ujicoba yang dilakukan pada interface
software Walaupun didesain untuk menemukan kesalahan ujicoba blackbox
digunakan untuk mendemonstrasikan fungsi software yang dioperasikan apakah
input diterima dengan benar dan ouput yang dihasilkan benar apakah integritas
informasi eksternal terpelihara Ujicoba blackbox memeriksa beberapa aspek
sistem tetapi memeriksa sedikit mengenai struktur logikal internal software
White box testing didasarkan pada pemeriksaan detail prosedural Alur
logikal suatu software diujicoba dengan menyediakan kasus ujicoba yang
melakukan sekumpulan kondisi danatau perulangan tertentu Status dari
program dapat diperiksa pada beberapa titik yang bervariasi untuk menentukan
apakah status yang diharapkan atau ditegaskan sesuai dengan status
sesungguhnya Sepintas seolah-olah white box testing akan menghasilkan
program yang 100 benar yang diperlukan hanyalah mendefinisikan alur
logikal membangun kasus uji untuk memeriksa software tersebut dan
mengevaluasi hasil yang diperoleh Sayangnya ujicoba yang menyeluruh ini
menghadirkan masalah logikal tertentu Untuk sebuah program sederhana
sekalipun terdapat banyak alur logikal yang memungkinkan Sehingga white box
testing sebaiknya hanya dilakukan pada alur logikal yang penting Struktur data-
struktur data yang penting dapat diujikan dengan uji validitas Atribut dari black
box testing dan white box testing dapat dikombinasikan untuk digunakan
bersama
Black Box
1048707 Metode Black Box memungkinkan perekayasa perangkat lunak
mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan
semua persyaratan fungsional untuk suatu program
1048707 Black Box dapat menemukan kesalahan dalam kategori berikut
o Fungsi-fungsi yang tidak benar atau hilang
o Kesalahan interface
o Kesalahan dalam strutur data atau akses basisdata eksternal
o Inisialisasi dan kesalahan terminasi
o validitas fungsional
o kesensitifan sistem terhadap nilai input tertentu
o batasan dari suatu data
Tipe dari Black Box Testing
1048707 Equivalence class partitioning
1048707 Sample testing
1048707 Limit testing
1048707 Robustness testing
1048707 Behavior testing
1048707 Requirement testing
Equivalence Class Testing
1048707 Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan
sebagai kasus uji
1048707 kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus
uji
1048707 Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid
1048707 kondisi input bisa merupakan suatu range harga khusus suatu
himpunan atau suatu boolean
1048707 Bila kondisi input berupa suatu range maka input kasus ujinya satu valid
dan dua yang invalid
1048707 Bila kondisi input berupa suatu harga khusus maka input kasus ujinya
satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota himpunan maka input kasus
ujinya satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota Boolean maka input kasus ujinya
satu valid dan dua yang invalid
Sample Testing
1048707 Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi
1048707 Integrasikan nilai tersebut ke dalam kasus uji
1048707 Nilai yang dipilih dapat berupa konstanta atau variabel
Limit Testing
1048707 Kasus uji yang memproses nilai batas (atau titik singular)
1048707 Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang
sama atau mendekati nilai yang membatasi kelas akivalensi tersebut
1048707 Limit test also juga melibatkan data keluaran dari ekivalensi kelas
1048707 Pada kasus segi tiga misalnya limit testing mencoba untuk mendeteksi
apakah a+b gt= c dan bukan a + b gt c
1048707 Bila kondisi input menentukan suatu range maka kasus ujinya harus
mencakup pengujian nilai batas dari range dan nilai invalid yang dekat
dengan nilai batas Misal bila rangenya antara [-10 +10] maka input
untuk kasus ujinya adalah -10 10 -10011001
1048707 Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup
nilai minimum dan maksimum Misal suatu file dapat terdiri dari 1 to 255
record maka kasus ujinya harus mencakup untuk nilai 0 1 255 and 256
atau uji saat keadaan record kosong dan record penuh
Robustness Testing
Data dipilih dari luar range yang didefinisikan Tujuan pengujian ini adalah
untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan
akibat adanya keabnormalan
Behavior Testing
Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program
tidak bisa dilakukan per modul (CSU computer software unit)
Requirement Testing
1048707 Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
modul CSU
1048707 Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
melalui matriks keterunutuan
WHITEBOX TESTING
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji
Dengan menggunakan metode ujicoba whitebox para pengembang software
dapat menghasilkan kasus-kasus uji yang
1 Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali
2 Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah
3 Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4 Menguji struktur data internal untuk memastikan validitasnya
Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri
yaitu
1 Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi kondisi atau kontrol yang keluar dari
alur utama Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu rdquokasus spesialrdquo yang akan mengarahkannya kepada
kehancuran
2 Sering percaya bahwa alur logikal tidak akan dieksekusi ketika
dikenyataannya mungkin akan dieksekusi dengan basis regular Alur logika
program biasanya berkebalikan dari intuisi yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Semua produk yang dikembangkan (engineered) dapat diujicoba dengan
salah satu cara dari 2 cara berikut
1 Mengetahui fungsi-fungsi yang dispesifikasikan pada produk yang didesain
untuk melakukannya ujicoba dapat dilakukan dengan mendemonstrasikan
setiap fungsi secara menyeluruh
2 Mengetahui cara kerja internal dari produk ujicoba dapat dilakukan untuk
memastikan bahwa seluruh operasi internal dari produk dilaksanakan
berdasarkan pada spesifikasi dan komponen internal telah digunakan secara
tepat
Pendekatan pertama adalah black box testing dan yang kedua adalah
white box testing
Black box testing menyinggung ujicoba yang dilakukan pada interface
software Walaupun didesain untuk menemukan kesalahan ujicoba blackbox
digunakan untuk mendemonstrasikan fungsi software yang dioperasikan apakah
input diterima dengan benar dan ouput yang dihasilkan benar apakah integritas
informasi eksternal terpelihara Ujicoba blackbox memeriksa beberapa aspek
sistem tetapi memeriksa sedikit mengenai struktur logikal internal software
White box testing didasarkan pada pemeriksaan detail prosedural Alur
logikal suatu software diujicoba dengan menyediakan kasus ujicoba yang
melakukan sekumpulan kondisi danatau perulangan tertentu Status dari
program dapat diperiksa pada beberapa titik yang bervariasi untuk menentukan
apakah status yang diharapkan atau ditegaskan sesuai dengan status
sesungguhnya Sepintas seolah-olah white box testing akan menghasilkan
program yang 100 benar yang diperlukan hanyalah mendefinisikan alur
logikal membangun kasus uji untuk memeriksa software tersebut dan
mengevaluasi hasil yang diperoleh Sayangnya ujicoba yang menyeluruh ini
menghadirkan masalah logikal tertentu Untuk sebuah program sederhana
sekalipun terdapat banyak alur logikal yang memungkinkan Sehingga white box
testing sebaiknya hanya dilakukan pada alur logikal yang penting Struktur data-
struktur data yang penting dapat diujikan dengan uji validitas Atribut dari black
box testing dan white box testing dapat dikombinasikan untuk digunakan
bersama
Black Box
1048707 Metode Black Box memungkinkan perekayasa perangkat lunak
mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan
semua persyaratan fungsional untuk suatu program
1048707 Black Box dapat menemukan kesalahan dalam kategori berikut
o Fungsi-fungsi yang tidak benar atau hilang
o Kesalahan interface
o Kesalahan dalam strutur data atau akses basisdata eksternal
o Inisialisasi dan kesalahan terminasi
o validitas fungsional
o kesensitifan sistem terhadap nilai input tertentu
o batasan dari suatu data
Tipe dari Black Box Testing
1048707 Equivalence class partitioning
1048707 Sample testing
1048707 Limit testing
1048707 Robustness testing
1048707 Behavior testing
1048707 Requirement testing
Equivalence Class Testing
1048707 Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan
sebagai kasus uji
1048707 kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus
uji
1048707 Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid
1048707 kondisi input bisa merupakan suatu range harga khusus suatu
himpunan atau suatu boolean
1048707 Bila kondisi input berupa suatu range maka input kasus ujinya satu valid
dan dua yang invalid
1048707 Bila kondisi input berupa suatu harga khusus maka input kasus ujinya
satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota himpunan maka input kasus
ujinya satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota Boolean maka input kasus ujinya
satu valid dan dua yang invalid
Sample Testing
1048707 Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi
1048707 Integrasikan nilai tersebut ke dalam kasus uji
1048707 Nilai yang dipilih dapat berupa konstanta atau variabel
Limit Testing
1048707 Kasus uji yang memproses nilai batas (atau titik singular)
1048707 Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang
sama atau mendekati nilai yang membatasi kelas akivalensi tersebut
1048707 Limit test also juga melibatkan data keluaran dari ekivalensi kelas
1048707 Pada kasus segi tiga misalnya limit testing mencoba untuk mendeteksi
apakah a+b gt= c dan bukan a + b gt c
1048707 Bila kondisi input menentukan suatu range maka kasus ujinya harus
mencakup pengujian nilai batas dari range dan nilai invalid yang dekat
dengan nilai batas Misal bila rangenya antara [-10 +10] maka input
untuk kasus ujinya adalah -10 10 -10011001
1048707 Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup
nilai minimum dan maksimum Misal suatu file dapat terdiri dari 1 to 255
record maka kasus ujinya harus mencakup untuk nilai 0 1 255 and 256
atau uji saat keadaan record kosong dan record penuh
Robustness Testing
Data dipilih dari luar range yang didefinisikan Tujuan pengujian ini adalah
untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan
akibat adanya keabnormalan
Behavior Testing
Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program
tidak bisa dilakukan per modul (CSU computer software unit)
Requirement Testing
1048707 Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
modul CSU
1048707 Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
melalui matriks keterunutuan
WHITEBOX TESTING
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji
Dengan menggunakan metode ujicoba whitebox para pengembang software
dapat menghasilkan kasus-kasus uji yang
1 Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali
2 Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah
3 Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4 Menguji struktur data internal untuk memastikan validitasnya
Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri
yaitu
1 Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi kondisi atau kontrol yang keluar dari
alur utama Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu rdquokasus spesialrdquo yang akan mengarahkannya kepada
kehancuran
2 Sering percaya bahwa alur logikal tidak akan dieksekusi ketika
dikenyataannya mungkin akan dieksekusi dengan basis regular Alur logika
program biasanya berkebalikan dari intuisi yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
1048707 Metode Black Box memungkinkan perekayasa perangkat lunak
mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan
semua persyaratan fungsional untuk suatu program
1048707 Black Box dapat menemukan kesalahan dalam kategori berikut
o Fungsi-fungsi yang tidak benar atau hilang
o Kesalahan interface
o Kesalahan dalam strutur data atau akses basisdata eksternal
o Inisialisasi dan kesalahan terminasi
o validitas fungsional
o kesensitifan sistem terhadap nilai input tertentu
o batasan dari suatu data
Tipe dari Black Box Testing
1048707 Equivalence class partitioning
1048707 Sample testing
1048707 Limit testing
1048707 Robustness testing
1048707 Behavior testing
1048707 Requirement testing
Equivalence Class Testing
1048707 Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan
sebagai kasus uji
1048707 kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus
uji
1048707 Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid
1048707 kondisi input bisa merupakan suatu range harga khusus suatu
himpunan atau suatu boolean
1048707 Bila kondisi input berupa suatu range maka input kasus ujinya satu valid
dan dua yang invalid
1048707 Bila kondisi input berupa suatu harga khusus maka input kasus ujinya
satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota himpunan maka input kasus
ujinya satu valid dan dua yang invalid
1048707 Bila kondisi input berupa suatu anggota Boolean maka input kasus ujinya
satu valid dan dua yang invalid
Sample Testing
1048707 Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi
1048707 Integrasikan nilai tersebut ke dalam kasus uji
1048707 Nilai yang dipilih dapat berupa konstanta atau variabel
Limit Testing
1048707 Kasus uji yang memproses nilai batas (atau titik singular)
1048707 Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang
sama atau mendekati nilai yang membatasi kelas akivalensi tersebut
1048707 Limit test also juga melibatkan data keluaran dari ekivalensi kelas
1048707 Pada kasus segi tiga misalnya limit testing mencoba untuk mendeteksi
apakah a+b gt= c dan bukan a + b gt c
1048707 Bila kondisi input menentukan suatu range maka kasus ujinya harus
mencakup pengujian nilai batas dari range dan nilai invalid yang dekat
dengan nilai batas Misal bila rangenya antara [-10 +10] maka input
untuk kasus ujinya adalah -10 10 -10011001
1048707 Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup
nilai minimum dan maksimum Misal suatu file dapat terdiri dari 1 to 255
record maka kasus ujinya harus mencakup untuk nilai 0 1 255 and 256
atau uji saat keadaan record kosong dan record penuh
Robustness Testing
Data dipilih dari luar range yang didefinisikan Tujuan pengujian ini adalah
untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan
akibat adanya keabnormalan
Behavior Testing
Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program
tidak bisa dilakukan per modul (CSU computer software unit)
Requirement Testing
1048707 Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
modul CSU
1048707 Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
melalui matriks keterunutuan
WHITEBOX TESTING
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji
Dengan menggunakan metode ujicoba whitebox para pengembang software
dapat menghasilkan kasus-kasus uji yang
1 Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali
2 Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah
3 Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4 Menguji struktur data internal untuk memastikan validitasnya
Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri
yaitu
1 Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi kondisi atau kontrol yang keluar dari
alur utama Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu rdquokasus spesialrdquo yang akan mengarahkannya kepada
kehancuran
2 Sering percaya bahwa alur logikal tidak akan dieksekusi ketika
dikenyataannya mungkin akan dieksekusi dengan basis regular Alur logika
program biasanya berkebalikan dari intuisi yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
1048707 Bila kondisi input berupa suatu anggota Boolean maka input kasus ujinya
satu valid dan dua yang invalid
Sample Testing
1048707 Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi
1048707 Integrasikan nilai tersebut ke dalam kasus uji
1048707 Nilai yang dipilih dapat berupa konstanta atau variabel
Limit Testing
1048707 Kasus uji yang memproses nilai batas (atau titik singular)
1048707 Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang
sama atau mendekati nilai yang membatasi kelas akivalensi tersebut
1048707 Limit test also juga melibatkan data keluaran dari ekivalensi kelas
1048707 Pada kasus segi tiga misalnya limit testing mencoba untuk mendeteksi
apakah a+b gt= c dan bukan a + b gt c
1048707 Bila kondisi input menentukan suatu range maka kasus ujinya harus
mencakup pengujian nilai batas dari range dan nilai invalid yang dekat
dengan nilai batas Misal bila rangenya antara [-10 +10] maka input
untuk kasus ujinya adalah -10 10 -10011001
1048707 Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup
nilai minimum dan maksimum Misal suatu file dapat terdiri dari 1 to 255
record maka kasus ujinya harus mencakup untuk nilai 0 1 255 and 256
atau uji saat keadaan record kosong dan record penuh
Robustness Testing
Data dipilih dari luar range yang didefinisikan Tujuan pengujian ini adalah
untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan
akibat adanya keabnormalan
Behavior Testing
Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program
tidak bisa dilakukan per modul (CSU computer software unit)
Requirement Testing
1048707 Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
modul CSU
1048707 Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
melalui matriks keterunutuan
WHITEBOX TESTING
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji
Dengan menggunakan metode ujicoba whitebox para pengembang software
dapat menghasilkan kasus-kasus uji yang
1 Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali
2 Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah
3 Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4 Menguji struktur data internal untuk memastikan validitasnya
Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri
yaitu
1 Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi kondisi atau kontrol yang keluar dari
alur utama Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu rdquokasus spesialrdquo yang akan mengarahkannya kepada
kehancuran
2 Sering percaya bahwa alur logikal tidak akan dieksekusi ketika
dikenyataannya mungkin akan dieksekusi dengan basis regular Alur logika
program biasanya berkebalikan dari intuisi yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Requirement Testing
1048707 Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
modul CSU
1048707 Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
melalui matriks keterunutuan
WHITEBOX TESTING
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji
Dengan menggunakan metode ujicoba whitebox para pengembang software
dapat menghasilkan kasus-kasus uji yang
1 Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali
2 Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah
3 Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4 Menguji struktur data internal untuk memastikan validitasnya
Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri
yaitu
1 Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi kondisi atau kontrol yang keluar dari
alur utama Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu rdquokasus spesialrdquo yang akan mengarahkannya kepada
kehancuran
2 Sering percaya bahwa alur logikal tidak akan dieksekusi ketika
dikenyataannya mungkin akan dieksekusi dengan basis regular Alur logika
program biasanya berkebalikan dari intuisi yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
3 Kesalahan typographical (cetakan) bersifat random Ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman maka akan terjadi
kesalahan pengetikan Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba
Karena alasan tersebut diatas maka ujicoba whitebox testing diperlukan
selain blackbox testing
UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program sedikitnya satu kali selama
ujicoba
Notasi graf Alur (Path Graph Notation)
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph) seperti gambar dibawah ini
Untuk
mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node merepresentasikan satu atau lebih perintah prosedural Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node
sedangkan anak panah disebut edges menggambarkan aliran dari kontrol sesuai
dengan diagram alir
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural Area yang dibatasi oleh edge dan node
disebut region area diluar graph juga dihitung sebagai region
Setiap
representasi rancangan prosedural dapat diterjemahkan kedalam flow graph
Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language)
dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Ketika kondisi gabungan ditemukan maka penggambaran flow graph akan
menjadi lebih rumit Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR AND NAND NOR) ditemukan dalam perintah seperti
terlihat pada gambar (b) dibawah ini
Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program Ketika digunakan
dalam konteks metode ujicoba berbasis alur nilai yang dikomputasi untuk
kompleksitas cyclomatic mendefinisikan jumlah independent path dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Independent path adalah alur manapun dalam program yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru Contoh independent path dari gambar flow graph diatas
Path 1 1 ndash 11
Path 2 1 ndash 2 ndash 3 ndash 4 ndash 5 ndash 10 ndash 1 ndash 11
Path 3 1 ndash 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
Path 4 1 ndash 2 ndash 3 ndash 6 ndash 7 ndash 9 ndash 10 ndash 1 ndash 11
Misalkan setip path yang baru memunculkan edge yang baru dengan path
1 - 2 ndash 3 ndash 4 ndash 5 ndash 10 - 1 - 2 ndash 3 ndash 6 ndash 8 ndash 9 ndash 10 ndash 1 ndash 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut
1 Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = E ndash N + 2
Dimana E = jumlah edge dan N = jumlah node
3 Kompleksitas cyclomatic untuk graf alur G didefinisikan
V(G) = P + 1
Dimana P = jumlah predicates nodes
Berdasarkan flow graph gambar (b) diatas maka kompleksitas cyclomatic-
nya dapat di hitung sebagai berikut
1 Flow graph diatas mempunyai 4 region
2 V(G) = 11 edges ndash 9 nodes + 2 = 4
3 V(G) = 3 predicates nodes + = 4
Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program
4 BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER
Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Tujuan meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik
Contoh
1048708 Mengujikan proses antar server dan antar partisi hardisik pd satu server
Stress Testing
Tujuan mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses Contoh periode puncak ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down
Contoh Melakukan login ke server ketika sejumlah besar workstation
melakukan proses menjalankan perintah sql database
Performance Testing
Dilakukan secara paralel dengan Volume dan Stress testing untuk
mengetahui unjuk kerja sistem (waktu respon throughput rate) pada beberapa
kondisi proses dan konfigurasi
Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak
1048708 Mis pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs WAN Laptop vs Desktop)
1048708 Menguji sistem dengan hubungannya sistem ke lain pada server yg sama
Load Balancing Monitor Network Monitor
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara
Kehilangan Data terjadi akibat kegagalan sistem hardisk rusak peghapusan yg
tidak sengaja kecelakaan virus dan pencuri
Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery Pengujian dilakukan terhadap strategi backup
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
frekuensi medium waktu mekanisme backup (manual otomatis) personal
Berapa lama backup akan disimpan
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery)
Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database Shutdown database engine melalui
operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi
database
5 UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
KESALAHAN MINIMAL 3 KESALAHAN
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual
Opera Mini 5 yang masih dalam tahap beta version memang sangat menarik untuk dicoba Selain perubahan tampilan yang sangat frontal terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC
Hanya saja saat pertama kali mencoba browser ini ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti Beberapa Bug yang saya rasakan antara lain
1 Entry Password Saat mengetikkan kata sandi untuk masuk ke sebuah website OperaMini 5 beta langsung merubahnya ke karakter tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar
2 Spasi Saat menggunakan spasi pada untuk menulis sebuah kalimat maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh
3 Saat menekan tombol yang memiliki input angka dalam waktu cukup lama seharusnya yang muncul adalah angka tersebut tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC) misal huruf tombol huruf H menjadi satu dengan tombol angka 6 seharusnya saat ditekan lama yang muncul adalah angka 6 tetapi di opera mini muncul huruf H yang banyak
4 Copy Paste Tidak support metode CopyPaste melalui kombinasi Ctrl+CCtrl+V sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual