Pengujian pada Perangkat Lunak
Download
Report
Transcript Pengujian pada Perangkat Lunak
Lukman Hakim
Pengujian Validasi
KajianKonfigurasi(audit)
Elemen dari proses validasi
Memastikan apakah semua elemen konfigurasi
perangkat lunak telah dikembangkan dengan tepat
Pengujian Validasi
Pengujian Alpha dan Beta
Pengujian Alpha
Usability Labs
Usability Factor Checklist
Pengujian Beta
Pengujian Sistem
Pengujian Perbaikan
Pengujian Keamanan
Pengujian Stress
Pengujian Kinerja
Pendekatan Strategis ke Pengujian
Perangkat Lunak
Penguujian Unit
Pengujian Integrasi
Pengujian Validasi
Pengujian sistem
Pengujian Unit
Berfokus pada inti terkecil dari desain perangkat lunak
yaitu modul
Biasanya berorientasi pada white box
Pengujian Unit
Checklist untuk pengujian Interface
Apakah jumlah parameter input sama dengan jumlah
argumen?
Apakah antara atribut dan parameter argumen sudah
cocok.
Apakah antara sistem satuan parameter dan argumen
sudah cocok?
Apakah jumlah argumen yang ditransmisikan kemodul
yang dipanggil sama dengan atribut parameter?
lanjutan
Apakah atribut dari argumen yang ditransmisikan
kemodul yang dipanggil sama dengan atribut
parameter?
Apakah sistem unit dari argumen yang ditransmisikan
kemodul yang dipanggil sama dengan sistem satuan
parameter?
Apakah jumlah atribut dan urutan argumen kefungsifungsi built-in sudah benar?
Adakah referensi keparameter yang tidak sesuai
dengan poin entri yang ada?
Apakah argumen input only diubah?
Pengujian Unit
Apakah definisi variabel global konsisten dengan modul?
Apakah batasan yang dilalui merupakan argumen?
Test case harus didesain untuk mengungkap kesalahan
dalam kategori
Pengetikan yang tidak teratur dan tidak konsisten
Inisialisasi yang salah atau nilai-nilai default
Nama variabel yang tidak benar
Tipedata yang tidak konsisten
Underflow, overflow dan pengecualian pengalamatan
Integritas testing
Pengujian keseluruhan system atau sub-system yang
terdiri dari 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 Integrasi Testing
Pendekatan Integrasi Testing
Top-down testing
Berawal dari level-atas system dan terintegrasi dengan
mengganti masing-masing komponen secara topdown dengan suatu stub (program pendek yang
mengenerate input kesub-system yg diuji).
Bottom-up testing
Integrasi components dilevel hingga sistem lengkap
sudah teruji.
Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi
kedua strategi pengujian tsb.
Top-Down Testing
Bottom Up Testing
PendekatanTesting
Architectural validation
Top-down integration testing lebih baik digunakan
dalam menemukan error dalam sistem arsitektur.
System demonstration
Top-down integration testing
hanyamembatasipengujianpadaawaltahappengembanga
nsystem.
Test implementation
Sering kali lebih mudah dengan menggunakan bottom-
up integration testing
Interface Testing
• Dilakukan kalau module-module dan sub-system
terintegrasi dan membentuk sistem yang lebih besar.
• Tujuannya untuk medeteksi fault terhadap kesalahan
interface atau asumsi yang tidak valid tentang
interface tsb.
• Sangat
penting
untuk
pengujian
terhadap
pengembangan sistem dgn menggunakan pendekatan
object-oriented yg didefinisikan oleh object-objectnya
Pengujian Aplikasi Server
Volume Testing
Stress Testing
Performance Testing
Data Recovery Testing
Data Backup dan Restore Testing
Data security Tetsing
Volume Testing
Menemukan kelemahan sistem selama melakukan
pemrosesan data dalam jumlah yang
besardalamperiode waktuyang singkat.
Tujuan: meyakinkan bahwa sistem tetap melakukan
pemrosesan data anatar batasan fisik dan batasan
logik.
Contoh:Mengujikan proses antar server dan antar
partisihardisik pd satu server
Strees 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 sistemdown.
Contoh: Melakukan login ke server ketika sejumlah
besarworkstation melakukan proses menjalankan
perintah sql database
Soal Latihan
Lakukan diskusi pada sistem yang kalian buat dengan
menentukan beberapa skenario pengujian pada
Volume dan strees testing.
Buatlah Daftar List untuk Unit testing.
Lukman Hakim
Pendahuluan
Proses V&V harus mendemonstrasikan bahwa sistem
memenuhi spesifikasinya dan bahwa layanan dan prilaku
sistem mendukung persyaratan klien
Sehingga diperlukan penambahan analisis dan pengujian
normal, karena :
Biaya kegagalan jauh lebih besar dari pada sistem non-kritis
Validasi atribut tingkat dependabilitas meyakinkan user
Lebih dari 50% biaya pengembangan total utk sistem PL
kritis agar kegagalan sistem yg mahal terhindari
Contoh : kegagalan sistem PL dalam hal misi pada roket
Ariane 5 th 1996, yg mengakibatkan beberapa satelit rusak.
Kualitas sistem dipengaruhi oleh kualitas proses yg dipakai
untuk mengembangkan sistem
Validasi Sistem Kritis
Validasi terhadap reliability (keandalan), safety (keselamatan)
dan security (keamanan) bagi sistem berbasis komputer.
Validation perspectives
Validasi Reliability/keandalan
Apakah keandalan sistem telah sesuai dengan spesifikasinya?
Apakah keandalan sistem telah memberikan kepuasan pada user
pemakai sistem?
Validasi Safety/keselamatan
Menjamin bahwa kecelakaan tidak akan terjadi atau bahwa
konsekuensi kecelakaan akan minimal.
Validasi Security/keamanan
Apakah sistem dan datanya aman terhadap serangan external?
Tekhnik Validasi
Static techniques
Review terhadap disain /inspeksi program
Dynamic techniques
Pengujian Statistik
Pengujian berbasis skenario
Pemeriksaan Run-time
Process validation
Desain
proses pembangunan yang meminimalkan
kemungkinan kesalahan dari proses sesuai dgn
dependibilitas
sistem
(keandalan,
ketersediaan,
keselamatan dan keamanan)
Static validation techniques
Static validation lebih fokus pada analisa dokumentasi
sistem(persyaratan, disain, kode dan data uji)
Fokus pada penemuan eror sistem dan identifikasi
permasalahan yg berpotensi muncul saat exekusi.
Beberapa dokumen (argumen terstruktur, pembuktian
secara matematis, dll) dapat disiapkan utk
mendukung validasi statik
Static techniques for safety validation
Menunjukkan keselamatan sistem melalui sebuah
pengujian merupakan sesuatu yg sulit
Karena pengujian bertujuan utk menunjukkan apa yg
dilakukan sistem saat situasi normal.
Tidak mungkin dilakukan pengujian thd setiap
kondisi operasional
Safety reviews
1.
2.
3.
4.
5.
Peninjauan thd Review for kebenaran function
Peninjauan thd maintainable, understandable
structure
Peninjauan thd algorithma dan disain struktur data
berdasarkan spesifikasi
Peninjauan thd konsistensi kode dgn algorithma dan
disain struktur data
Peninjauan thd kelayakan sistem pengujian
Review guidance
Buatlah software sesederhana mungkin
2. Gunakan teknik yg sederhana dlm pencegahan error
seperti
menghindari pemakaian pointers and
recursion
3. Gunakan information hiding (penyembunyian inf)
agar inf yg dsembunyikan tidak dirusak oleh
komponen
program
yg
tidak
seharusnya
menggunakannya
4. Gunakan teknik toleransi kesalahan yg sesuai ,
namun jangan pernah berfikir bahwa hasilnya
benar-benar aman
1.
Hazard-driven analysis
Efektif atau tidaknya jaminan keselamatan
bergantung pada identifikasi bahaya
2. Keselamatan dapat dijamin melalui
1.
•
•
•
Menghindari bahaya sistem pemotongan yg menuntut
operator agar menekan 2 tombol terpisah
Deteksi dan membuang bahaya deteksi tekanan
berlebihan dan pembukaan katup sebelum meledak pd
pabrik kimia
Membatasi kerusakan pemadam api otomatis
3. Safety
review
(ulasan
keselamatan)
harus
menunjukkan bahwa satu atau lebih teknik ini telah
diterapkan untuk semua bahaya yg telah
diidentifikasi
The system safety case
Saat ini praktek formal untuk keselamatan menjadi
hal yang diperlukan untuk keselamatan semua
sistem berbasis komputer, misalnya isyarat rel kereta
api, pengendalian lalu lintas udara, dan lain-lain
2. Kasus keselamatan menyajikan daftar argumen,
berdasarkan bahaya yg teridentifikasi
3. Mengapa ada penerimaan yg rendah thd
kemungkinan bahwa bahaya ini tidak akan
mengakibatkan kecelakaan
4. Argumen dapat didasarkan pada bukti formal,
desain dasar, keselamatan bukti, dll. Faktor Proses
mungkin juga dimasukkan
1.
Formal methods and critical systems
Pengembangan sistem kritis adalah salah satu
'keberhasilan' dari metode formal
Di Inggris digunakan untuk pengembangan beberapa
jenis perangkat lunak keamanan untuk aplikasi
pertahanan
Saat ini tidak ada perjanjian umum tentang nilai metode
formal dalam pengembangan sistem