Teknik Pengujian Perangkat Lunak
Pengujian Perangkat Lunak adalah elemen kritis dari jaminan
kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi,
desain dan pengkodean.
Dasardasar 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.
Sasaran Pengujian
1. Pengujian
adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
2.
Test case yang baik adalah test case
yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah
ditemukan sebelumnya.
3.
Pengujian yang sukses dadalah
pengujian yang mengungkapkan semua kesalahan yang belum pernah ditemukan
sebelumnya.
Prinsip Pengujian
1. Semua
pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
2. Pengujian
harus direncanakan lama sebelum pengujian itu mulai.
3. Prinsp
Pareto berlaku untuk pengujian perangkat lunak.
4.
Pengujian harus mulai “dari yang
kecil” dan berkembang menjadi pengujian “yang besar”
5. Pengujian
yang mendalam tidak mungkin.
6.
Untuk menjadi paling efektif,
pengujian hars dilakukan oleh pihak ketiga yang independen.
Karakteristik yang membawa perangkat lunak 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 dengen lebih cepat mengisolasi masalah dan
melakukan pengujian kembali secara lebih halus”.
5. Kesederhaaan,
“Semakin sedikit yang kita uji, semakin cepat kita dapat mengujinya’>
6. Stabilitas,
“Semakin sedikit perubahan, semakin sedikit gangguan dalam pengujian’.
7.
Kemampuan untuk dapat dipahami,
“Semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan
dilakukan’.
Atributatribut 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 tidak boleh terlalu sederhana atau terlalu kompleks.
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 masingmasing 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 WHITE BOX
· Pengujian
White Box adalah metode desain test case yang menggunakan struktur control
desain procedural untuk memperoleh test case.
·
Disebut juga pengujian glassbox.
·
Dengan pengujian whitebox, perekayasa dapat melakukan :
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 pada batasan mereka dan pada batas operasional mereka.
4. Menggunakan
struktur data internal untuk menjamin validitasnya.
PENGUJIAN BASIS PATH
Pengujian
basis path memungkinkan desain test case mengukur kompleksitas logiss 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 setia statemen di dalam program paling tidak
sekali selama pengujian.
Notasi Diagram Alir
Diagram Alir atau grafik program
menggambarkan aliran control logika.
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.
Melakukan Test Case
1.
Dengan menggunakan desain atau kode
sebagai dasar, gambarkan sebuah grafik alir yang sesuai.
2. Tentukan
kompleksitas siklomatis dari grafik alir resultan.
3. Tentukan
sebuah basis set dari jalur independen secara linier.
4. Siapkan test
case yang akan memaksa adanya eksekusi setiap basis set.
· Matrik
grafis adalah matriks bujur sangkar yang ukurannya sama dengan jumlah simpul
pada grafik alir.
· Masingmasing
baris dan kolom sesuai dengan yang diidentifikasi kan, dan entri matriks sesuai
dengan edge di antara simpul.
PENGUJIAN STRUKTURAL KONTROL
Pengujian Kondisi
Pengujian Aliran Data
Pengujian Loop
PENGUJIAN BLACKBOX
v
Pengujian blackbox berfokus pada persyaratan fungsional
perangkat lunak.
v
Disebut juga pengujian behavioral atau pengujian partisi.
v Pengujian
blackbox memungkinkan perekayasa perangkat lunak mendapatkan serangkaian input
yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program.
v
Pengujian blackbox berusaha menemukan :
·
Fungsifungsi yang tidak benar atau hilang
·
Kesalahan interface
·
Kesalahan dalam struktur data atau akses database eksternal.
·
Kesalahan kinerja
·
Inisialisasi dan kesalahan terminasi.
v Dengan
mengaplikasikan teknik blackbox maka kita menarik serangkaian test case yang
memenuhi criteria beirkut :
· Test
case yang mengurangi, dengan harga lebih dari satu, jumlah test case tambahan
yang harus di desain untuk mencapai pengujian yang dapat dipertanggungjawabkan.
· Test
case yang member tahu kita sesuatu mengenai kehadiran atau ketidakhadiran kelas
kesalahan, daripada member tahu kesalahan yang berhubungan hanya dengan
pengujian spesifik.
vMetode Pengujian GraphBased
v
Partisi Ekivalensi
o
Input data dan output hasil terdapat di klas
yang berbeda yang sesuai
dengan klas inputnya.
o
Masing‐masing klas eqivalensi partition diproses
dimana program akan memproses anggota klas‐klas tersebut secara equivale.
o
Test case dipilih dari masing‐masing partisi
v
Analisis Nilai Batas
v
Pengujian Perhitungan
Komentar
Posting Komentar