PENGUJIAN PERANGKAT LUNAK

Posted by pendidikan yang sesungguhnya Rabu, 04 Juli 2012 0 komentar

A.    Dasar-Dasar Pengujian Perangkat Lunak

      Pada proses RPL, pelaku RPL mula-mula berusaha untuk membangun perangkat lunak mulai dari konsep abstrak sampai kepada tahap implementasi yang dapat dilihat, baru kemudian dilakukan pengujian. Pada pengujian perangkat lunak, pelaku RPL menciptakan sekkumpulan 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 di mana secara fisik terlihat lebih banyak sisi deskriptifnya dibandingkan isi konstruktifnya karenatujuannya adalah untuk menemukan kesalahan pada perangkat lunak.
       Pengujian adalah proses pemeriksaan atau evaluasi sistem atau komponen sistem secara manual atau otomatis untuk memverifikasi apakah sistem memenuhi kebutuhan yang dispesifikasikan atau mengindikasikan perbedaan-perbedaan antara yang diharapkan dengan hasil yang terjadi.
Pengujian seharusnya meliputi 3 konsep, yaitu:
·         Demonstrasi validitas perangkat lunak pada masing-masing tahap di siklus pengembangan system
·         Penentuan validitas sistem akhir dikaitkan dengan kebutuhan pemakai
·         Pemeriksaan prilaku sistem dengan mengeksekusi sistem pada data sample pengujian

