"Roro Rizky Ananda Febriani"

Selasa, 06 Mei 2014

"PENGUJIAN PERANGKAT LUNAK DENGAN FRAMEWORK LDTP"


A. DEFINISI SOFTWARE TESTING
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 :
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 pemikiran­pemikiran 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