PEMELIHARAAN PERANGKAT LUNAK Ign.F.Bayu Andoro.S, M.Kom
PERAWATAN PL Membahas langkah-langkah yang harus dikerjakan sebagai bagian dari pengujian. Strategi untuk pengujian perangkat lunak mengintegrasikan metode design test case perangkat lunak ke dalam sederetan langkah yang direncanakan dengan baik Kapan dilaksanakan? Berapa usaha, waktu dan sumber daya yang digunakan? 01/07/2014 bayuandoro.com 2
STRATEGI PENGUJIAN PL Dengan harapan hasilnya adalah konstruksi perangkat lunak yang berhasil Semua strategi pengujian harus menggabungkan perencanaan pengujian, design test case, dan kumpulan data resultan serta evaluasi. 01/07/2014 bayuandoro.com 3
Karakteristik Pengujian Dimulai dari pengujian tingkat komponen menuju integrasi. Teknik pengujian yang berbeda sesuai pada titik waktu yang berbeda. Pengujian dilakukan oleh pengembang perangkat lunak dan/atau suatu kelompok pengujian yang independen. Pengujian dan debugging merupakan aktifitas yang berbeda, tetapi debugging harus diakomodasi pada banyak stretegi pengujian. 01/07/2014 bayuandoro.com 4
Strategi Pengujian Dimulai dari unit testing terhadap source code hingga system testing terhadap spesifikasi kebutuhan. 01/07/2014 bayuandoro.com 5
Strategi Pengujian Dimulai dari unit testing terhadap source code hingga system testing terhadap spesifikasi kebutuhan. 01/07/2014 bayuandoro.com 6
Langkah Pengujian 01/07/2014 bayuandoro.com 7
Unit Testing 01/07/2014 bayuandoro.com 8
Unit Testing 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 ke modul yang dipanggil sama dengan atribut parameter? 01/07/2014 bayuandoro.com 9
Unit Testing Apakah atribut dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter? Apakah sistem unit dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan sistem satuan parameter? Apakah jumlah atribut dan urutan argumen ke fungsifungsi built-in sudah benar? Adakah referensi ke parameter yang tidak sesuai dengan poin entri yang ada? Apakah argumen input only diubah? 01/07/2014 bayuandoro.com 10
Unit Testing Apakah definisi variabel global konsisten dengan modul? Apakah batasan yang dilalui merupakan argumen? Test case harus di desain untuk mengungkap kesalahan dalam kategori: pengetikan yang tidak teratur dan tidak konsisten inisialisasi yang salah atau nilai-nilai default Nama variabel yang tidak benar Tipe data yang tidak konsisten Underflow, overflow dan pengecualian pengalamatan 01/07/2014 bayuandoro.com 11
Integration Testing Regression testing: dilakukan pengujian setiap kali ada modul baru yang diintegrasikan atau ada modul yang berubah. Smoke testing: test daily, untuk proyek jenis kritis-waktu. 01/07/2014 bayuandoro.com 12
Integration testing Pengujian keseluruhan sistem atau subsistem 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. 01/07/2014 bayuandoro.com 13
Incremental integration testing A T1 A T1 A T1 T2 B T2 T2 B T3 B T3 C T3 T4 C T4 D T5 Test sequence 1 Test sequence 2 Test sequence 3 01/07/2014 bayuandoro.com 14
Pendekatan integration testing Top-down testing Berawal dari level-atas system dan terintegrasi dengan mengganti masing-masing komponen secara top-down dengan suatu stub (program pendek yg mengenerate input ke sub-system yg diuji). Bottom-up testing Integrasi components di level hingga sistem lengkap sudah teruji. Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi pengujian tsb. 01/07/2014 bayuandoro.com 15
Integration Testing Top down integration 01/07/2014 bayuandoro.com 16
Integration Testing Bottom up integration 01/07/2014 bayuandoro.com 17
Validasi dan Verifikasi Testing Dua aspek yang dipertimbangkan: Apakah implementasi sudah sesuai dengan spesifikasi? Apakah spesifikasi sesuai dengan kebutuhan user? 01/07/2014 bayuandoro.com 18
Validation Testing Validasi mengacu pada serangkaian aktifitas yang berbeda yang memastikan bahwa perangkat lunak yang dibangun dapat ditelusuri sesuai syarat dari pelanggan. Apakah sistem yang kita kembangkan sudah benar? Pengujian sistem di mana pada waktu diimplementasikan sesuai tidak dengan yang diharapkan 01/07/2014 bayuandoro.com 19
Validation Testing Disebut sukses jika fungsi P/L dapat diterima oleh customer Alpha test: dilakukan di tempat developer oleh customer pada lingkungan yang terkendali. Beta test: dilakukan di tempat customer tanpa melibatkan developer pada lingkungan yang tak terkendali. 01/07/2014 bayuandoro.com 20
Verifikasi Testing Apakah sistem dikembangkan dengan cara yang benar? Apakah Pengujian sistem sudah sesuai dengan spesifikasi? Verifikasi mengacu pada rangkaian aktifitas yang memastikan bahwa perangkatg lunak secara tepat mengimplementasikan suatu fungsi tertentu. 01/07/2014 bayuandoro.com 21
System Testing Menguji sistem berbasis komputer secara menyeluruh, termasuk juga hubungannya dengan sistem yang lain. Diantaranya: Recovery testing, jika system failure. Security testing, jika terjadi serangan. Stress testing, terhadap jumlah, frekuensi dan volume pekerjaan. Performance testing, untuk mengukur pemakaian sumber daya. 01/07/2014 bayuandoro.com 22
Debugging Memperbaiki error yang ditemukan pada saat testing (yang sukses). Kaidah dasar sebelum debug: Apakah penyebab bug dihasilkan kembali oleh bagian program yang lain? Apakah bug selanjutnya yang mungkin muncul jika bug diperbaiki? Apa yang bisa dilakukan untuk mencegah bug terjadi untuk pertama kalinya? 01/07/2014 bayuandoro.com 23