Selasa, 14 Mei 2013

Whitebox And Blackbox Testing



Blackbox adalah metode pengujian yang memfokuskan pada keperluan fungsional dari software yang diuji. Uji coba blackbox berusaha untuk menemukan kesalahan dari kategori berikut :
1.       Fungsi-fungsi yang salah atau hilang
2.       Kesalahan interface
3.       Kesalahan dalam struktur database  atau akses database eksternal
4.       Kesalahan performa
5.       Kesalahan inisialisasi dan terminasi
Dengan uji coba blackbox, diharapkan dapat menghasilkan sekumpulan kasus uji yang memenuhi kriteria berikut:
1.       Kasus uji yang berulang
2.       Kasus uji yang memberitahukan sesuatu tentang keberadaan atau tidaknya satu jenis kesalahan
Metode yang digunakan pada blackbox :
1.       Equivalent Partisi
Adalah Metode ujicoba blackbox yang membagi domain input dari program menjadi beberapa kelas data dan kasus uji coba yang dihasilkan.
2.       Boundary Value
Adalah pilihan test case yang mengerjakan nilai yang sudah ditentukan,dengan teknik perancangan test case melengkapi test case  equivalence partisi yang fokusnya pada input.Terfokus pada domain output hasil range nilai
3.       Error Guessy
Pengujian Berdasarkan intuisi dari sisi programmer. Dimaksudkan untuk mengetahui error yang terjadi ketika program diuji coba.
Whitebox adalah suatu pengujian dengan cara melihat ke dalam modul untuk meneliti kode-kode program yang ada,dan menganalisa apakah masih ada kesalahan atau tidak. Whitebox adalah metode desain uji kasus yang menggunakan struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji. Dengan whitebox dapat dihasilkan :
1.       Menjamin bahwa seluruh independent paths dalam modul telah dilakukan sedikitnya satu kali.
2.       Melakukan seluruh keputusan logika baik dari sisi benar maupun salah.
3.       Melakukan seluruh perulangan sesuai batasannya dan dalam batasan operasionalnya.
4.       Menguji struktur data internal untuk memastikan validitasnya.
Design adalah proses untuk membuat dan menciptakan objek baru.
Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan.
Dokumentasi adalah proses pengumpulan hal-hal apa saja yang telah dilakukan.
Training adalah proses untuk meningkatkan kinerja.
Fasilitas helpdesk biasa digunakan pada tahap maintenance.

Tahap pada SWDLC
a.       Design : bagan terstruktur,Tabel keputusan,Pohon Keputusan
b.      Code : Menulis statement
c.       Test : Pengujian/mendeteksi kesalahan
Sebagai tahap pengujian,whitebox dan blackbox terdapat pada tahap Test di SWDLC. PHP, Java, Phyton tools pada SWDLC terdapat pada tahap code. Sedangkan Freadocode,Structure,chart,ERD masuk dalam SWDLC tahap Design.

Langkah yang dilakukan diagram PERT untuk menentukan rangkaian tugas perangkat lunak :
1.       Identifikasi semua tugas
2.       Meng-estimasi waktu
3.       Menetapkan rangkaian tugas
4.       Menentukan jalur kritis
Keuntungan Perangkat Lunak Komersial adalah :
1.       implementasi cepat
2.       penghematan biaya
3.       estimasi biaya dan waktu
4.       reliabilitas
Kelemahan perangkat lunak komersial adalah :
1.       kesesuaian rancangan sistem yang tidak baik
2.       ketergantungan pada vendor
3.       biaya tidak langsung dari kerusakan SDLC
Pemeliharaan dan perbaikan sistem termasuk dalam fase maintenance.
Programmer developer termasuk orang-orang yang dijadkan sebagai tim pengembang dalam sebuah proyek.Dalam hal ini,orang-orang tersebut adalah programmer. Chief programmer team adalah orang-orang yang menjabat sebagai kepala atau ketua programmer dalam suatu tim. Egoless programming team adalah tim tanpa pimpinan,terbentuk dari seluruh rekan yang sama-sama bertanggung jawab atas pengembangan perangkat lunak.

Jenis permasalahan yang sering terjadi saat software diimplementasikan adalah :
1.       Perhitungan tidak sesuai
2.       Pencarian pengurutan data yang tidak sesuai
3.       Pemrosesan data relationship
Fungtionality testing adalah tipe dari blackbox testing yang basis uji kasusnya pada spesifikasi dari komponen perangkat lunak yang diuji.Memastikan bahwa semua kebutuhan-kebutuhan telah dipenuhi dalam sistem aplikasi.
User interface testing adalah menentukan seberapa baik user interface suatu produk berfungsi dan bekerja dengan pengguna.
Performance Testing adalah dilakukan secara paralel untuk mengetahui unjuk kerja sistem (waktu respon,throughput rate) pada beberapa kondisi proses/ konfigurasi.
Security testing adalah pengujian yang akan melakukan verifikasi dan mekanisme perlindungan yang akan dibuat oleh sistem, melindungi hal-hal yang mungkin terjadi.