METODE PENGUJIAN PERANGKAT LUNAK


Haii, hallo semua....  selamat pagi, siang, malam, sore dll.... hehehe,. :)
Berjumpa lagi dengan saya di catatanryu.blogspot.com ..,
Setelah sebelumnya saya telah banyak membahas tentang metode pengembangan perangkat lunak, mulai dari incremental model,spiral model, 4GT dll....
Dan pada artikel kali ini saya akan membahas tentang metode pengujian perangkat lunak.,
Apa itu metode PPL..?? ada berapa macam metode PPL..? yaps langsung saja meluncur kepembahasan nya...!! Cekidot.

Pengujian perangkat lunak
Pengujian perangkat lunak(bahasa Inggris: software testing) merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test). Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, namun tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan bug perangkat lunak (kesalahan atau cacat lainnya).Pengujian perangkat lunak dapat dinyatakan sebagai proses validasi dan verifikasi bahwa sebuah program / aplikasi / produk:
  • Memenuhi kebutuhan (requirement) yang mendasari perancangan dan pengembangan perangkat lunak tersebut; 
  • Berjalan sesuai dengan yang diharapkan; 
  • Dapat diterapkan menggunakan karakteristik yang sama; 
  • Memenuhi kebutuhan semua pihak yang berkepentingan. 

Sasaran-sasaran pengujian
Beberapa sasaran pengujian diantaranya :
  • Pengujian 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 
  • Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. 
Sasaran tersebut mengimplikasikan adanya perubahan titik pandang yang dramatis. Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Sasarannya adalah mendesain pengujian yang secara sistematis mengungkap kelas kesalahan yang berbeda dan melakkukannya dengan jumlah waktu dan usaha minimum. Bila pengujian dilakukan secara sukses (sesuai dengan sasaran tersebut), maka akan ditemukan kesalahan di dalam perangkat lunak. Sebagai keuntungan sekunder, pengujian menunjukkan bahwa fungsi perangkat lunak bekerja sesuai dengan spesifikasi dan bahwa persyaratan kinerja telah dipenuhi. Sebagai tambahan, data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan.


Prinsip-Prinsip Pengujian
Prinsip Pengujian meliputi :
  • Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan. Sebagaimana telah kita ketahui, sasaran pengujian perangkat lunak adalah untuk mengungkapkan kesalahan. Hal ini memenuhi kriteria bahwa cacat yang paling fatal (dari titik pandang pelanggan) adalah cacat yang menyebabkan program gagal memenuhi persyaratannya.
  • Pengujian harus direncanakan lama sebelum pengujian itu mulai. Perencanaan pengjuian dapat dimulai segera setelah model pernyaratan dilengkapi. Definisi detail mengeani test case dapat dimulai segera setelah model desain diteguhkan. Dengan demikian, semua pengujian dapat direncanakan dan dirancang sebelum semua kode dibangkitkan.
  • Prinsip Pareto berlaku untuk pengujian perangkat lunak. Secara singkat prinsip Pareto mengimplikasikan bahwa 80 persen dari semua kesalahan yang ditemukan selama pengujian sepertinya akan dapat ditelusuri sampai 20 persen dari semua modul program. Masalahnya, bagaimana mengisolasi modul yang dicurigai dan mengujinya dengan teliti. 
  • Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”. Pengujian pertama yang direncanakan dan dieksekusi biasanya berfokus pada modul program individual. Selagi pengujian berlangsung maju, pengujian mengubah fokus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem secara keseluruhan.
  • Pengujian yang mendalam tidak mungkin. Jumlah jalur permutasi untuk program yang berukuran menengah-pun sangat besar. Karean itulah tidak mungkin untuk mengeksekusi setiap kombinasi jalus skema pengujian. Tetapi dimungkinkan untuk secara tepat mencakup logika program dan memastikan bahwa semua kondisi dalam desai prosedural telah diuji.
  • Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent. Yang dimaksud dengan kata “yang paling efektif” adalah pengujian yang memiliki probabilitas tertinggi di dalam menemukan kesalahan (sasaran utama pengujian). Karena perekayasa perangkat lunak yang membuat sistem tersebut bukanlah orang yang paling tepat untuk melakukan semua pengujian bagi perangkat lunak.

 Metode Pengujian Perangkat Lunak
A, Pengujian White-Box
Pengujian white box, kadang-kadang disebut pengujian glass box, adalah metode desaintest case yang menggunakan struktur kontrol desain prosedural untuk memperoleh test case. Dengan menggunakan metode pengujian white box, perekayasa sistem dapat melakukan test case yang :
  • memberikan jaminan bahwa semua jalur independen pada suatu modal telah digunakan, paling tidak satu kali. 
  • Menggunakan semua keputusan logis pada sisi true dan false 
  • Mengeksekusi semua loop pada batasan mereka dan baas operasional mereka 
  • Menggunakan struktur data internal untuk menjamin validitasnya
