PENGUJIAN PERANGKAT LUNAK
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 :
- 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.
- 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 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 glassbox.
- Dengan pengujian whitebox, perekayasa dapat melakukan :
a.
Memberikan jaminan bahwa semua jalur independen pada suatu modul telah
digunakan paling tidak satu kali.
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
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
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
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 BLACKBOX
Pengujian blackbox berfokus pada persyaratan fungsional perangkat lunak.
Disebut juga pengujian behavioral atau pengujian partisi.
Pengujian blackbox memungkinkan perekayasa perangkat lunak mendapatkan
serangkaian input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program.
Pengujian blackbox 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