pengujian software 11

31
Pengujian pada Perangkat Lunak Lukman Hakim

Upload: udin30uny

Post on 17-Nov-2015

224 views

Category:

Documents


6 download

DESCRIPTION

pengujian software

TRANSCRIPT

Pengujian pada Perangkat Lunak

Pengujian pada Perangkat LunakLukman Hakim

Pengujian ValidasiKajianKonfigurasi(audit)Elemen dari proses validasi Memastikan apakah semua elemen konfigurasi perangkat lunak telah dikembangkan dengan tepat

Pengujian ValidasiPengujian Alpha dan BetaPengujian AlphaUsability LabsUsability Factor ChecklistPengujian Beta

Pengujian SistemPengujian PerbaikanPengujian KeamananPengujian StressPengujian Kinerja

Pendekatan Strategis ke Pengujian Perangkat LunakPenguujian UnitPengujian IntegrasiPengujian ValidasiPengujian sistem

Pengujian UnitBerfokus pada inti terkecil dari desain perangkat lunak yaitu modulBiasanya berorientasi pada white box

Pengujian UnitChecklist untuk pengujian InterfaceApakah 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?

lanjutanApakah 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 UnitApakah definisi variabel global konsisten dengan modul?Apakah batasan yang dilalui merupakan argumen?

Test case harus didesain untuk mengungkap kesalahan dalam kategoriPengetikan yang tidak teratur dan tidak konsistenInisialisasi yang salah atau nilai-nilai defaultNama variabel yang tidak benarTipedata yang tidak konsistenUnderflow, overflow dan pengecualian pengalamatan

Integritas testingPengujian 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/melokasikanPenggunaan Incremental integration testing dapat mengurangi masalah tersebut

Incremental Integrasi Testing

Pendekatan Integrasi TestingTop-down testingBerawal 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 testingIntegrasi components dilevel hingga sistem lengkap sudah teruji. Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi pengujian tsb.

Top-Down Testing

Bottom Up Testing

PendekatanTestingArchitectural validationTop-down integration testing lebih baik digunakan dalam menemukan error dalam sistem arsitektur.System demonstrationTop-down integration testing hanyamembatasipengujianpadaawaltahappengembangansystem.Test implementationSering kali lebih mudah dengan menggunakan bottom-up integration testing

Interface TestingDilakukan 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 ServerVolume TestingStress TestingPerformance TestingData Recovery TestingData Backup dan Restore TestingData security Tetsing

Volume TestingMenemukan 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 LatihanLakukan diskusi pada sistem yang kalian buat dengan menentukan beberapa skenario pengujian pada Volume dan strees testing.Buatlah Daftar List untuk Unit testing.

Validasi Sistem KritisLukman Hakim

PendahuluanProses V&V harus mendemonstrasikan bahwa sistem memenuhi spesifikasinya dan bahwa layanan dan prilaku sistem mendukung persyaratan klienSehingga diperlukan penambahan analisis dan pengujian normal, karena :Biaya kegagalan jauh lebih besar dari pada sistem non-kritisValidasi atribut tingkat dependabilitas meyakinkan userLebih dari 50% biaya pengembangan total utk sistem PL kritis agar kegagalan sistem yg mahal terhindariContoh : 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 KritisValidasi terhadap reliability (keandalan), safety (keselamatan) dan security (keamanan) bagi sistem berbasis komputer.

Validation perspectivesValidasi Reliability/keandalanApakah keandalan sistem telah sesuai dengan spesifikasinya?Apakah keandalan sistem telah memberikan kepuasan pada user pemakai sistem?Validasi Safety/keselamatanMenjamin bahwa kecelakaan tidak akan terjadi atau bahwa konsekuensi kecelakaan akan minimal.Validasi Security/keamananApakah sistem dan datanya aman terhadap serangan external?

Tekhnik ValidasiStatic techniquesReview terhadap disain /inspeksi programDynamic techniquesPengujian StatistikPengujian berbasis skenarioPemeriksaan Run-timeProcess validationDesain 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 validationMenunjukkan keselamatan sistem melalui sebuah pengujian merupakan sesuatu yg sulitKarena pengujian bertujuan utk menunjukkan apa yg dilakukan sistem saat situasi normal. Tidak mungkin dilakukan pengujian thd setiap kondisi operasional

Safety reviewsPeninjauan thd Review for kebenaran functionPeninjauan thd maintainable, understandable structurePeninjauan thd algorithma dan disain struktur data berdasarkan spesifikasiPeninjauan thd konsistensi kode dgn algorithma dan disain struktur dataPeninjauan thd kelayakan sistem pengujian

Review guidanceBuatlah software sesederhana mungkinGunakan teknik yg sederhana dlm pencegahan error seperti menghindari pemakaian pointers and recursionGunakan information hiding (penyembunyian inf) agar inf yg dsembunyikan tidak dirusak oleh komponen program yg tidak seharusnya menggunakannyaGunakan teknik toleransi kesalahan yg sesuai , namun jangan pernah berfikir bahwa hasilnya benar-benar aman

Hazard-driven analysisEfektif atau tidaknya jaminan keselamatan bergantung pada identifikasi bahayaKeselamatan dapat dijamin melaluiMenghindari bahaya sistem pemotongan yg menuntut operator agar menekan 2 tombol terpisahDeteksi dan membuang bahaya deteksi tekanan berlebihan dan pembukaan katup sebelum meledak pd pabrik kimiaMembatasi kerusakan pemadam api otomatisSafety review (ulasan keselamatan) harus menunjukkan bahwa satu atau lebih teknik ini telah diterapkan untuk semua bahaya yg telah diidentifikasi

The system safety caseSaat 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-lainKasus keselamatan menyajikan daftar argumen, berdasarkan bahaya yg teridentifikasiMengapa ada penerimaan yg rendah thd kemungkinan bahwa bahaya ini tidak akan mengakibatkan kecelakaanArgumen 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 formalDi Inggris digunakan untuk pengembangan beberapa jenis perangkat lunak keamanan untuk aplikasi pertahananSaat ini tidak ada perjanjian umum tentang nilai metode formal dalam pengembangan sistem