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 Pengujian Pengujian Pengujian
Perbaikan Keamanan Stress 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 kefungsi-fungsi 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 subkomponen yg
system yang terdiri dari 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 top-down 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
hanyamembatasipengujianpadaawaltahappeng embangansystem.
Test implementation Sering kali lebih mudah dengan menggunakan
bottom-up integration testing
Interface Testing • Dilakukan
kalau module-module dan subsystem 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.
Validasi Sistem Kritis 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. Peninjauan 2. 3. 4. 5.
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
1. 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
Hazard-driven analysis
1. Efektif atau tidaknya jaminan keselamatan
bergantung pada identifikasi bahaya 2. Keselamatan dapat dijamin melalui • •
•
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
1. 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
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