SI319-061042-667-08 258KB Apr 04 2011 11:45:08 AM

advertisement
Pertemuan 8, 9, 10
TAHAP TESTING
SISTEM
PENGUJIAN BLACK-BOX
• Pengujian black-box berfokus pada
persyaratan fungsional perangkat lunak
• Black-box bukan merupakan alternatif dari
teknik white-box, tetapi merupakan
pendekatan komplementer yang
kemungkinan besar mampu mengungkap
kelas kesalahan daripada metode whitebox
PENGUJIAN BLACK-BOX
•
Kesalahan² yang berusaha ditemukan
oleh Black-box dikategorikan sbb:
1. Fungsi-fungsi yang tidak benar/hilang
2. Kesalahan interface
3. Kesalahan struktur data atau akses
database eksternal
4. Kesalahan kinerja
5. Inisialisasi dan kesalahan terminasi
PENGUJIAN BLACK-BOX
•
Tidak seperti White-box, pengujian Black-box cenderung
diaplikasikan selama tahap akhir pengujian
•
-
Pengujian didesain untuk menjawab pertanyaan² berikut :
Bagaimana validitas fungsional yang diuji?
Kelas input apa yang akan membuat test-case menjadi
baik?
Apakah sistem sangat sensitif terhadap harga input
tertentu?
Bagaimana batasan dari suatu data diisolasi?
Kecepatan data apa dan volume data apa yang dapat
ditolerir oleh sistem?
Apa pengaruh kombinasi tertentu dari data terhadap
operasi sistem?
-
-
Metode Pengujian Graph-Based
•
Langkah² dalam pengujian Black-box:
1. Membuat grafik dari objek² yang penting
perangkat lunak dan hubungan yang akan
menghubungkan objek² tersebut.
2. Kemudian menentukan sederetan
pengujian yang membuktikan bahwa
“semua objek memiliki hubungan yang
diharapkan satu dengan yang lainnya”.
Metode Pengujian Graph-Based
Untuk melakukan langkah tersebut dimulai
dengan membuat suatu grafik yang berisi:
- Sekumpulan simpul yang
merepresentasikan objek
- Link yang merepresentasikan hubungan
antar objek
- Node weight yang menggambarkan properti
dari suatu simpul (nilai data atau keadaan)
- Links weight yang menggambarkan
beberapa karakteristik suatu link
Metode Pengujian Graph-Based
Gambar Notasi Grafik
Object
#1
Link terarah
(Link weight)
Object
#2
Node weight
(nilai)
Link Paralel
Object
#3
Metode Pengujian Graph-Based
Contoh Gambar Notasi Grafik
New
File
Menu select membangkitkan
(waktu pembangkitan < 10 detik)
Document
Window
Membolehkan editing
Atribut:
berisi
Document
Text
Dimensi start; setting default
atau preferensi. Warna latar:
Putih; Warna teks: warna default
Atau preferensi
Metode Pengujian Graph-Based
-
Loop yaitu jalur melalui grafik dimana satu
simpul atau lebih ditemui lebih dari satu kali
-
Transitivitas hubungan sekuensial untuk
menentukan bagaimana pengaruh hubungan
menyebar pada objek yang ditentukan pada
suatu grafik.
Transitivitas dapat digambarkan dengan 3
objek: X, Y, dan Z.
X diperlukan untuk menghitung Y
Y diperlukan untuk menghitung Z
Sehingga dibangun hubungan transitif antara X dan Z
X diperlukan untuk menghitung Z
Partisi Ekivalensi
Partisi Ekivalensi berusaha menentukan
sebuah test case yang mengungkap kelas²
kesalahan, sehingga mengurangi jumlah
total test case yang harus dikembangkan.
Didasarkan pada evaluasi terhadap kelas
ekivalensi untuk suatu kondisi input.
Merepresentasikan keadaan Valid atau Invalid
untuk kondisi input
Partisi Ekivalensi
Kondisi input dapat berupa :
Harga numeris
Rentang harga atau serangkaian harga terkait
Kondisi Boolean
Pedoman penentuan kelas ekivalensi:
1. Bila kondisi input menentukan suatu range,
maka: 1 kelas ekivalensi dan 2 yang invalid
ditentukan
2. Bila kondisi input membutuhkan suatu harga
khusus, maka 1 kelas ekivalensi valid, dan 2
yang invalid ditentukan.
Partisi Ekivalensi
Pedoman penentuan kelas ekivalensi:
3. Bila kondisi menentukan anggota suatu
himpunan, maka 1 kelas ekivalensi valid
dan 2 yang invalid ditentukan
4. Bila kondisi input adalah boolean, maka 1
kelas valid dan 1 yang invalid ditentukan
Partisi Ekivalensi
Contoh:
Customer suatu perbankan dapat “menghubungi”
bank dengan komputer nya dan seperangkat
password dan perintah kunci. Data yang
diterima dalam bentuk:
-
Kode area: kosong atau tiga nomor digit
Prefik: tiga nomor digit tidak dimulai dengan 1 atau 0
Sufik : empat nomor digit
Password : enam nilai alfanumeris digit
Perintah : “cek”, “deposit”, “bayar pajak”, dsb
Partisi Ekivalensi
Kondisi input yang sesuai dengan masing² elemen
data untuk aplikasi tersebut:
-
-
-
Kode area: Kondisi input Boolean – kode area
mungkin atau mungkin tidak ada kondisi
Prefiks : Kondisi input Range – harga yang
ditetapkan antara >200 tanpa digit 0
Sufik: kondisi input Harga – panjang 4 digit
Password: kondisi input Boolean – dapat ada
atau tidak ada
Kondisi input Harga – entrian 6 karakter
Perintah: kondisi input Himpunan – berisi perintah
yang sudah ditulis spt diatas
Analisis Nilai Batas
-
Memunculkan pemilihan test case yang
menggunakan nilai batas
Test case lebih mengarah pada “edge” dari kelas
dan berfokus pada input dan output
Contoh:
- Bila suatu kondisi input mengkhususkan suatu
range dibatasi oleh nilai a dan b, maka test case
harus didesain dengan nilai a dan b, persis diatas
dan dibawah a dan b
- Suatu data program ditentukan memiliki 100 entri,
maka test case nya harus menggunakan struktur
data pada batasannya tersebut.
Pengujian GUI
GUI (Grafical User Interfaces) adalah menguji
semua interface dan kinerjanya dalam
sebuah aplikasi.
Misalnya:
- Pengujian GUI untuk Windows
- Pengujian GUI untuk operasi Mouse
- Pengujian GUI untuk entri data
Pengujian Sistem Realtime
Contoh:
Perangkat lunak yang mengontrol alat fotokopi
yang menerima interupsi operator secara
tiba2 dan harus bereaksi pada saat itu juga.
Usulan 4 strategi testing real time:
1. Pengujian masing2 tugas
2. Pengujian tingkah laku
3. Pengujian antar tugas
4. Pengujian sistem
Pengujian Integrasi
Adalah teknik sistematis untuk mengkonstruksi
struktur program sambil melakukan
pengujian untukn mengungkap kesalahan
sehubungan dengan interfacing
Sasarannya adalah untuk mengambil modul
yang dikenai pengujian unit dan
membangun struktur program yang telah
ditentukan oleh desain
Pendekatan Testing Integrasi
 Integrasi top-down
