1 / 20

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK. Pada pengujian perangkat lunak, pelaku RPL menciptakan sekumpulan kasus uji untuk diujikan kepada perangkat lunak. Proses ini lebih terkesan berusaha untuk “membongkar” perangkat lunak yang sudah dibangun. Proses pengujian merupakan tahapan dalam RPL.

Download Presentation

DASAR-DASAR PENGUJIAN 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. DASAR-DASAR PENGUJIAN PERANGKAT LUNAK Pada pengujian perangkat lunak, pelaku RPL menciptakan sekumpulan kasus uji untuk diujikan kepada perangkat lunak. Proses ini lebih terkesan berusaha untuk “membongkar” perangkat lunak yang sudah dibangun. Proses pengujian merupakan tahapan dalam RPL.

  2. SASARAN PENGUJIAN PERANGKAT LUNAK • Pengujian adalah proses mengeksekusi program dengan tujuan khusus untuk menemukan kerusakan • Kasus uji yang baik adalah yang memiliki tingkat kemungkinan tinggi untuk menemukan kerusakan yang belum ditemukan • Pengujian dikatakan berhasil jika berhasil menemukan kerusakan yang belum ditemukan

  3. Sasaran di atas sekaligus mengimplikasikan adanya perubahan cara pandang di mana sebelumnya dikatakan bahwa pengujian yang berhasil adalah pengujian yang tidak menemukan kesalahan. • Jika pengujian sukses dilakukan, maka akan ditemukan kesalahan dalam perangkat lunak.

  4. PRINSIP PENGUJIAN PERANGKAT LUNAK • Semua pengujian harus dapat ditelusuri sampai ke kebutuhan pelanggan. • Pengujian harus direncanakan lama sebelum pengujian dimulai. • Prinsip Pareto berlaku untuk pengujian perangkat lunak. Prinsip Pareto mengimplikasikan bahwa 80% dari semua kesalahan yang ditemukan selama pengujian akan dapat ditelusuri sampai 20% dari modul program. Permasalahannya adalah bagaimana mengisolasi modul yang dicurigai dan mengujinya dengan teliti 22/3/SI6D

  5. Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”. Pengujian pertama kali dilakukan fokus pada modul individual perangkat lunak, kemudian pengujian mengubah fokus menjadi menemukan kesalahan pada cluster modul yang terintegrasi, dan akhirnya pada sistem secara keseluruhan

  6. Tidak mungkin melakukan pengujian yang mendalam. Jumlah jalur permutasi untuk program yang berukuran menengah sangat besar. Karena itulah, tidak mungkin untuk mengeksekusi setiap kombinasi jalur skema pengujian. Tetapi dimungkinkan untuk secara memadai mencakup logika program dan memastikan bahwa semua kondisi dalam rancangan prosedural telah diuji

  7. Agar memperoleh pengujian yang paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independen. Maksudnya, agar pengujian memiliki tingkat kemungkinan yang tinggi untuk menemukan kesalahan, maka pelaku RPL yang membuat sistem tersebut bukanlah orang yang paling tepat untuk melakukan semua pengujian bagi perangkat lunak

  8. TESTABILITAS Testabilitas perangkat lunak adalah seberapa mudah sebuah perangkat lunak dapat diuji. Karena pengujian merupakan proses yang sangat sulit, perlu diketahui apa saja yang dapat dilakukan untuk membuatnya menjadi mudah. Salah satu caranya adalah dengan menyediakan checklist mengenai masalah-masalah desain yang mungkin, fitur, dan lain sebagainya yang dapat membantu untuk bernegosiasi dengan pemrogram

  9. Checklist sebuah perangkat lunak untukdiuji: 1. Operabilitas. “Semakin baik dia bekerja, semakin efisien dia dapat diuji.” - Sistem memiliki sedikit bug (bug menambah analisis dan biaya pelaporan ke proses pengujian) - Tidak ada bug yang memblokir eksekusi program - Produk berubah pada tahapan fungsional (memungkinkan pengembangan dan pengujian secara simultan)

  10. 2. Observabilitas. “Apa yang Anda lihat adalah apa yang Anda uji.” - Output yang berbeda dihasilkan oleh masing-masing input - Status dan variabel sistem dapat diamati selama eksekusi - Status dan variabel sistem di masa lalu dapat diamati (mis. transaction log) - Semua faktor yang mempengaruhi output dapat diamati - Output yang salah dapat diidentifikasi dengan mudah - Kesalahan internal dapat dideteksi secara otomatis melalui mekanisme self-testing - Kesalahan internal dilaporkan secara otomatis - Source code dapat diakses

  11. 3. Kontrolabilitas. “Semakin baik perangkat lunak dapat dikontrol, semakin banyak pengujian yang dapat diotomatisasi dan dioptimalkan” - Semua output yang mungkin dapat dimunculkan melalui beberapa kombinasi input - Semua kode dapat dieksekusi melalui berbagai kombinasi input - Keadaan dan variabel perangkat lunak dan perangkat keras dapat dikontrol secara langsung oleh perekayasa pengujian - Format input dan output konsisten dan terstruktur - Pengujian dapat dispesifikasi, dioptimasi, dan diproduksi ulang dengan baik

  12. 4. Dekomposabilitas. “Dengan mengontrol ruang lingkup pengujian, kita dapat lebih cepat mengisolasi masalah dan melakukan pengujian kembali dengan lebih baik” - Sistem perangkat lunak dibangun dari modul-modul yang independen - Modul-modul perangkat lunak dapat diuji secara independen

  13. 5. Kesederhanaan. “Semakin sedikit yang perlu diuji, semakin cepat pengujiannya” - Kesederhanaan pengujian (contohnya kumpulan fitur adalah kebutuhan minimum untuk memenuhi persyaratan) - Kesederhanaan struktural (contohnya arsitektur dimodularisasi untuk membatasi propagasi kesalahan) - Kesederhanaan kode (contohnya sebuah standar pengkodean diadopsi untuk kemudahan inspeksi dan pemeliharaan)

  14. 6. Stabilitas. “Semakin sedikit perubahan, semakin sedikit gangguan dalam pengujian.” - Perubahan pada perangkat lunak jarang - Perubahan pada perangkat lunak dapat dikontrol - Perubahan pada perangkat lunak tidak membuat pengujian yang telah ada menjadi tidak valid - Perangkat lunak dapat pulih dengan baik dari kerusakan

  15. 7. Kemampuan untuk dapat dipahami. “Semakin banyak informasi yang dimiliki, semakin baik pengujiannya” - Rancangan dapat dipahami dengan baik - Ketergantungan antara komponen internal, eksternal, dan yang dipakai bersama dapat dipahami dengan baik - Perubahan terhadap rancangan dikomunikasikan - Dokumen teknis dapat diakses secara cepat - Dokumen teknis diorganisasikan dengan baik - Dokumen teknis bersifat spesifik dan detail - Dokumen teknis bersifat akurat

  16. PENGUJIAN YANG “BAIK” DAPAT DILIHAT DARI ATRIBUT-ATRIBUT BERIKUT: 1. Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan. Untuk mencapai hal ini, penguji harus memahami perangkat lunak dan berusaha mengembangkan gambaran mengenai bagaimana perangkat lunak dapat gagal. Kemudian kegagalan-kegagalan tersebut diselidiki

  17. 2. Pengujian yang baik tidak redundan. Waktu dan sumber daya yang tersedia untuk pengujian terbatas. Tidak ada gunanya melakukan pengujian dengan tujuan yang sama dengan pengujian yang telah dilakukan sebelumnya. Setiap pengujian harus memiliki tujuan yang berbeda

  18. 3. Pengujian yang baik seharusnya “jenis terbaik”. Untuk pengujian-pengujian yang memiliki tujuan serupa, batasan waktu dan sumber daya dapat menghalangi eksekusi kelompok pengujian tersebut. Pada kasus semacam ini, maka pengujian yang memiliki kemungkinan paling besar untuk mengungkap seluruh kesalahan yang harus digunakan

  19. 4. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks. Meskipun kadang-kadang mungkin untuk menggabungkan serangkaian pengujian ke dalam satu kasus uji, namun secara umum masing-masing kasus uji harus dieksekusi secara terpisah

  20. TERIMAKASIH

More Related