Kriteria Rekayasa Perangkat Lunak (lanjutan) Materi Pertemuan 13
Dasar Pengujian Perangkat Lunak Pada proses perangkat lunak perekayasa pertama-tama berusaha membangun perangkat lunak dari konsep abstraksi ke implementasi yang dapat dilihat kemudian dilakukan pengujian (testing) perangkat lunak tersebut Pada dasarnya testing merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang destruktif daripada konstruktif.
Masalah Umum Komputer Masalah pada sistem komputer dapat dikategorikan sebagai: Software Problems Data Problems
Software Problems Masalah-masalah yang biasanya menyebabkan pengambilan keputusan yang buruk melalui aplikasi pembuatan keputusan secara otomatis. Software Problems meliputi: Perancangan software yg tidak lengkap atau kesalahan kriteria pembuatan keputusan Kegagalan dalam memprogram software seperti yang diinginkan customer/user atau designer. Tidak adanya fungsi pengeditan dan pemeriksaan untuk menentukan kelengkapan data output
Data Problems Data input adalah masalah yg sering terjadi karena merupakan bagian penting dalam proses pembuatan keputusan. Masalah Data umumnya berupa: Ketidaklengkapan data yg ada pada aplikasi Penggunaan data yang tidak benar dalam pemrosesan aplikasi Penggunaan data yg sudah lama dalam pemrosesan aplikasi
Dasar Pengujian Perangkat Lunak Ada 3 dasar testing : Sasaran-sasaran testing Glen Myers menyatakan sejumlah aturan yang berfungsi sebagai sasaran pengujian: Testing adalah proses eksekusi suatu program dengan maksud menemukan kesalahan Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya Testing yang sukses adalah yang mengungkap semua kesalahan yang belum pernah ditemukan
Prinsip Testing Sebelum mengaplikasikan metode desain test case yang efektif, harus dipahami prinsip dasar yang menuntun testing perangkat lunak: Semua testing harus dapat ditelusuri sampai ke persyaratan pelanggan Cacat yg paling fatal adalah yang menyebabkan program gagal memenuhi persyaratannya Testing harus direncanakan lama sebelum testing itu dimulai perencanaan dapat dimulai setelah model persyaratan dilengkapi Prinsip Pareto berlaku untuk testing perangkat lunak prinsip pareto mengimplikasikan bahwa 80% dari semua kesalahan yang ditemukan sepertinya akan dapat ditelusuri.
Tidak memungkinkan suatu testing yang mendalam Testing dimulai “dari yang kecil” dan berkembang ke testing “yang besar” pengujian pertama biasanya berfokus pada modul program individual, kemudian pada modul terintegrasi, dan akhirnya pada sistem secara keseluruhan Tidak memungkinkan suatu testing yang mendalam Jalur untuk program sangatlah besar, sehingga tidak mungkin mengeksekusi semua jalur program. Testing yg efektif harus dilakukan oleh pihak ketiga yang independen perekayasa perangkat lunak yang membuat sistem tersebut bukanlah orang yang paling tepat untuk melakukan semua pengujian perangkat lunak
Testabilitas Menurut James Bach testabilitas perangkat lunak adalah seberapa mudah sebuah program komputer dapat diuji. Karena pengujian sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi mudah.
Atribut-Atribut Pengujian yang Baik Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan Pengujian yang baik tidak redundan Pengujian yang baik seharusnya “jenis terbaik” Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks
Strategi Testing vs Pemgembangan Sistem Rekayasa Sistem S Persyaratan R Desain D Kode C Tes Unit U Tes Integrasi I Tes Validasi V Tes sistem ST
Delapan langkah pengembangan taktik pengujian Peroleh dan pelajari strategi pengujian Tentukan jenis pengembangan proyek Tentukan jenis sistem perangkat lunak Tentukan lingkup proyek Identifikasi resiko taktis Tentukan kapan pengujian harus dilakukan Buatlah rencana pengujian sistem Buatlah rencana pengujian unit sistem
Nilai Ekonomis Pengujian “Too little testing is a crime – too much testing is a sin” Testing yg terlalu sedikit (Undertesting) akan langsung berakibat adanya cacat pada sistem Testing yg berlebihan (Overtesting) berarti terbuangnya sumber-sumber daya yang berharga untuk hal-hal yang tidak perlu
Nilai Ekonomis Pengujian Number of defects Optimum Test Cost of Testing Under Over Extent Of Testing Quantity Kurva Efektivitas Biaya Testing
Nilai Ekonomis Pengujian Masalah-masalah yang biasanya terdapat dalam testing berasal dari: Kegagalan dalam menentukan tujuan testing Melakukan Testing pada tahapan yang salah dalam Siklus Hidup Penggunaan teknik testing yang tidak efektif
Strategi Pengujian Secara umum ada 2 komponen strategi testing : Test Factor : hal-hal yang harus dipastikan ada pada sistem/aplikasi Test Phase : Tahapan-tahapan pengembangan sistem Maka Pengujian dapat kita pusatkan pada kedua komponen tersebut.
END OF SLIDE