A. PENGUJIAN PERANGKAT LUNAK
Pengujian Perangkat
Lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan
merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean.
B. Dasar-dasar Pengujian Perangkat Lunak
Pengembang perangkat lunak sesuai dengan sifatnya
dasar, mereka adalah manusia pembangun. Pengujian mengharuskan pengembang
membuang pemikiranpemikiran sebelumnya mengenai “kebenaran” perangkat lunak
yang baru saja dikembangkan dan mengatasi konflik minat yang terjadi pada saat
kesalahan ditemukan.
C. Sasaran Pengujian
- Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
- Pengujian yang sukses adalah pengujian yang memiliki probabilitas tinggi untuk menemukan dan mengungkapkan semua kesalahan yang belum pernah ditemukan atau diduga sebelumnya.
D. Prinsip Pengujian
- Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
- Pengujian harus direncanakan lama sebelum pengujian itu mulai.
- Pengujian harus mulai “dari yang kecil” dan berkembang menjadi pengujian “yang besar”.
E. Karakteristik yang Membawa Perangkat Lunak Dapat
Diuji
- Operabilitas : Semakin baik Dia bekerja, semakin efisien Dia dapat diuji.
- Obsaikervabilitas : “Apa yang Anda lihat adalah apa yang Anda uji”.
- Kontralabilitas : “Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak pengujian yang dapat diotomasisasi dan dioptimalkan”.
- Dekomposabilitas : “Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus”.
- Kesederhanaan, yaitu : “Semakin sedikit yang kita uji, semakin cepat kita dapat mengujinya’.
- Stabilitas, yaitu : “Semakin sedikit perubahan, semakin sedikit pula gangguan dalam pengujian’.
- Kemampuan untuk dapat dipahami, yaitu : “Semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan dilakukan’.
F. Atribut-atribut pengujian yang baik:
- Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan.
- Pengujian yang baik tidak redudan.
- Pengujian yang baik seharusnya “jenis terbaik”.
- Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks.
G. Tujuan Pengujian:
Menjalankan program untuk menemukan error yang
tersembunyi atau yang sebelumnya tidak terduga.
H. Fase Pengujian
Ada 2 tingkat yang tersedia pada proses pegujian, yaitu:
- Konfigurasi perangkat lunak yang mencakup spesifikasi keperluan perangkat lunak, spesifikaasi perancangan, test case dan program sumber.
- Konfigurasi uji coba yang mencakup rencana dan prosedur uji coba, test case dan hasil yang diharapkan.
I. 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 :
- Dengan mengetahui fungsi yang ditentukan dimana produk yang dirancang untuk melakukanya,pengujiandapat dilakukan untuk memperlihatkan bahwa masingmasing fungsi beroperasi sepenuhnya, pada waktu yang sama mencari kesalahan pada setiap fungsi.
- Dengan mengetahui kinerja internal suatu produk, maka pengujian dapat dilakukan untuk memastikanbahwa semua roda gigi berhubungan, yaitu operasi internal bekerja sesuai dengan spesifikasi dan semua komponen internal telah diamati dengan baik.
J. 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).
- Dapat memilih subset test secara efektif dan efesien.
- Dapat menemukan cacat.
- Memaksimalkan testing investmen.
b) Kekurangan Black Box Testing
- Tester tidak pernah yakin apakah perangkat lunak tersebut benar-benar lulus uji.
K. 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:
Memberikan
jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling
tidak satu kali.
Menggunakan
semua keputusan logis pada sisi true and false.
- Mengeksekusi semua loop padanya.
- Menggunakan struktur data internal untuk menjamin validitasnya.
a) Kelebihan White Box Testing
- 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.
- Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk dianalisa dan di perbaiki.
- Kesalahan ketik. Mendeteksi bahasa pemograman yang bersifat case sensitive.
b) Kelemahan White Box Testing
- Untuk perangkat lunak yang tergolong besar, white box testing diaanggap sebagagi strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya.
c) Perbedaan White Box dan Black Box
White Box (Struktural)
- Dilakukan oleh penguji yang mengetahui tentang QA.
- Melakukan testing pada software/program aplikasi menyangkut security Dan performance program tersebut (meliputi test code, desain implementasi, security,data flow, software failure).
- Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing.
Metode Black Box (Fungsional)
- Dilakukan oleh penguji independent.
- 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.
- Dilakukan setelah white box testing.
d) Condition Testing
Pengujian yang menajalankan kondisi logis yang
terdapat pada modul program
e) Data Flow Testing
Pengujian dengan metode yang menyeleksi jalur uji
program menurut lokasi pendefinisian dan menggunakan variabel-variabel program.
f) Loop Testing
Pengujian yang berfokus pada validitas dari bentuk
loop.
- simple loop.
- concatenated loop.
- nested loop.
- unstructured loop.
L. 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 :
- Notasi Flow Graph atau Program Graph.
- 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.
- 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 :
- Dengan menggunakan desain atau kode sebagai dasar, gambarkan sebuah grafik alir yang sesuai
- Tentukan kompleksitas siklomatis dari grafik alir resultan.
- Tentukan sebuah basis set dari jalur independen secara linier.
- Siapkan test case yang akan memaksa adanya eksekusi setiap basis set.
Tidak ada komentar:
Posting Komentar