Overview
• Pengembangan Perangkat Lunak
• Pengujian Perangkat Lunak
• Implementasi
• Pemeliharaan
• Pelaksanaan kegiatan pada tahap analisis, desain danimplementasi di dalam siklus pembuatan perangkattidak menjamin bahwa suatu perangkat lunak akanbebas dari kesalahan (fault free).
• Untuk mengurangi atau bahkan menghilangkankesalahan pada perangkat lunak diperlukan suatutahap pengujian.
• Kesalahan yang terjadi juga tidak hanya kesalahanyang dapat menyebabkan fungsi perangkat lunaktidak dapat berjalan (error), tetapi dapat juga berartipenggunaan perangkat lunak sukar untuk dimengertiuser dan proses pelacakan kesalahan sukar untukdilakukan.
Terdapat hal utama yang dilakukan dalampengujian :
• Verifikasi adalah proses mengevaluasi suatu sistem/komponenuntuk menentukan apakah produk yang diselesaikan setelahfase pengembangan memenuhi kondisi seperti yang telahditetapkan pada awal pengembangan (saat menentukanspesifikasi) perangkat lunak.
(“Are we building the product right?”)
• Validasi adalah proses mengevaluasi suatu sistem/komponenpada akhir atau selama masa pengembangan untukmenentukan apakah produk yang dihasilkan telah memenuhikebutuhan dan persyaratan tertentu yang diminta oleh user.
(“Are we building the right product?”)
Sumber Perangkat Lunak Aplikasi
+/- PL Komersial PL Terkustomisasi
Implementasi Cepat Lambat
Estimasi waktu Mudahdiestimasi
Sulit diestimasi
Estimasi biaya Jelas Sulit diestimasi
Reliabilitas Lebih teruji Kurang teruji
Rancangansistem
Sulit disesuaikan Dapat disesuaikan
Prinsip-prinsip Testing (1)
• Testing yang komplit (menyeluruh) tidakmemungkinkan dilakukan karena :- Kemungkinan jumlah kombinasi testcase yang amatbesar- Pertimbangan domain masukan yang mungkin sangatbesar jumlahnya (masukan yang valid, tidak valid, masukan yg diedit, dll.) - Kompleksitas user interface dan desain- Jalur program yang mungkin dapat dilewati sangatbanyak �
Harus dilakukan test ulang, setiap ada perbaikan padamasing-masing bug
Prinsip-prinsip Testing (2)
• Testing merupakan pekerjaan yang kreatifdan sulit.
Untuk dapat melakukan testing yang efektifharus mengetahui keseluruhan sistem.
Sistem sendiri tidak sederhana dan tidakmudah dipahami.
Prinsip-prinsip Testing (3)
• Testing berbasis pada resikoWalaupun testing secara keseluruhan tidak dapatdilakukan, tidak berarti bahwa testing yang efektif tidak dapat dilakukanTesting dipengaruhi oleh pertimbangan : - Sumber daya dan biaya yang dibutuhkan untukmelakukan testing menurut skala prioritas, kompleksitas dan kesulitan testing - Biaya dari keterlambatan pengiriman produk(kemungkinan besar disebabkan testing)
Prinsip-prinsip Testing (4)
• Testing harus direncanakan
Butuh pemikiran dgn pendekatan secara keseluruhan, desain tes danpenetapan hasil yg diinginkan utk setiap kasus tes (test case) ygdipilih
- Test plan : dokumen yg mencakup keseluruh tujuan testing danpendekatan testing.
- Test design: dokumen yg mendefinisikan apa yg telah dipilih utkdites dan hasil yg diharapkan.
Perencanaan tes sangat penting, yaitu :
- Untuk dpt menjaga arah pelaksanaan tes agar tidak menyimpangdari tujuan tes itu sendiri.
- Menjaga kesesuaian penggunaan sumber daya dan jadwal proyekdengan menetapkan apa yang akan dites dan kapan berhenti.
- Membantu tester fokus terhadap apa yang akan dites (membuat test case)
Prinsip-prinsip Testing (5)
• Testing butuh independensi
Testing yang paling efektif adalah yang dilakukan oleh pihak ketiga (tidak bias)
Dasar-Dasar Testing
• Testing dikatakan baik, jika :
- Kemungkinan mendapatkan error tinggi
- Tidak redundan : tiap tes yang dilakukanharus memiliki tujuan yang berbeda �
- Tidak terlalu simpel atau kompleks
- Testing berhasil menemukan error yang tidak diketahui