B.Pengujian Basis-Path
Pengujian basis path adalah teknik pengujian white box yang diusulkan pertama kali oleh Tom McCabe. Metode basis ini memungkinkan desainer test case mengukur kompleksitas logis dari desai prosedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi. Test case yang dilakukan untuk menggunakan basis set tersebut dijamin menggunakan setiap statment di dalam program paling tidak sekali selama pengujian.

C. Pengujian Struktur Kontrol
Teknik pengujian basis path yang digambarkan pada subbab di atas adalah salah satu dari sejumlah teknik untuk pengujian struktur kontrol. Meskipun pengujian basis path sederhana dan efektif, tetapi pengujian itu tidak memadai. Dalam bagian ini akan dibahas variasi lain pada pengujian struktur kontrol. Hal ini memperluas kupasan pengujian dan meningkatkan kualitas pengujian white-box.

D. Pengujian Black-Box
Pengujian black-box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengjian black-box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua peryaratan fungsional untuk suatu program. Pengujian black-box bukan merupakan alternatif dari teknik white-box tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap kelas kesalahan daripada metode white-box. Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut : 
  • Fungsi-fungsi yang tidak benar atau hilang 
  • Kesalahan interface 
  • Kesalahan dalam struktur data atau akses database eksternal 
  • Kesalhan kinerja 
  • Inisialisasi dan kesalahan terminasi
E. Pengujian Untuk Aplikasi dan Lingkungan Khusus
Pada saat perangkat lunak komputer menjadi semakin kompleks,maka kebutuhan akan pendekatan pengujian yang khusus juga makin berkembanga. Metode pengujian black-box dan white box yang dibicarakan sebelumnya dapat diaplikasikan pada semua lingkungan, arsitektur dan aplikasi, tetapi kadang-kadang dalam pengujian diperlukan pedoman dan pendekatan yang unik. 
Pada bagian ini akan dibahas pedoman pengujian bagi lingkungan arsitektur dan aplikasi khusus yang umumnya ditemui oleh para perekayasa perangkat lunak.
  • Pengujian GUI; Graphical User Interfaces (GUI) menyajikan tantangan yang menarik bagi para perekayasa. Karena komponen reusable berfungsi sebagai bagian dari lingkungan pengembangan GUI, pembuatan interface pemakai telah menjadi hemat waktu dan lebi teliti. Pada saat yang sama, kompleksitas GUI telah berkembanga, menimbulkan kesulitan yang lebih besar di dalam desain dan eksekusi test case.
  • Pengujian Arsitektur; Client Server Arsitektur client/server (C/S) menghadirkan tantangan yang berarti bagi para penguji perangkat lunakan. Sifat terdistribusi dari lingkungan client/server, masalah kinerja yang berhubungan dengan pemrosesan transaksi, kehadiran potensial dari sejumlah platform perangkat keras yang berbeda, kompleksitas komunikasi jaringan,kebutuahn aka layanan client multipel dari suatu database terpusat dan persyaratan koordinasi yang dibebabkan pada server, semua secara bersama-sama membuat pengujian terhadap arsitektur C/S dan perangkat lunak yang ada didalamnya menjadi jauh lebih sulit daripada pengujian aplikasi yang berdiri sendiri. Kenyataannya studi industri terakhir menunjukkan pertambahan berarti di dalam waktu pengujian dan biaya ketika lingkungan C/S dikembangkan.
  • Pengujian Dokumentasi dan Fasilitas Help; Istilah “pengujianperangkat lunak” memunculkan citra terhdapa sejumlah besar test case yang disiapkan untuk menggunakan program komputer dan data yang dimanipulasi oleh program. Dengan melihat kembali definisi perangkat lunak yang disajikan di awal, penting untuk dicatat bahwa pengujian harus berkembang ke elemen ketiga dari konfigurasi perangkat lunak, yaitu “dokumentasi”.Pengujian Sistem Real-Time Sifat asinkron dan tergantung waktu yang ada pada banyak aplikasi real time menambahkan elemen baru yang sulit dan potensial untuk bauran pengujian-waktu. Tidak hanya desainer teset case yang harus memeprtimbangkan test case balck box dan white box tetapi juga penanganan kejadian (yaitu pemrosesan interupsi), timing data dan paralelisme tugas-tugas (proses) yang menangani data. Pada banyak situasi, data pengujian yang diberikan pada saat sebuah sistem real time ada dalam satu keadaan akan menghasilkan pemrosesan yang baik, sementara data yang sama yang diberikan pada saat sistem berada dalam keadaan yang berbeda dapat menyebabkan kesalahan.
Na itulah tadi sedikit bahasan tentang Metode Pengembangan Perangkat Lunak  . semoga bisa menjadi ilmu yang bermanfaat,. :) sampai jumpa di artikel yang berikut nya dada.....


Komentar

Postingan populer dari blog ini

CPM (Critical Path Method) dan PERT (Program Evaluation and Review Technique)

Fourth Generation Techniques (4GT)