1 / 31

Pengujian pada Perangkat Lunak

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

idona-leach
Download Presentation

Pengujian pada Perangkat Lunak

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pengujian pada Perangkat Lunak Lukman Hakim

  2. Pengujian Validasi • KajianKonfigurasi(audit) • Elemendariprosesvalidasi • Memastikanapakahsemuaelemenkonfigurasiperangkatlunaktelahdikembangkandengantepat

  3. Pengujian Validasi • Pengujian Alpha dan Beta • Pengujian Alpha • Usability Labs • Usability Factor Checklist • Pengujian Beta

  4. Pengujian Sistem • Pengujian Perbaikan • Pengujian Keamanan • Pengujian Stress • Pengujian Kinerja

  5. Pendekatan Strategis ke Pengujian Perangkat Lunak • Penguujian Unit • Pengujian Integrasi • Pengujian Validasi • Pengujian sistem

  6. Pengujian Unit • Berfokus pada inti terkecil dari desain perangkat lunak yaitu modul • Biasanya berorientasi pada white box

  7. Pengujian Unit • Checklist untuk pengujian Interface • Apakah jumlah parameter input sama dengan jumlah argumen? • Apakah antara atribut dan parameter argumen sudah cocok. • Apakahantarasistemsatuanparameter danargumensudahcocok? • Apakahjumlahargumenyang ditransmisikankemodulyangdipanggilsamadenganatributparameter?

  8. lanjutan • Apakahatributdariargumenyangditransmisikankemodulyang dipanggilsamadenganatributparameter? • Apakahsistemunit dariargumenyang ditransmisikankemodulyang dipanggilsamadengansistemsatuanparameter? • Apakahjumlahatributdanurutanargumenkefungsi-fungsibuilt-in sudahbenar? • Adakahreferensikeparameteryang tidaksesuaidenganpoinentriyang ada? • Apakahargumeninput only diubah?

  9. Pengujian Unit • Apakahdefinisivariabelglobal konsistendenganmodul? • Apakahbatasanyang dilaluimerupakanargumen? Test case harusdidesainuntukmengungkapkesalahandalamkategori • Pengetikanyang tidakteraturdantidakkonsisten • Inisialisasiyangsalahataunilai-nilaidefault • Namavariabelyang tidakbenar • Tipedatayang tidakkonsisten • Underflow, overflow danpengecualianpengalamatan

  10. Integritas testing • Pengujiankeseluruhansystem atausub-system yang terdiridari komponenygterintegrasi. • Test integrasimenggunakanblack-box dengantest case ditentukandarispesifikasi. • Kesulitannyaadalahmenemukan/melokasikan • PenggunaanIncremental integration testing dapatmengurangimasalahtersebut

  11. Incremental Integrasi Testing

  12. Pendekatan Integrasi Testing Top-down testing • Berawaldarilevel-atassystem danterintegrasidenganmenggantimasing-masingkomponensecaratop-down dengansuatustub(programpendekyangmengenerateinput kesub-system ygdiuji). Bottom-up testing • Integrasicomponents dilevelhinggasistemlengkapsudahteruji. Padaprakteknya, kebanyakantest integrasimenggunakankombinasikeduastrategipengujiantsb.

  13. Top-Down Testing

  14. Bottom Up Testing

  15. PendekatanTesting Architectural validation • Top-down integration testing lebihbaikdigunakandalammenemukanerror dalamsistemarsitektur. System demonstration • Top-down integration testing hanyamembatasipengujianpadaawaltahappengembangansystem. Test implementation • Seringkalilebihmudahdenganmenggunakanbottom-up integration testing

  16. Interface Testing • Dilakukankalaumodule-module dansub-system terintegrasidanmembentuksistemyang lebihbesar. • Tujuannyauntukmedeteksifault terhadapkesalahaninterface atauasumsiyangtidakvalid tentanginterface tsb. • Sangatpentinguntukpengujianterhadappengembangansistemdgnmenggunakanpendekatanobject-oriented ygdidefinisikanolehobject-objectnya

  17. Pengujian Aplikasi Server • Volume Testing • Stress Testing • Performance Testing • Data Recovery Testing • Data Backup dan Restore Testing • Data security Tetsing

  18. Volume Testing • Menemukankelemahansistemselamamelakukanpemrosesan data dalamjumlah yang besardalamperiodewaktuyangsingkat. • Tujuan: meyakinkanbahwasistemtetapmelakukanpemrosesan data anatarbatasanfisikdanbatasanlogik. • Contoh:Mengujikanprosesantar server danantarpartisihardisik pd satu server

  19. Strees Testing • Tujuan: mengetahuikemampuansistemdalammelakukantransaksiselamaperiodewaktupuncakproses. Contohperiodepuncak: ketikapenolakanproseslogin on-line setelahsistem down ataupadakasus batch, pengiriman batch prosesdalamjumlahygbesardilakukansetelahsistemdown. • Contoh: Melakukan login ke server ketikasejumlahbesarworkstationmelakukanprosesmenjalankanperintahsql database

  20. 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.

  21. Validasi Sistem Kritis Lukman Hakim

  22. 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

  23. 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?

  24. Tekhnik Validasi • Static techniques • Review terhadap disain /inspeksi program • Dynamic techniques • Pengujian Statistik • Pengujian berbasis skenario • Pemeriksaan Run-time • Process validation • Desainprosespembangunan yang meminimalkankemungkinankesalahandariprosessesuai dgn dependibilitas sistem (keandalan, ketersediaan, keselamatan dan keamanan)

  25. 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

  26. 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

  27. Safety reviews • 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

  28. Review guidance • Buatlah software sesederhana mungkin • Gunakan teknik yg sederhana dlm pencegahan error seperti menghindari pemakaian pointers and recursion • Gunakan information hiding (penyembunyian inf) agar inf yg dsembunyikan tidak dirusak oleh komponen program yg tidak seharusnya menggunakannya • Gunakan teknik toleransi kesalahan yg sesuai , namun jangan pernah berfikir bahwa hasilnya benar-benar aman

  29. Hazard-driven analysis • Efektifatau tidaknya jaminankeselamatanbergantungpadaidentifikasibahaya • 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 • Safety review (ulasankeselamatan)harusmenunjukkanbahwasatuataulebihteknikinitelahditerapkanuntuksemuabahayayg telah diidentifikasi

  30. The system safety case • Saat ini praktek formal untukkeselamatanmenjadihal yang diperlukanuntukkeselamatansemuasistem berbasiskomputer, misalnyaisyaratrelkeretaapi, pengendalianlalulintasudara, dan lain-lain • Kasus keselamatanmenyajikandaftarargumen, berdasarkanbahaya yg teridentifikasi • Mengapaadapenerimaan yg rendahthd kemungkinanbahwabahayainitidakakanmengakibatkankecelakaan • Argumendapatdidasarkanpadabukti formal, desaindasar, keselamatanbukti, dll. FaktorProsesmungkinjugadimasukkan

  31. Formal methods and critical systems • Pengembangansistemkritisadalahsalahsatu 'keberhasilan' dari metode formal • DiInggrisdigunakan untukpengembanganbeberapajenisperangkatlunakkeamananuntukaplikasi pertahanan • Saatinitidakadaperjanjianumumtentangnilai metode formal dalampengembangansistem

More Related