Pengujian perangkat lunak atau yang dalam
bahasa inggris disebut sebagai ‘software
testing’ merupakan suatu investigasi yang dilakukan untuk mendapatkan
informasi mengenai kualitas dari produk atau layanan yang sedang diuji. Pengujian
perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara
obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk
memahami tingkat risiko pada implementasinya.
Pengujian perangkat lunak dapat dinyatakan sebagai proses validasi dan verifikasi bahwa sebuah program atau aplikasi atau produk memenuhi :
Pengujian perangkat lunak dapat dinyatakan sebagai proses validasi dan verifikasi bahwa sebuah program atau aplikasi atau produk memenuhi :
1. Kebutuhan (requirement) yang mendasari perancangan
dan pengembangan perangkat lunak tersebut;
2.
Berjalan sesuai dengan yang diharapkan;
3.
Dapat diterapkan menggunakan karakteristik yang
sama;
4.
Memenuhi kebutuhan semua pihak yang
berkepentingan.
§
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.
§
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,
yaitu : Semakin baik Dia bekerja, semakin efisien Dia dapat diuji.
2. Obsaikervabilitas,
yaitu : “Apa yang Anda lihat adalah apa yang Anda uji”.
3.
Kontralabilitas,
yaitu : “Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak
pengujian yang dapat diotomasisasi dan dioptimalkan”.
4. Dekomposabilitas,
yaitu : “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.
Perangkat lunak yang telah dibuat harus dapat di
uji untuk mengetahui apakah ada kesalahan atau error yang terjadi pada
perangkat lunak tersebut. Sebagai contoh sederhana, Anda melakukan testing
suatu aplikasi pada akhir development, kemudian Anda menemukan sebuah bug,
yaitu salah satu field penting yang seharusnya memiliki tipe data string,
ternyata memiliki tipe data numerik. Sekilas merupakan kesalahan yang
sederhana. Tetapi bayangkan, jika seluruh modul atau form pada aplikasi yang
menggunakan field tersebut terlanjur memperlakukan field tersebut sebagai
numerik, maka Anda harus memeriksa ulang seluruh modul / form yang berhubungan
dengan field tersebut. Dan jika perlu melakukan perubahan terhadapnya. Hal ini
tentu tidak perlu terjadi jika sedari awal Anda telah melakukan testing dan
menyadari kesalahan tersebut sebelum membuat lebih banyak form dan modul yang
berhubungan dengan bug tersebut.
B. PANDUAN PROSES TESTING
Terdapat dua panduan utama untuk melakukan
proses testing, yaitu:
Memeriksa
bahwa aplikasi berfungsi sebagaimana mestinya. Misalnya Anda membuat aplikasi
pendataan, pastikan bahwa Anda melakukan testing dengan mengisi seluruh field,
dan data yang dimasukkan tersimpan dengan benar pada database.
Jika
bug ditemukan dan telah diperbaiki, pastikan bahwa bagian-bagian lain dari
aplikasi (sekalipun yang nampaknya tidak berhubungan dengan bug tersebut) masih
berjalan dengan baik. Karena kadang tanpa disadari, perbaikan bug justru
mendatangkan bug baru pada bagian yang lain.
C. SOFTWARE TESTING APLIKASI
Perangkat lunak kode terbuka merupakan hasil
kerja sama komunitas open source yang tersebar si seluruh dunia melibatkan
jutaan programer. Keberagaman latar belakang dan metode pemograman para
pengembang telah menimbulkan kekhawatiran pada beberapa pihak terhadap kualitas
perangkat lunak yang dihasilkan. Oleh karenanya diperlukan suatu cara dalam
proses pengujian perangkat lunak tersebut. Sehingga sebelum disebarluaskan
kepada pemakai perangkat lunak tersebut telah terjamin kualitasnya dan dapat
memberikan kenyamanan pada pemakai dalam menggunakan perangkat lunak tersebut.
Metode
pengujian yang diterapkan dalam menguji perangkat lunak kode terbuka dapat
bersifat manual dan otomatis. Untuk metode manual menggunakan metode smoke
test, sedangkan untuk metode otomatis dengan menggunakan framework LDTP
(Linux Desktop Testing Project) , yang dikembangkan oleh komunitas open
source.
D. FRAMEWORK LDTP (Linux Desktop Testing Project)
Linux desktop testing project atau yang biasa
disingkat LDTP adalah framework GNU yang digunakan untuk menguji perangkat
lunak secara otomatis terutama untuk menguji perangkat lunak desktop pada
sistem operasi linux sehingga kualitasnya dapat terus ditingkatkan. Framework
LDTP memanfaatkan pustaka – pustaka acssesbility dalam menguji antar muka dalam
aplikasi. Selain itu framework LDTP dilengkapi dengan alat bantu yang dapat
menjenerasi appmap dengan membaca komponen – komponen antar muka pada aplikasi
dan alat bantu test case bedasarkan pemilihan user yang akan diuji. Inti
framework LDTP menggunakan appmap dan menjadikan test case yang telah direkam
ke test aplikasi dan memberi status untuk setiap test case sebagai output
hasilnya.
Framework LDTP telah digunakan dalam menguji
semua aplikasi Gnome, aplikasi — aplikasi dari yayasan mozila (mozila browser,
firefox, thunderbird), aplikasi open office, aplikasi java (swing), daan
aplikasi – aplikasi (mulai KDE 4) LDTP akan menguji bagian – bagian dari
aplikasi yaitu object based (tool bar, push, button, dll) context sensitve
(windows based), handle unexpected window, dll.
Gambar
1. Diagram Cara Kerja LDTP
E. FITUR-FITUR LDTP
LDTP
memiliki beberapa fitur, diantaranya :
1. LDTP mendukung verifikasi dari kegiatan-kegiatan
yang dijalankan.
2. Penulisan test scripts yang sangat mudah,
penulis script tidak perlu mengetahui hirarki dari objek.
3. Selama pengujian, pengawasan terhadap performa
memori dari aplikasi dapat diukur.
4. Pengelompokkan berdasarkan eksekusi, yang
menyediakan kontrol yang ketat dari aliran test-script.
5. Script dapat ditulis menjadi komponen yang
reusable dan data dapat disimpan/diambil kembali dalam bentuk XML.
6.
Objek-objek diidentifikasikan secara statis atau
dinamis.
F. PLATFORM YANG DIDUKUNG LDTP
Platform
yang didukung oleh LDTP antara lain:
1.
OpenSuSE
2.
OpenSolaris
3.
Debian
4.
Ubuntu
5.
Fedora
6.
FreeBSD
7.
Embedded Platform (Palm Source / Access Company)
Tidak ada komentar:
Posting Komentar