modul diintegrasikan dengan menggerakkan ke bawah
melalui hirarki kontrol dimulai dengan modul kontrol
utama.
 Integrasi bottom-up
memulai konstruksi dan pengujian dengan modul
Atomik (paling rendah).
 Pengujian regresi
eksekusi ulang dari beberapa subset yang telah
dilakukan untuk memastikan bahwa perubahan tidak
menimbulkan efek samping yang tidak diharapkan
Debugging
Debugging terjadi sebagai akibat dari
pengujian yang berhasil.
Debugging adalah proses yang menghasilkan
penghilangan kesalahan
Debugging bukan pengujian, tetapi selalu
terjadi sebagai bagian akibat dari pengujian
Debugging
Kemungkinan hasil akhir proses debugging:
1. Penyebab akan ditemukan, dikoreksi, dan
dihilangkan
2. Penyebab tidak akan di temukan
Debugging
Pendekatan Debugging
1. Brute Force (Gaya yang Kasar)
metode paling umum dan paling efisien untuk
mengisolasi penyebab kesalahan. Metode ini
menggunakan berbagai cara umum yang kasar
untuk menemukan penyebab kesalahan
2. Backtracking (Penelusuran Balik)
menelusur balik kode sumber dari mana suatu
gejala mulai diungkap sampai ditemukan
penyebabnya. Biasanya digunakan pada
program yang kecil.
Debugging
Pendekatan Debugging
3. Cause Elimination (Eliminasi Penyebab)
data yang berhubungan dengan kejadian
kesalahan dikumpulkan untuk mengisolasi
penyebab potensial.
Sebagai alternatif, daftar semua penyebab
yang mungkin akan dikembangkan dan
dilakukan pengujian untuk mengeliminasi
masing² kesalahan
Download