Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Pengujian Perangkat Lunak
Tim PPL Teknik Informatika
2
Pengujian (standar ANSI/IEEE 1059)
Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang tidak diinginkan (defect/errors/bugs) dan mengevaluasi fitur-fitur dari entitas software (standar ANSI/IEEE 1059)
3
Tujuan Menemukan sebanyak mungkin masalah (error)
Tujuan dari menemukan masalah adalah memperbaikinya Sebuah pengujian yang sukses adalah menemukan kesalahan yang belum ditemukan.
4
Akktivitas Pengembangan PL
5
Aktivitas Pengujian
6
Peran tiap Proses Pengujian
7
Testing vs. Debugging Pengujian (testing) berbeda dengan debugging
Debugging dilakukan bila sudah ditemukan suatu kesalahan, dan tujuannya mencari sumber kesalahan (fault atau defect) Debugging tetap menjadi bagian dari strategi pengujian
8
Failure, Error, Fault and Defect
Error – Error adalah status dari sistem – Status error ini bisa menyebabkan kegagalan jika tidak ada perbaikan Fault – Fault adalah sumber dari error Defect – Sinonim dengan Fault – Sering disebut juga bug Failure Kegagalan (failure) terjadi kalau ada perilaku dari sistem yang tidak sesuai dengan permintaan di spesifikasi sistem
9
V & V Verifikasi Sekumpulan aktivitas untuk menjamin bahwa software sudah mengiimplementasikan secara benar suatu fungsi Validasi Sekumpulan aktivitas untuk menjamin bahwa software sudah dibuat dengan benar sesuai dengan kebutuhan pengguna Boehm [Boe81]: Verification: "Are we building the product right?“ Validation: "Are we building the right product?"
10
Independence Testing Group
Tester? Independence Testing Group Harus belajar sistem Menguji untuk membuktikan bahwa program masih ada yang salah Software Developer Mengerti system Menguji untuk membuktikan bahwa programnya sudah benar 11/24/2018 Software Testing -
11
Siklus Pengujian Perencanaan Pengujian Perancangan Pengujian
Eksekusi Pengujian Laporan Pengujian 11/24/2018 Software Testing -
12
Siklus Pengujian Perencanaan apa saja yang akan diuji
Perencanaan waktu Perencanaan sumberdaya yang diperlukan • Orang • PL pendukung • Alat/perangkat keras • Lingkungan pengujian • dan lain-lain Perencanaan prosedur umum pengujian Perencanaan Pengujian Perancangan Pengujian Eksekusi Pengujian Laporan Pengujian 11/24/2018
13
Siklus Pengujian Perencanaan Pengujian Perancangan Pengujian Eksekusi Pengujian Laporan Pengujian • Untuk apapun yang akan diuji, maka perlu dirancang Kasus Pengujian (Test Case) • Test Case berisi: • Masukan yang diuji • Harapan Pengujian • Cara menilai hasil eksekusi pengujian 11/24/2018
14
Siklus Pengujian Dilakukan sesudah kode program selesai dikerjakan.
Perencanaan Pengujian Perancangan Pengujian Eksekusi Pengujian Laporan Pengujian Dilakukan sesudah kode program selesai dikerjakan. Eksekusi program dilakukan dengan menggunakan masukan data yang sudah di rancang 11/24/2018
15
Siklus Pengujian Perencanaan Pengujian Perancangan Pengujian
Eksekusi Pengujian Laporan Pengujian Laporan pengujian berisi laporan untuk setiap hasil eksekusi Test Case: • Lulus pengujian jika hasil eksekusi program memberikan hasil yang sama dengan harapan hasil • Tidak lulus pengujian jika hasil eksekusi memberikan hasil yang berbeda • Kadang dapat disertai dengan catatan khusus 11/24/2018
16
Kriteria Pengujian yang Baik
Memiliki kemungkinan tinggi untuk menemukan error Pilih teknik yang terbaik – Sesuai dengan karakteristik software yang diuji Tidak terlalu sederhana juga tidak terlalu kompleks
17
Strategi Pengujian PL ‘testing-in-the-small’ hingga ‘testing-in-the-large’ PL konvensional Unit testing: fokus pada tiap komponen individual, memastikan tiap fungsi berjalan Integration testing: fokus pada desain dan konstruksi arsitektur PL Validation testing: memastikan PL memenuhi semua kebutuhan System Testing: PL dan elemen sistem lain diuji secara keseluruhan PL OO Fokus pada pengujian tiap kelas termasuk atribut dan operasi Dilanjutkan pengujian komunikasi / kolaborasi antar kelas
18
Metode Pengujian PL
19
Unit / Modul / Komponen Testing
20
Blackbox VS Whitebox Blackbox testing
Tidak perlu mengetahui struktur software Juga disebut dengan specification-based atau functional testing Whitebox testing Harus mengetahui struktur dan implementasi dari software
21
Whitebox Testing Meyakinkan bahwa semua statement / kondisi dieksekusi minimum satu kali Contoh White-box testing • Control Flow Testing • Data Flow Testing • Mutation Testing Path Input Expected Result 1 (10, 3, 2) 10 2 (25, 15, 40) 40 3 (10, 15, 6) 15 4 (10, 15, 19) 19
22
Blackbox Testing Pengujian Black-Box dilakukan karena isi source code tidak bisa dilihat, hanya spesifikasinya saja Disebut juga Functional Testing, karena kita hanya melihat fungsionalitas dari unit yang diuji Spesifikasi mendefinisikan apa yang dilakukan, Initial State (IS), dan juga Final State(FS) Apa saja input-nya Apa saja output-nya Apa saja requirement/event yang merubah state
23
Pengujian Integrasi Pengujian unit fokus pada komponen/unit individual
Sesudah semua fault di hilangkan dari setiap komponen, & unit tidak lagi memiliki error, maka unit/komponen ini siap diintegrasikan atau digabungkan Pengujian integrasi akan mendeteksi fault yang belum terdeteksi saat pengujian unit Fokusnya lebih ke sekumpulan komponen/unit Dua atau lebih komponen akan diintegrasikan dan di uji Setelah tidak ditemukan kesalahaan, maka komponen baru dapat digabungkan. Urutan integrasi dapat menentukan usaha keseluruhan untuk melakukan pengujian integrasi Kesalahan urutan integrasi dapat menambah biaya, sumber daya yang diperlukan.
24
Strategi Pengujian Integrasi
Pendekatan ‘BIG BANG’ Pendekatan incremental Top Down testing Bottom Up testing Sandwich Testing
25
System Testing Pengujian validasi: Fokus pada kebutuhan software
Pengujian sistem: Fokus pada integrasi sistem Pengujian alpha / Beta: Fokus pada pengguna (bagaimana mereka menggunakan) Recovery Testing: Software dibuat 'gagal' dan dilihat apakah proses pemulihan sudah dapat dilakukan. Contoh: software yang memanfaatkan internet melihat perilaku pemulihan ketika internet tiba-tiba turun. Pengujian keamanan: Pastikan apakah mekanisme perlindungan sudah melindungi 'penetrasi‘ Stress testing: Sistem diuji bagaimana ketika dihadapkan dengan permintaan penggunaan sumber daya yang melebihi jumlah normal, atau frekuensi atau volume yang normal Pengujian kinerja: Menguji kinerja software ketika dijalankan pada konteks tertentu
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.