PENGUJIAN PERANGKAT LUNAK

PENGUJIAN PERANGKAT LUNAK

      Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean.
Dasar­dasar Pengujian Perangkat Lunak
        Pengembang perangkat lunak sesuai dengan sifatnya dasar, mereka adalah manusia pembangun. Pengujian mengharuskan pengembang membuang pemikiran­pemikiran sebelumnya mengenai “kebenaran” perangkat lunak yang baru saja dikembangkan dan mengatasi konflik minat yang terjadi pada saat kesalahan ditemukan.
Sasaran Pengujian 
1.Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
2.Pengujian yang sukses adalah pengujian yang memiliki probabilitas tinggi untuk menemukan dan mengungkapkan semua kesalahan yang belum pernah ditemukan atau diduga sebelumnya.
Prinsip Pengujian
1. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
2. Pengujian harus direncanakan lama sebelum pengujian itu mulai.
3. Pengujian harus mulai “dari yang kecil” dan berkembang menjadi pengujian “yang besar”.


Karakteristik yang Membawa Perangkat Lunak Dapat Diuji 
1.  Operabilitas : Semakin baik Dia bekerja, semakin efisien Dia dapat diuji.
2. Obsaikervabilitas : “Apa yang Anda lihat adalah apa yang Anda uji”.
3. Kontralabilitas : “Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak           pengujian yang dapat diotomasisasi dan dioptimalkan”.
4. Dekomposabilitas : “Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus”.
5. Kesederhanaan, yaitu : “Semakin sedikit yang kita uji, semakin cepat kita dapat mengujinya’.
6. Stabilitas, yaitu : “Semakin sedikit perubahan, semakin sedikit pula gangguan dalam pengujian’.
7. Kemampuan untuk dapat dipahami, yaitu : “Semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan dilakukan’.
Atribut-­atribut pengujian yang baik :
1. Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan.
2. Pengujian yang baik tidak redudan.
3. Pengujian yang baik seharusnya “jenis terbaik”,
4. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks.
Tujuan Pengujian :
•    Menjalankan program untuk menemukan error yang tersembunyi atau yang sebelumnya tidak terduga.
Fase Pengujian
Ada 2 tingkat yang tersedia pada proses pegujian, yaitu :
1. Konfigurasi perangkat lunak yang mencakup spesifikasi keperluan perangkat lunak, spesifikaasi perancangan, test case dan program sumber.
2. Konfigurasi uji coba yang mencakup rencana dan prosedur uji coba, test case dan hasil yang diharapkan.
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 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.


PENGUJIAN BLACK BOX TESTING
      Black box testing adalah pengujian yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan memeriksa fungsional dari perangkat lunak. Pengujuian black box mengevaluasi hanya dari tampilan luarnya (interfacenya), fungsionalitasnya tanpa mengetahui apa sesungguhnya yang terjadi dalam proses detilnya (hanya mengetahui input dan output).
Kelebihan Black Box Testing 
1.Dapat memilih subset test secara efektif dan efesien.
2.Dapat menemukan cacat.
3.Memaksimalkan testing investmen.
  
Kekurangan Black Box Testing
1.Tester tidak pernah yakin apakah perangkat lunak tersebut benar-benar lulus uji. 
PENGUJIAN WHITE BOX
      Pengujian white box adalah metode desain test case yang menggunakan struktur control desaian procedural untuk memperoleh test case. Pengujian white box disebut juga dengan pengujian glassbox.
Dengan pengujian white box, perekayasa dapat :
1.   Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali.
2.   Menggunakan semua keputusan logis pada sisi true and false.
3.   Mengeksekusi semua loop padanya.
4.   Menggunakan struktur data internal untuk menjamin validitasnya.


Kelebihan White Box Testing
1.Kesalahan logika. Digunakan pada sintaks "if" dan pengulangan. Dimana white box testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti.
2.Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk dianalisa dan di perbaiki.
3.Kesalahan ketik. Mendeteksi bahasa pemograman yang bersifat case sensitive.

Kelemahan White Box Testing
1.Untuk perangkat lunak yang tergolong besar, white box testing diaanggap sebagagi strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya.  
Perbedaan White Box dan Black Box 
White Box (Struktural)
 a.Dilakukan oleh penguji yang mengetahui tentang QA.
 b.Melakukan testing pada software/program aplikasi menyangkut security dan                          performance program tersebut (meliputi test code, desain implementasi, security,data flow,  software failure).
 c.Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing.

 Metode Black Box (Fungsional)
 a.Dilakukan oleh penguji independent.
 b.Melakukan pengujian berdasarkan apa yang dilihat, hanya fokus terhadap fungsionalitas dan ouput. Pengujian lebih ditunjukan pada desain software sesuai standar dan reaksi apabila terdapat celah-celah pada program aplikasi tersebut setelah dilakukan white testing. 
 c.Dilakukan setelah white box testing.  

Condition Testing 

      Pengujian yang menajalankan kondisi logis yang terdapat pada modul program  

Data Flow Testing 

      Pengujian dengan metode yang menyeleksi jalur uji program menurut lokasi pendefinisian dan menggunakan variabel-variabel program.

Loop Testing 

      Pengujian yang berfokus pada validitas dari bentuk loop.
1.    simple loop.
2.    concatenated loop.
3.    nested loop.
4.    unstructured loop.

PENGUJIAN BASIS PATH
      Pengujian basis oath ini diperkenalkan oleh Tom McCabe. Pengujian basis path ini memungkinkan desain text case mengukur kompleksitas logis dari desain procedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi. Test case yang dilakukan untuk menggunakan basis set tersebut dijamin untuk menggunakan setiap statemen didalam program sekali selama pengujian.  

      Perangkat yang digunakan :

1. Notasi Flow Graph atau Program Graph.

2. 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.
 3. Graph Metrik adalah matrik empat persegi yang mempunyai ukuran yang sama dengan jumlah node pada flowgraph. Masing-masing baris dan kolom mempunyai hubungan dengan node yang telah ditentukan dan pemasukan data matrik berhubungan dengan hubungan (edge) antar node. Contoh sederhana pemakaian graph metrik dapat digambarkan sebagai berikut :
a. Dengan menggunakan desain atau kode sebagai dasar, gambarkan sebuah grafik alir yang sesuai.
b. Tentukan kompleksitas siklomatis dari grafik alir resultan.
c. Tentukan sebuah basis set dari jalur independen secara linier.
d.   Siapkan test case yang akan memaksa adanya eksekusi setiap basis set.

Comments