`           Dasar pengujian perangkat lunak:
·         Sebelum proses perangkat lunak, perekayasa pertaama-tama akan membangun dari konsep abstrak ke implementasi yang dapat dinilai, baru kemudian dilakukan pengujian.
·         Perekayasa menciptakan Test Case untuk ”membongkar” perangkat lunak yang sudah di bangun.
·         Tahap pengujian ini pada dasarnya di anggap destruktif dari pada konstruktif

Dalam melakukan uji coba ada 2 masalah penting yang akan dibahas, yaitu:
a.       Teknik uji coba perangkat lunak
                  b.      Strategi uji coba perangkat lunak

    Sasaran Pengujian Perangkat Lunak

                   Sasaran pengujian perangkat lunak antara lain:
a.       Pengujian adalah proses mengeksekusi program dengan tujuan khusus untuk menemukan kerusakan.
b.      Kasus uji yang baij adalah yang memiliki tingkat kemungkinan tinggi untuk  menemukan kerusakan yang belum ditemukan
c.       Pengujian dikatakan berhasil jika berhasil menemukan kerusakan yang belum ditemukan.

       Sasaran di ats sekaligus mengimplikasikan adanya perubahan cara pandang di mana sebelumnya dikatakan bahwa pengujian yan gberhasil adalah pengujian yang tidak menemukan kesalahan.
Jika pengujian sukses dilakukan, maka akan ditemukan kesalahan dalam perangkat lunak. Sebagai keuntungan tambahan, pengujian menunjukkan bahwa fungsi perangkat lunak bekerja sesuai spesifikasi dan bahwa persyaratan kinerja telah dipenuhi.
Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai realibilitas oerangkat lunak dan beberapa indikasi dari kualitas keseluruhan perangkat lunak. Akan tetapi,  pengujian tidak dapat memperlihatkan bahwa perangkat lunak yang diuji tidak memiliki cacat.

Prinsip Pengujian Perangkat Lunak

                  Serangkaian prinsip pengujian perangkat lunak antara lain:
a.       Semua pengujian harus dapat ditelusuri sampai ke kebutuhan pelanggan.
b.      Pengujian harus direncanakan lama sebelum pengujian dimulai.
c.       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.
d.      Pengujian harus mulai ”dari yang kecil” dan berkembang ke pengujian ”yang besar”.
e.       Tidak mungkin melakukan pengujian yang mendalam.
f.       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.

Motivasi Pengujian
·         Acceptance Testing
·         Defect Testing

Tahap Pengujian
·         Perencanaan pengujian
·         Perancangan pengujian
·         Eksekusi pengujian
·         Analisis hasil pengujian

Kesalahan Pengujian
·         Kesalahan fungsionalitas (program bertindak berbeda disbanding yang dikehendaki)
·         Kesalahan kehilangan (suatu fungsionalitas yang diperlukan tidak ada)
·         Kesalahan yang memanifestasi dengan penghentian program

Atribut Pengujian Yang Baik:
·         Memiliki probabilitas yang tinggi menemukan kesalahan.
·         Tidak redundan.
·         Harusnyaa ’jenis terbaik’.
·         Tidak boleh terlalu sederhana atau terlalu kompleks.
  
         B.     DESAIN TEST CASE 

     Desain test case merupakan metode pengujian untuk perangkat lunak untuk memastikan                            
kelengkapan pengujian dan memberikan kemungkinan tertinggi untuk mengungkap kesalahan  pada perangkat lunak.
                  Semua produk yang direkayasa dapat diuji dengan satu atau dua cara :
  1.    Dengan mengetahui fungsi yang ditentukan dimana produk yang dirancang untuk  melakukanya, pengujian dapat dilakukan untuk memperlihatkan bahwa masing­-masing fungsi beroperasi sepenuhnya, pada waktu yang sama mencari kesalahan pada setiap fungsi. 
  2. Dengan mengetahui kinerja internal suatu produk, maka pengujian dapat dilakukan untuk memastikan bahwa semua roda gigi berhubungan, yaitu operasi internal bekerja sesuai dengan spesifikasi dan semua komponen internal telah diamati dengan baik. 
             Terdapat bermacam-macam rancangan metode test case yang dapat digunakan, semua menyediakan pendekatan sistematis untuk uji coba, yang terpenting mer=tode menyediakan kemungkinan yang cukup tinggi menemukan kesalahan.


Terdapat 2 macam test case, yaitu:
a.       Pengetahuan fungsi yang spesifik dari produk yang telah dirancang untuk diperlihatkan, test dapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalan sebagaimana yang diharapkan.
b.      Pengetahuan tentang cara kerja produk, test dapat dilakukan untuk memperlihatkan cara kerja dari produk secara rinci sesuai dengan spesifikasinya.

Teknik Pengujian
Dua macam pendekatan test yaitu:
a.       Black Box Testing
Test case ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya.
b.      White Box Testing
Adalah meramalkan cara kerja perangkat lunak secara rinci, karenanya logical path (jalur logika) perangkat lunak akan ditest dengan menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.

       C.    PENGUJIAN WHITE BOX
  • Pengujian White Box adalah metode desain test case yang menggunakan struktur control desain procedural untuk memperoleh test case.
  • Disebut juga pengujian glass­box.
  • Dengan pengujian white­box, perekayasa dapat melakukan :
a.       Memberikan jaminan bahwa semua jalur independen pada suatu modul telah
digunakan paling tidak satu kali. 
b.      Menggunakan semua keputusan logis pada sisi true and false. 
c.       Mengeksekusi semua loop pada batasan mereka dan pada batas operasional   mereka.
d.      Menggunakan struktur data internal untuk menjamin validitasnya.

      D.    PENGUJIAN BASIS PATH 

         Pengujian basis path memungkinkan desain test case mengukur kompleksitas logiss dari desainmprocedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi. Test case yang dilakukan untuk menggunakan basis set tersebut dijamin untuk menggunakan setia statemen di dalam program paling tidak sekali selama pengujian.

Notasi Diagram Alir 

Diagram Alir atau grafik program menggambarkan aliran control logika. Sebelum metode basis path dapat diperkenalkan, notasi sederhana untuk representasi aliran control yang disebut diagram alir harus diperkenalkan. Pada gambar dibawah ini masing-masing lingkaran disebut simpul grafik alir, yang  merepresentasikan satu atau lebih statemen procedural. Anak panah pada grafik alir tersebut yang disebut edges atau links, merepresentasikan aliran control dan analog dengan anak panah bagan alir.
Edges harus berhenti pada suatu simpul, meskipun bila simpul tersebut tidak merepresentasikan statemen procedural (seperti if-then-else). Area yang dibatasi oleh edge dan simpul disebut region.
Notasi diagram alir:
1.      Sequence

2.      If



3.      While


4.       

Until

5.   Case


  


Kompleksitas Siklomatis 

Kompleksitas Siklomatis adalah metric perangkat lunak yang memberikan pengukuran kuantitaif terhadap kompleksitas logis suatu program. Kompleksitas Siklomatis menentukan jumlah jalur independen dalam basis set suatu program dan memberikan batas atas bagi jumlah pengujian yang harus dilakukan untuk memastikan bahwa semua statemen telah dieksekusi sedikitnya satu kali. Jalur independen adalah jalur yang melalui program yang mengintroduksi sedikitnya satu rangkaian statemen proses baru atau suatu kondisi baru.

       E.     PENGUJIAN STRUKTURAL KONTROL

       Teknik pengujian basis path yang digambarkan di atas adalah satu dari sejumlah teknik untuk pengujian struktur control. Meskipun pengujian basis path sederhana dan sangat efektif, tetapi pengujian ini tidak memadai.
  •  Pengujian Kondisi
        Merupakan sebuah metode desain test case yang  menggunakan kondisi logis yang ada pada suatu program. Kondisi sederhana adalah variable Boolean atau suatu persamaan hubugan, dapat didahului dengan satu operator NOT. 
       Bila terdapat suatu kondisi tidak benar, maka paling tidak satu komponen dari kondisi tersebut salah. Dengan demikian tipe kesalahan pada suatu kondisi meliputi berikut ini:
a.       Kesalahan operator Boolean(ada operator Boolean yang salah/hilang/ekstra)
b.      Kesalahan variable Boolean
c.       Kesalahan tanda kurung Boolean
d.      Kesalahan operator rasional
e.       Kesalahan persamaan aritmatika
         Metode pengujian kondisi berfokus pada pengujian masing-masing kondisi di dalam program. Metode ini mempunyai 2 keuntungan yaitu:

a.       Pengukuran kupasan pengujian dari satu kondisi adalah sederhana
b.      Cakupan pengujian terhadapa kondisi di dalam suatu program memberikan pedoman untuk melakukan pengujian tambahan untuk program tersebut.

Tujuan pengujian kondisi adalah  mendeteksi tidak hanya kesalahan di dalam kondisi program, tetapi juga kesalahan lain pada program.
\
·         Pengujian Aliran Data

Metode ini memilih jalur pengujian dari suatu program sesuai dengan lokasi definisi dan menggunakan variable-variable pada program. Strategi pengujian aliran data berguna untuk memilih jalur pengujian dari suatu program yang berisi if dan loop yang tersarang.

·         Pengujian Loop

Loop adalah batu pertama untuk mayoritas algoritma yang diimplementasikan pada perangkar lunak. Pengujian loop merupakan teknik pengujian white-box yang secara ekslusif berfokus pada validitas konstruksi loop. Empat jelas loop yang berbeda dapat didefinisikan:
a.       Loop sederhana
b.      Loop terangkai
c.       Loop tersarang
d.      Loop tidak terstruktur

           F.     PENGUJIAN BLACK­BOX

             Pengujian black­box berfokus pada persyaratan fungsional perangkat lunak. Disebut juga pengujian behavioral atau pengujian partisi. Pengujian black­box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. 
Pengujian black­box berusaha menemukan kesalahan pada:
·         Fungsi­-fungsi yang tidak benar atau hilang
·         Kesalahan pada interface
·         Kesalahan pada struktur data atau akses database.
·         Kesalahan performansi
·         Kesalahan inisialisasi dan tujuan akhir.

             Metode Black-box ini tidak berfokus pada struktur control seperti pengujian white-box tetapi pada domain informasi. Dengan mengaplikasikan teknik black­-box maka kita menarik serangkaian test case yang memenuhi kriteria berikut:
ü  Test case yang mengurangi, dengan harga lebih dari satu, jumlah test case tambahan yang harus di desain untuk mencapai pengujian yang dapat dipertanggung jawabkan.
ü  Test case yang memberi tahu kita sesuatu mengenai kehadiran atau ketidakhadirankelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya dengan pengujian spesifik. 

Lanjutkan membaca mengenai "Strategi Pengujian Perangkat Lunak"

0 komentar:

Posting Komentar

Total Tayangan Halaman