Pengujian
perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan
merepresentasikan spesifikasi, desain dan pengkodean.
Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.
Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.
Dalam
melakukan uji coba ada 2 masalah penting yang akan dibahas, yaitu :
A. Teknik
uji coba perangkat lunak
B. Strategi
uji coba perangkat lunak
TEKNIK
UJI COBA PERANGKAT LUNAK
Pada
dasarnya, pengujian merupakan suatu proses rekayasa perangkat lunak yg dapat
dianggap (secara psikologis) sebagai hal yg destruktif daripada konstruktif.
SASARAN
PENGUJIAN (Glen Myers) :
1. Pengujian
adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
2. Test
case yg baik adalah test case yg memiliki probabilitas tinggi untuk menemukan
kesalahan yg belum pernah ditemukan sebalumnya.
3. Pengujian
yg sukses adalah pengujian yg mengungkap semua kesalahan yg belum pernah
ditemukan sebelumnya.
PRINSIP PENGUJIAN (diusulkan Davis) :
1. Semua
pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
2. Pengujian
harus direncanakan lama sebelum pengujian itu dimulai.
3. Prinsip
Pareto berlaku untuk pengujian perangkat lunak. Prinsip Pareto mengimplikasikan
80% dari semua kesalahan yg ditemukan selama pengujian sepertinya akan dapat
ditelusuri sampai 20% dari semua modul program.
4. Pengujian
harus mulai "dari yg kecil" dan berkembang ke pengujian "yang
besar".
5. Pengujian
yang mendalam tidak mungkin.
6. Paling
efektif, pengujian dilakukan oleh pihak ketiga yg independen.
TESTABILITAS
Testabilitas
perangkat lunak adalah seberapa mudah sebuah program komputer dapat diuji.
Karena pengujian sangat sulit, perlu diketahui apa yg dapat dilakukan untuk
membuatnya menjadi mudah.
Karakteristik
perangkat lunak yg diuji :
o
OPERABILITAS, semakin baik dia bekerja
semakin efisien dia dapat diuji.
o
OBSERVABILITAS, apa yg anda lihat adalah
apa yg anda uji.
o
KONTROLABILITAS, semakin baik kita dapat
mengontrol perangkat lunak semakin banyak pengujian yg adapat diotomatisasi dan
dioptimalkan.
o
DEKOMPOSABILITAS, dengan mengontrol
ruang lingkup pengujian kita dapat lebih cepat mengisolasi masalah dan
melakukan pengujian kembali.
o
KESEDERHANAAN, semakin sedikit yg diuji
semakin cepat pengujian.
o
STABILITAS, semakin sedikit perubahan
semakin sedikit gangguan pengujian.
o
KEMAMPUAN DIPAHAMI, semakin banyak
informasi yg dimiliki semakin detail pengujiannya.
ATRIBUT
PENGUJIAN YG BAIK :
o
Memiliki probabilitas yg tinggi
menemukan kesalahan.
o
Tidak redundan.
o
Harusnya ‘jenis terbaik’.
o
Tidak boleh terlalu sederhana atau
terlalu kompleks
DESAIN
TEST CASE
Terdapat
bermacam-macam rancangan metode test case yg dapat digunakan, semua menyediakan
pendekatan sistematis untuk uji coba, yg terpenting metode menyediakan
kemungkinan yg cukup tinggi menemukan kesalahan.
Terdapat
2 macam test case:
1. Pengetahuan
fungsi yg spesifik dari produk yg telah dirancang untuk diperlihatkan, test
dapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalan
sebagaimana yg diharapkan.
2. Pengetahuan
tentang cara kerja dari produk, test dapat dilakukan untuk memperlihatkan cara
kerja dari produk secara rinci sesuai dengan spesifikasinya.
Dua
macam pendekatan test yaitu :
1. 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.
Tehnik pengujian
black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan
test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan
cakupan pengujian yang mendalam.
Metode pengujian graph-based
mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi
ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk
melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa
kemampuan program untuk menangani data pada batas yang dapat diterima.
Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak
Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak
2. White
Box Testing
Adalah meramalkan cara
kerja perangkat lunak secara rinci, karenanya logikal 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%.
Pengujian white-box
berfokus pada struktur control program. Test case dilakukan untuk memastikan
bahwa semua statemen pada program telah dieksekusi paling tidak satu kali
selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic
path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk
melakukan serangkaian pengujian yang independent secara linear yang akan memastikan
cakupan.
Pengujian aliran data dan kondisi
lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan
tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop
dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk
mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal
dari suatu program.
STRATEGI
UJI COBA PERANGKAT LUNAK
Strategi
uji coba perangkat lunak memudahkan para perancang untuk menentukan
keberhasilan system yg telah dikerjakan. Hal yang harus diperhatikan adalah
langkah-langkah perencanaan dan pelaksanaan harus direncanakan dengan baik dan
berapa lama waktu, upaya dan sumber daya yg diperlukan.
Strategi
uji coba mempunyai karakteristik sbb :
o
Pengujian mulai pada tingkat modul yg
paling bawah, dilanjutkan dgn modul di atasnya kemudian hasilnya dipadukan.
o
Teknik pengujian yang berbeda mungkin
menghasilakn sedikit perbedaan (dalam hal waktu)
o
Pengujian dilakukan oleh pengembang
perangkat lunak dan (untuk proyek yang besar) suatu kelompok pengujian yang
independen.
o
Pengujian dan debugging merupakan aktivitas
yang berbeda, tetapi debugging termasuk dalam strategi pengujian.
Pengujian
perangkat lunak adalah satu elemen dari topik yang lebih luas yang sering diacu
sebagai verifikasi dan validasi (V& V).
Verifikasi
: Kumpulan aktifitas yg menjamin penerapan perangkat lunak benar-benar sesuai dengan
fungsinya.
Validasi
: Kumpulan aktivitas yang berbeda yang memastikan bahwa perangkat lunak yang
dibangun dapat memenuhi keperluan pelanggan.
1. PENGUJIAN
UNIT
Unit testing (uji coba
unit) fokusnya pada usaha verifikasi pada unit terkecil dari desain perangkat
lunak, yakni modul. Uji coba unit selalu berorientasi pada white box testing
dan dapat dikerjakan paralel atau beruntun dengan modul lainnya.
2. PENGUJIAN
INTEGRASI
Pengujian terintegrasi
adl teknik yg sistematis untuk penyusunan struktur program, pada saat bersamaan
dikerjakan uji coba untuk memeriksa kesalahan yg nantinya digabungkan dengan
interface.
Metode pengujian
a. top
down integration
b. buttom
up integration
a. Top-
down integration
Top down integration
adalah pendekatan incremental dengan menggerakkan ke bawah melalui hirarki
control, dimulai dengan control utama. Strategi intergrasi top-down memeriksa
control mayor atau keputusan pada saat awal di dalam proses pengujian. Pada
struktur program yang difaktorkan dengan baik, penarikan keputusan terjadi pada
tingkat hirarki yang lebih tinggi sehingga terjadi lebih dulu.
Strategi top-down
kelihatannya tidak sangat rumit, tetapi di dalam praktenya banyak menimbulkan
masalah logistic. Biasanya masalah ini terjadi jika dibutuhkan pemrosesan di
dalam hirarki pada tingkat rendah untuk menguji secara memadai tingkat yang
lebih tinggi.
b. Pengujian
Integrasi Bottom-up
Bottom up integration
memulai konstruksi dan pengujian dengan modul atomic (modul pada tingkat paling
rendah pada struktur program). Karena modul diintegrasikan dari bawah ke atas,
maka pemrosesan yang diperlukan untuk modul subordinate ke suatu tuingkat yang
diberikan akan selalu tersedia dan kebutuhan akan stub dapat dieliminasi.
Strategi integrasi bottom-up dapat diimplementasi dengan langkah-langkah:
1. modul
tingkat rendah digabung ke dalam cluster (build) yang melakukan subfungsi
perangkat lunak spesifik.
2. Driver
(program control untuk pengujian) ditulis untuk mengkoordinasi input dan output
test case
3. cluster
diuji
4. driver
diganti dan cluster digabungkan dengan menggerakkannya ke atas di dalam
struktur program.
1. Silahkan masukkan komentar
2. Berkomentar dengan kata-kata yang santun
3. Jangan menggunakan kata-kata kotor
4. Jika anda tidak suka dengan yang kami sajikan, lebih baik jangan di baca
5. Tinggalkan link web/blog anda agar admin bisa visit back
6. Jadilah pengunjung yang baik
7. Kami hanya memberikan informasi dari sumber-sumber yang bisa admin percaya.
8. Maaf jika ada salah satu artikel tidak ada sumbernya.
EmoticonEmoticon