Lunak
Minggu ke 6
Aspek Kecocokan
1. Data: data yang andal, timelines (tepat waktu),
konsisten dan banyak berguna (useful) terkendali
Tools vs Teknik
o Tool merupakan 'kendaraan" untuk melakukan proses
pengujian. Tool merupakan sumber bagi penguji, tapi
tool sendiri tidak dapat melaksanakan pengujian.
o Teknik pengujian adalah proses untuk meyakinkan
bahwa beberapa aspek dari sistem aplikasi berfungsi
dengan baik. Ada sedikit teknik, tapi ada banyak tool.
o Konsep dari tool dan teknik ini penting dalam proses
pengujian. Kombinasi keduanya memungkinkan
untuk dilakukannya proses pengujian.
Testing Strategies
Tools pengujian perangkat lunak dikelompokkan
menjadi :
a) Top-Down
b) Bottom-Up
c) Big Bang
d) Sandwich
Proses Testing
Unit
Testing
Module
Testing
Component Testing
Sub-system
Testing
Integration Testing
System
Testing
Acceptance
Testing
User
Testing
13
Proses Testing
Unit testing
Module Testing
Sub-system Testing
Proses Testing
System Testing
Acceptance Testing
Proses Testing
Component testing
Integration testing
17
Spesifikasi
Sistem
Acceptance
Test plan
System
Integration
Test plan
Service
Acceptance
test
Perancangan
Sistem
Sub-System
Integration
Test plan
System
Integration
test
Detail
Perancangan
Module and
Unit code and
test
Sub-System
Integration
test
18
Pendekatan Strategis ke
pengujian perangkat lunak
Pengujian
Pengujian
Pengujian
Pengujian
Unit
Integrasi
Validasi
Sistem
Pengujian Unit
Berfokus pada inti terkecil dari desain
perangkat lunak yaitu modul
Biasanya berorientasi pada white box
MODUL
Interface
Struktur data lokal
Kondisi Batas
Jalur independen
Jalur penanganan kesalahan
Test Case
Pengujian Unit
Checklist untuk pengujian interface
Pengujian Unit
Pengujian Unit
Validasi
Apakah sistem yang dikembangkan sudah benar?
Pengujian dimana sistem ketika diimplementasikan sesuai dengan
yang iharapkan
Verifikasi
Apakah sistem dikembangkan dengan cara yang benar ?
Pengujian apakah sistem sudah sesuai dengan spesifikasi
Integration testing
Pengujian keseluruhan system atau subsystem yang terdiri dr komponen yg
terintegrasi.
Test integrasi menggunakan black-box
dengan test case ditentukan dari spesifikasi.
Kesulitannya adalah menemukan/melokasikan
Penggunaan Incremental integration testing
dapat mengurangi masalah tersebut.
Incremental integration
testing
T1
A
T1
T2
T1
A
T2
T2
B
T3
B
T3
C
T4
T3
C
T4
T5
D
Test sequence
1
Test sequence
2
Test sequence
3
Bottom-up testing
Top-down testing
Level 1
Testing
sequence
Level 2
Le vel 2
stubs
Le vel 3
stubs
Level 1
Level 2
Le vel 2
. ..
Level 2
Bottom-up testing
Test
drivers
Level N
Test
drivers
Level N
Level N1
Le vel N
Level N1
Level N
Level N
Level N1
Testing
sequence
Pendekatan Testing
Architectural validation
System demonstration
Test implementation
Interface testing
Dilakukan kalau module-module dan subsystem terintegrasi dan membentuk sistem
yang lebih besar
Tujuannya untuk medeteksi fault terhadap
kesalahan interface atau asumsi yg tidak valid
terntang interface tsb.
Sangat penting untuk pengujian terhadap
pengembangan sistem dgn menggunakan
pendekatan object-oriented yg didefinisikan
oleh object-objectnya
Pengujian Validasi
Kajian Konfigurasi (audit)
Pengujian Validasi
Pengujian Alpha dan Beta
Pengujian Alpha
Usability labs
Usability factors checklist
Pengujian Beta
Pengujian Sistem
Pengujian
Pengujian
Pengujian
Pengujian
Perbaikan
Keamanan
Stress
Kinerja
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:
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.
39
40
Debugging
Test Case
Pengujian
Tambahan
Penyebab
yang
dicurigai
Pengujian regresi
Koreksi
Penyebab
yang
diidentifikasi
Debugging
Hasil