Proses Testing
Pengujian
masing-masing unit komponen program untuk meyakinkan bahwa sudah beroperasi
secara benar
- Module Testing
Pengujian terhadap koleksi unit-unit komponen yang
saling berhubungan.
- Sub-system Testing
Pengujian
terhadap koleksi module-module yang membentuk suatu sub-system (aplikasi)
- System Testing
Pengujian
terhadap integrasi sub-system, yaitu keterhubungan antar sub-system
Acceptance Testing
- Pengujian terakhirs sebelum sistem dipakai oleh
user.
- Melibatkan pengujian dengan data dari pengguna
sistem.
- Biasa dikenal sebagai “alpha test” (“beta test”
untuk software komersial, dimana pengujian dilakukan oleh potensial customer)
Rencana Pengujian
v Proses testing
Deskripsi
fase-fase utama dalam pengujian
v
Pelacakan Kebutuhan
Semua
kebutuhan user diuji secara individu
v Item yg diuji
Menspesifikasi komponen sistem yang diuji
v
Jadual Testing
v
Prosedur Pencatatan Hasil dan Prosedur
v
Kebutuhan akan Hardware dan Software
v
Kendala-kendala
Mis: kekuranga staff, alat, waktu dll.
Failure and Faults
q Failure:
output yang tidak benar/tidak sesuai ketika sistem dijalankan
q Fault:
kesalahan dalam source code yang mungkin menimbulkan failure ketika code yang
fault tersebut dijalankan
Prioritas Testing
v
Hanya test yang lengkap yang dapat meyakinkan
sistem terbebas dari kesalahan, tetapi hal ini sangat sulit dilakukan.
v
Prioritas dilakukan terhadap pengujian kemampuan
sistem, bukan masingmasing komponennya.
v
Pengujian untuk situasi yang tipikal lebih penting
dibandingkan pengujian terhadap nilai batas.
Test
Data Dan Kasus Test
q Test Data
Input
yang direncanakan digunakan oleh sistem.
q Test
Cases
Input yang digunakan untuk menguji sistem dan
memprediksi output dari input jika sistem beroperasi sesuai dengan spesifikasi.
Pendekatan Strategis Pengujian Perangkat Lunak
v
Pengujian Unit
v
Pengujian Integrasi
v
Pengujian Validasi
v
Pengujian Sistem
Pengujian Unit
q
Berfokus pada inti terkecil dari desain
perangkat lunak yaitu modul
q
Uji coba unit selalu berorientasi pada white box
testing
Dapat dikerjakan paralel
atau beruntun dengan modul lainnya
Integration Testing
q
Pengujian keseluruhan system atau sub-system
yang terdiri dari komponen yang terintegrasi.
q
Test
integrasi menggunakan black-box dengan test case ditentukan dari
spesifikasi.
q
Kesulitannya adalah menemukan/melokasikan
q
Penggunaan Incremental integration testing dapat
mengurangi masalah tersebut.
Pendekatan Integration Testing
v Top-down
Testing
Berawal dari
level-atas system dan terintegrasi dengan mengganti masingmasing komponen
secara top-down dengan suatu stub (program pendek yg mengenerate input ke
sub-system yang diuji).
v Bottom-up
Testing
Integrasi components di level hingga sistem lengkap
sudah teruji.
Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua
strategi pengujian tsb.
Pendekatan
Testing
v Architectural
Validation
Top-down
integration testing lebih baik digunakan dalam menemukan error dalam sistem
arsitektur.
v System
Demonstration
Top-down
integration testing hanya membatasi pengujian pada awal tahap pengembangan
system.
v Test Implementation
Seringkali
lebih mudah dengan menggunakan bottom-up integration testing
Interface Testing
q
Dilakukan kalau module-module dan sub-system
terintegrasi dan membentuk sistem yang lebih besar
q
Tujuannya untuk medeteksi fault terhadap kesalahan interface atau asumsi yang
tidak valid tentang interface tersebut.
q
Sangat penting untuk pengujian terhadap
pengembangan sistem dengan menggunakan pendekatan object-oriented yang
didefinisikan oleh objectobjectnya
Pengujian
Validasi
v Kajian Konfigurasi (audit)
q
Elemen dari proses validasi
q
Memastikan apakah semua elemen konfigurasi
perangkat lunak telah dikembangkan dengan tepat
v Pengujian
Alpha dan Beta
q
Pengujian Alpha
ü
Usability labs
ü
Usability factors checklist
q
Pengujian Beta
Pengujian
Sistem :
q
Pengujian Perbaikan
q
Pengujian Keamanan
q
Pengujian Stress
q
Pengujian Kinerja
Pengujian
Aplikasi Server :
q
Volume Testing
q
Stress Testing
q
Performance Testing
q
Data Recovery Testing
q
Data Backup and Restore Testing
q
Data Security Testing
Volume Testing
q
Menemukan kelemahan sistem selama melakukan
pemrosesan data dalam jumlah yang besar dalam periode waktu yang singkat.
q
Tujuan: meyakinkan bahwa sistem tetap melakukan
pemrosesan data antar batasan fisik dan batasan logik.
q
Contoh:
Mengujikan proses antar server dan antar partisi
hardisk pada satu server.
Stress Testing
q
Tujuan: mengetahui
kemampuan sistem dalam
melakukan transaksi selama periode waktu puncak proses.
q
Contoh periode puncak: ketika penolakan proses
login on-line setelah sistem down atau pada kasus batch, pengiriman batch
proses dalam jumlah yang besar dilakukan setelah sistem down.
q
Contoh: Melakukan login ke server ketika
sejumlah besar workstation melakukan proses menjalankan perintah sql
database.
Performance Testing
q
Dilakukan secara paralel dengan Volume dan
Stress testing untuk mengetahui unjuk kerja sistem (waktu respon,
throughput rate) pada beberapa kondisi
proses dan konfigurasi.
q
Dilakukan pada semua konfigurasi sistem
perangkat keras dan lunak. Misal :
pada aplikasi Client-Server diujikan pada kondisi
korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop)
q
Menguji sistem dengan hubungannya ke sistem yang
lain pada server yang sama.
q
Load Balancing Monitor
q
Network Monitor
Data Recovery Testing
q
Investigasi dampak kehilangan data melalui
proses recovery ketika terjadi kegagalan proses.
q
Penting dilakukan karena data yg disimpan di
server dapat dikonfigurasi dengan berbagai cara.
q
Kehilangan Data terjadi akibat kegagalan sistem,
hardisk rusak, peghapusan yang tidak sengaja, kecelakaan, virus dan pencuri.
Data Backup dan Restore Testing
q
Dilakukan untuk melihat prosedur back-up dan
recovery.
q
Diakukan dengan mensimulasikan beberapa
kesalahan untuk menguj i proses backup dan recovery.
q
Pengujian dilakukan terhadap strategi backup:
frekuensi , medium, waktu, mekanisme backup (manual/ otomatis), personal, ? Berapa lama backup
akan disimpan.
q
Switching antara live dan backup server ketika
terjadi kerusakan (load log transaction pada back-up kemudian melakukan
recovery).
Data Security Testing
q
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) yang dapat mematikan aplikasi database.
Tidak ada komentar:
Posting Komentar