2. 336408_Publikasi
-
Upload
lrindrayanti7330 -
Category
Documents
-
view
219 -
download
0
Transcript of 2. 336408_Publikasi
-
7/26/2019 2. 336408_Publikasi
1/13
NASKAH PUBLIKASI
SISTEM PENGUJIAN PERANGKAT LUNAK OTOMATIS
DENGAN PENDEKATAN KARAKTERISTIK SISTEM MULTI AGEN
HENDRA YUFIT RISKIAWAN
12/336408/PPA/03786
PROGRAM STUDI S2 ILMU KOMPUTER
JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2015
-
7/26/2019 2. 336408_Publikasi
2/13
NASKAH PUBLIKASI
Untuk Berkala Penelitian Pascasarjana ini
Telah Disetujui oleh Tim Pembimbing
Pembimbing Utama
Dr. Azhari SN., M.T.
NIP. 19620920 198903 1 002
Tanggal 5 Januari 2015
-
7/26/2019 2. 336408_Publikasi
3/13
PERNYATAAN
Dengan ini kami selaku pembimbing tesis mahasiswa Program Pascasarjana:
Nama : Hendra Yufit Riskiawan
NIM : 12/336408/PPA/03786
Program Studi : Ilmu Komputer
Setuju / tidak setuju *) naskah ringkasan penelitian (calon naskah berkala penelitian
Program Pascasarjana yang disusun oleh yang bersangkutan dipublikasikan dengan /
tanpa *) mencantumkan nama tim pembimbing sebagai co-author.
Kemudian harap maklum.
Nama
Dr. Azhari SN., M.T.
NIP. 19620920 198903 1 002
Status Pembimbing
Pembimbing Utama
Yogyakarta, 5 Januari 2015
Tanda Tangan
* Coret yang tidak perlu
-
7/26/2019 2. 336408_Publikasi
4/13
1
SISTEM PENGUJIAN PERANGKAT LUNAK OTOMATIS
DENGAN PENDEKATAN KARAKTERISTIK SISTEM MULTI AGEN
Hendra Y. Riskiawan*
1
, Azhari SN
2
1Program Studi S2 Ilmu Komputer, FMIPA UGM, Yogyakarta
2Jurusan Ilmu Komputer dan Elektronika, FMIPA UGM, Yogyakarta
e-mail: *[email protected],
AbstrakPengujian perangkat lunak merupakan tahapan yang penting dalam pengembangan
perangkat lunak. Hal ini dikarenakan pengujian perangkat lunak memegang peranan dalammenjaga kualitas perangkat lunak yang dihasilkan. Pengujian perangkat lunak umumnyadilakukan dengan melakukan uji coba penggunaan perangkat lunak dengan kasus uji tertentu.Ada banyak metode pengujian yang dapat digunakan. Pengujian dengan lebih dari satu metode
diperlukan untuk menjaga kualitas perangkat lunak dari berbagai aspek yang menjadi fokuspengujian dari masing-masing metode.
Pada penelitian ini, sistem pengujian perangkat lunak otomatis tersebut dikembangkandengan pendekatan sistem Multi Agen. Sistem Multi Agen yang dikembangkan terdiri dari 1Interface Agent dan 3 Tester Agent. Interface Agent merupakan agen yang bertugasmendistribusikan tugas pengujian yang akan dilakukan. Sedangkan Tester Agent merupakanagen yang bertugas melakukan eksekusi pengujian dengan masing-masing metode pengujian,yaitu Data-driven Testing, Whitebox Testing dan Blackbox Testing.
Dari pengujian yang dilakukan, diperoleh hasil bahwa pengujian perangkat lunakotomatis dapat dilakukan dengan pendekatan karakteristik sistem Multi Agen. Kombinasiantara ketiga metode pengujian dapat dieksekusi secara independen dengan hasil yang baik,sehingga diharapkan berkontribusi positif guna mempercepat tahapan pengujian dalam
pengembangan perangkat lunak.
Kata kunciPengujian Perangkat Lunak, Sistem Multi Agen, Pengujian Otomatis.
AbstractSoftware testing is an important step in the software development. This is because the
software testing has a role in maintaining the quality of software which is resulted. Softwaretesting is commonly done by doing the test of the usage of software with certain test case. Thereare a lot of testing method that can be used. The testing with more than one method is needed tomaintain the software quality from some aspect that being focus on testing from each method.
In this research, the automated software testing system modelled in the multi agent
system approach. The developed multi agent system here consist of 1 Interface Agent, and 3Tester Agents. Interface Agent is an agent which has a role to distribute the testing task that will
be done. While, Tester Agent is an agent which role to do the testing execution, they are DataDriven Testing, White-box Testing and Black-box Testing.
From the testing done by the researcher, it is known that the automated software
testing system can be done by developed multi agent based system appropriately. Thecombination of the three methods can be executed independently with a good result. Hopefully
can give a positive contribution to fasten the testing step in software development.
KeywordsSoftware Testing, Multi-Agent System, Automated Testing.
mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected] -
7/26/2019 2. 336408_Publikasi
5/13
2
1. PENDAHULUAN
Perangkat lunak diartikan sebagai kumpulan instruksi yang membentuk suatu programkomputer yang apabila dijalankan akan memberikan hasil sesuai dengan target yang telahditentukan (Pressman, 2010). Kemajuan perkembangan perangkat lunak diberbagai bidang
kehidupan manusia menyebabkan ketergantungan manusia terhadap perangkat lunak semakinbesar (Yuan, 2011). Kondisi tersebut meningkatkan arti penting keberadaan perangkat lunakyang berkualitas baik dan reliable.
Pengujian perangkat lunak memegang peranan penting dalam menjaga kualitasperangkat lunak. Menurut Galin (2004) pengujian perangkat lunak atau software testing
diartikan sebagai proses formal dimana suatu perangkat lunak diuji dengan cara menjalankanperangkat lunak tersebut dalam komputer dan menjalankan prosedur serta kasus tertentu. Galin
(2004) menyatakan bahwa terdapat hubungan langsung yang erat antara pengujian perangkatlunak dengan kualitas perangkat lunak yang dihasilkan, sehingga pengujian perangkat lunakmenjadi tahapan yang sangat penting dalam siklus pengembangan perangkat lunak. Perry (2006)menyatakan bahwa sekitar 24% dari keseluruhan anggaran pengembangan perangkat lunak pada
sebagian besar proyek pengembangan perangkat lunak dialokasikan untuk pengujian perangkatlunak.
Dalam pengembangan perangkat lunak, tekanan untuk menyelesaikan perangkat lunakdengan cepat sering ditemui. Selain itu, perangkat lunak yang dikembangkan di era modernmemiliki kompleksitas yang tinggi, sehingga meningkatkan tingkat kesulitan dalam melakukanpengujian. Hal-hal tersebut seringkali menyebabkan manajer proyek memutuskan untukmengurangi aktivitas ataupun sumber daya yang diperlukan untuk melakukan pengujianperangkat lunak (Konka, 2011).
Pengujian perangkat lunak yang dilaksanakan dengan tidak sempurna tentu akanmembawa pengaruh yang kurang baik terhadap kualitas perangkat lunak yang dihasilkan.Pengujian perangkat lunak yang tidak efektif dan tidak lengkap dapat mengakibatkan berbagaimasalah ketika perangkat lunak tersebut digunakan oleh end-user (Catelani dkk., 2011).
Berawal dari kondisi tersebut, penelitian mengenai pengujian perangkat lunak saat ini mengarahpada bagaimana cara melakukan pengujian perangkat lunak yang mampu menjaga kualitasperangkat lunak dengan baik dengan sumber daya yang sedikit (Yuan, 2011).
Arti penting pengujian perangkat lunak yang mampu dilaksanakan dengan sedikit sumberdaya namun mampu menghasilkan perangkat lunak berkualitas baik, memunculkan ideotomatisasi pengujian perangkat lunak. Dustin dkk. (2008) mengartikan otomatisasi pengujianperangkat lunak sebagai proses pengujian perangkat lunak yang memanfaatkan perangkat lunaklain yang dirancang khusus untuk menjalankan tes pada suatu perangkat lunak danmembandingkan hasilnya dengan keluaran yang diharapkan.
Penelitian Catelani dkk. (2011) menunjukkan bahwa pengujian perangkat lunak secaraotomatis dapat meningkatkan efisiensi proses pengujian untuk mengidentifikasi bagian dariperangkat lunak yang rawan mengalami kegagalan. Pengujian perangkat lunak secara otomatis
bisa dilakukan dengan menggunakan berbagai metode pengujian perangkat lunak yang ada.Karakteristik ini memperluas area yang mampu diuji secara otomatis sehingga mampu
mengurangi beban dari penguji perangkat lunak. Sistem penguji perangkat lunak otomatis harusmampu melakukan berbagai pengujian dalam skala besar dan mampu diulang berkali-kali untuk
memastikan kualitas perangkat lunak yang diuji.Dalam teori pengujian perangkat lunak terdapat berbagai metode yang bisa digunakan
untuk melakukan pengujian, misalnya metode white-box testing dan metode black-box testing.Umumnya, sebuah metode pengujian perangkat lunak hanya mencakup sebuah area dalamperangkat lunak, misalnya data-driven testing hanya menguji kemampuan perangkat lunak
menerima dan mengolah data masukan. Sistem penguji perangkat lunak tentunya harus mampumenguji berbagai aspek dalam perangkat lunak sehingga penggunaan lebih dari satu metode
pengujian sangat diharapkan (Galin, 2004).
-
7/26/2019 2. 336408_Publikasi
6/13
3
Sistem berbasis agen merupakan teknologi yang sesuai untuk menyelesaikanpermasalahan yang kompleks dan dalam lingkungan yang terdistribusi (Dhavachelvan dan Uma,2005). Woolridge (2002) menyatakan bahwa salah satu karakteristik utama dari sistem berbasisagen adalah sifat otonom. Agen mampu memberikan reaksi berdasarkan berbagai masukan yangdiberikan lingkungan tanpa ada intervensi dari manusia. Penggunaan teknologi agen dalam hal
pengembangan perangkat lunak belum banyak dilakukan, hal ini disebabkan karena keunggulanteknologi agen belum dikenal secara luas (Dhavachelvan dan Uma, 2005). Sifat dari sistemberbasis agen yang otonom bisa dimanfaatkan dalam hal pengujian perangkat lunak untukmempermudah proses pengujian yang perlu dilakukan secara berulang dan otomatis denganberbagai skenario pengujian yang berbeda.
Kondisi yang dipaparkan pada uraian diatas memunculkan kebutuhan akan adanyasistem penguji perangkat lunak otomatis yang mampu melakukan berbagai pengujian pada
perangkat lunak yang kompleks dan mampu diulang berkali-kali untuk memastikan kualitasperangkat lunak yang diuji dengan sumber daya yang sedikit. Oleh karena itu dalam penelitianini diusulkan sebuah rancangan sistem pengujian perangkat lunak yang mengimplementasikanlebih dari satu metode pengujian dan mampu melakukan pengujian tersebut secara otomatis
dengan memanfaatkan teknologi sistem berbasis multi agen.
2. METODE PENELITIAN
Secara umum proses pengujian perangkat lunak berbasis web dilakukan denganmemeriksa kode program dari setiap halaman yang ada. Pada setiap halaman web umumnyamemiliki 3 hal yang harus lolos uji, yaitu formmasukan, struktur logika, dan fungsionalitaspada masing-masing halaman. Ketiga hal tersebut memiliki karakteristik yang berbeda,sehingga harus diuji dengan perlakuan dan metode yang berbeda pula.
Berdasarkan pengamatan yang dilakukan di perusahaan pengembang perangkat lunak PT.Gamatechno Indonesia, untuk setiap form masukan, disiapkan skenario masukan berupa testcase dengan berbagai kemungkinan masukan. Pengujian dengan menggunakan beragam
masukan data ini disebut data-driven testing.Struktur logika perangkat lunak akan diuji denganmetode white-box testing, sedangkan fungsionalitas halaman akan diuji dengan salah satumetode yang termasuk dalam black-box testing yaitu fungsional testingyang didasarkan padadokumen fungsional (function template) yang juga telah disiapkan. Ketiga pengujian yangdilakukan akan menghasilkan dokumen hasil pengujian berupa testing report. Ilustrasi darideskripsi pengujian ditampilkan pada Gambar 1.
Gambar 1. Deskripsi proses pengujian perangkat lunak
-
7/26/2019 2. 336408_Publikasi
7/13
4
Pada proses pengembangan perangkat lunak secara umum, pengujian perangkat lunakdilakukan oleh software tester. Pengujian yang dilakukan pada perangkat lunak yangdikembangkan oleh developer komersial umumnya didasarkan pada requirement yang diberikanoleh klien. Pengujian yang dilakukan lebih difokuskan pada pengujian fungsionalitas perangkatlunak dan data-driven testing. Pada saat melakukan pengujian fungsionalitas perangkat lunak,
seorang software tester akan mengacu pada sebuah dokumen yang mendeskripsikan fungsi-fungsi yang harus dimiliki sebuah perangkat lunak.
Pengujian dengan metode data-driven testing dilakukan oleh software tester dengancara memberi berbagai jenis masukan pada form masukan yang ada pada halaman tersebut.Dalam melakukan pembuatan test case, software tester akan membuat test case yang akan
diujikan dalam metode data-driven testing.Sementara itu, pengujian dengan metode black boxtesting dilakukan untuk menguji tautan aktif atau tidak, serta menguji apakah tautan yang ada
mengacu pada halaman yang sesuai atau tidak. Pengujian dengan metode white box dilakukandengan melakukan uji terhadap kode sumber dari sebuah perangkat lunak untuk mengetahuistruktur data internal dari aplikasi web yang diuji.
Dengan demikian sistem yang akan dikembangkan merupakan sistem pengujian
perangkat lunak yang dapat melakukan pengujian secara simultan terhadap perangkat lunakaplikasi menggunakan beberapa metode pengujian. Sebagaimana diuraikan dalam pendahuluan,aplikasi yang dijadikan objek penelitian adalah aplikasi berbasis web. Sesuai dengan hasilanalisis yang dilakukan, metode-metode pengujian yang digunakan dalam penelitian inimeliputi data-driven testing, black-box testing dan white-box testing.
Pengujian dengan berbagai metode pengujian diimplementasikan dengan sistem yangdikembangkan dengan pendekatan sistem multi agen yang terdiri dari 4 agen. Agen pertamaadalah interface agent dan tiga agen lainnya adalah agen penguji yang memiliki tugasmelakukan pengujian sesuai dengan metode pengujian yang sudah ditentukan yaitu data-driventesting, black-box testing dan white-box testing. Perangkat lunak aplikasi yang sedang diuji akandisebut application-under-test (AUT). Rancangan sistem disajikan pada Gambar 2.
Gambar 2. Rancangan umum sistem
Sebuah halaman web yang diajukan untuk diuji akan diterima oleh interface agent.Interface agent akan melakukan code reviewuntuk mendeteksi elemen-elemen yang diperlukanuntuk diuji, kemudian mendistribusikan tugas pengujian sesuai dengan fungsi masing-masingagen penguji. Pengujian dengan sistem yang dikembangkan akan dilakukan per halaman yang
ada pada web yang digunakan dalam penelitian. Tugas lain dari interface agent adalah mengatur
interaksi dengan pengguna sistem.
-
7/26/2019 2. 336408_Publikasi
8/13
5
Agen penguji terdiri dari tiga agen. Agen penguji pertama akan melakukan pengujianperangkat lunak dengan metode data-driven testing. Hal yang diuji oleh agen penguji pertamaadalah bagaimana perilaku perangkat lunak apabila menerima masukan data yang tidak sesuaidengan yang seharusnya diterima. Langkah pertama yang dilakukan oleh agen penguji pertamaadalah memeriksa masukan apa saja yang diperlukan pada halaman web tersebut. Langkah
kedua yang dilakukan agen penguji pertama adalah test case generation, dimana dalam tahap iniakan dihasilkan test case yang akan digunakan dalam pengujian. Test case yang dihasilkandalam proses test case generation akan diujikan terhadap halaman web dengan caramemasukkan nilai-nilai yang terdapat dalam test case ke input field yang terdapat pada halamanweb. Seluruh proses ini dilakukan secara otomatis oleh agen penguji.
Agen penguji kedua melakukan pengujian dengan metode white-box testing. White-boxtesting menguji struktur logika yang ada pada kode program. White-box testing dilakukan
dengan mengeksekusi instruksi-instruksi, kondisi maupun perulangan. Setiap agen penguji akanmemberikan laporan apakah halaman web yang diuji lolos tahap uji atau masih memerlukanperbaikan menurut pengujian yang dilakukan.
Agen penguji ketiga akan melakukan pengujian dengan metode black-box testing. Pada
metode black-box testing ini agen penguji kedua akan menguji fungsionalitas dari halaman web.Langkah pertama yang dilakukan setelah agen menerima halaman web yang akan diuji adalahmelakukan pengecekan dalam function template untuk mengetahui fungsionalitas yangdiharapkan bisa dilakukan oleh halaman web tersebut. Langkah kedua adalah membandingkankesesuaian tautan yang sudah ada pada halaman web dengan tautan yang tersimpan padafunction template
Ketiga agen penguji tersebut akan melakukan pengujian secara independen terhadapaplikasi yang diuji. Hasil akhir dari sistem akan berupa laporan hasil uji tersebut. Setiap agenpenguji akan memberikan laporan mengenai hasil pengujian yang dilakukan. Agen penguji akanmelaporkan apakah pada saat menerima masukan tertentu, perilaku perangkat lunak sesuaidengan yang diharapkan. Sebagai contoh, agen penguji pertama yang melakukan pengujiandengan metode data-driven akan melaporkan apakah perangkat lunak mampu bertindak sesuai
yang diharapkan untuk masing-masing test case yang diujikan.
3. HASIL DAN PEMBAHASAN
Hasil penelitian yang diperoleh akan diuraikan berdasarkan pencapaian tujuan utamapenelitian yaitu pembuatan sistem berbasis multi agen untuk pengujian perangkat lunak dengantiga metode pengujian. Tahapan akhir dari hasil penelitian ini, akan diuraikan pembahasanmengenai hasil evaluasi terhadap capaian penelitian. Evaluasi akan mencakup evaluasi terhadaphasil pengujian yang dilakukan oleh sistem, evaluasi terhadap karakteristik agen yangdiimplementasikan dalam sistem, serta evaluasi terhadap lingkungan (environment) dimana
agen bekerja.Berdasarkan observasi yang dilakukan di PT. Gamatechno, pengujian yang dilakukan
terhadap aplikasi berbasis web yang dibangun dilakukan untuk memastikan program aplikasiberjalan sesuai software requirement spesification (SRS) yang disepakati dengan pengguna.Setelah itu, pengujian terhadap aplikasi tersebut dilanjutkan dengan User Acceptance Test
(UAT) sebelum diserahterimakan kepada pengguna untuk digunakan. Hal ini senada denganbatasan penelitian ini yang pengujiannya fokus pada operability, observability dancontrollability. Ketiga metode pengujian yang dilakukan, masing-masing dapat menjaminketercapaian ketiga fokus pengujian tersebut. Sehingga diharapkan sistem pengujian berbasismulti agen ini dapat digunakan sebagai alat bantu pengujian sebelum tahap UAT dilaksanakan.
-
7/26/2019 2. 336408_Publikasi
9/13
6
Adapun mekanisme pelaksanaan pengujian oleh sistem berbasis multi agen diuraikanpada Tabel 1.
Tabel 1 Pelaksanaan pengujian oleh sistem multi agen
Agen Metode Pengujian Uraian TugasTarget luaran
(goal output)
Interface Agent -
Melakukan pembacaan terhadap
kode program dari halaman AUT
yang di ujiMelakukangenerate test case
Melakukan pendelegasian tugas
pengujian melalui pemanggilan
fungsi-fungsi pengujian
Menghasilkan
function templateMenghasilkan test
case
Agen Penguji
Black boxBlack box Testing
Melakukan pengujian black box
untuk menguji keaktifan tautan dan
kesesuaiannya dengan tautan target
Menghasilkan
laporan hasil
pengujian blackbox
Agen PengujiData Driven
Data Driven Testing Melakukan pengujian data drivendengan menguji form input dengan
test caseyang telah di-generate
Menghasilkan
laporan hasilpengujian data
driven
Agen PengujiWhite box
White box Testing
Melakukan pengujian white box
untuk menguji 4 aspek struktur
logika AUT meliputi :path,
kondisi, loop, dan struktur data
internal program.
Menghasilkan
laporan hasilpengujian white
box
Skenario pengujian dilakukan dalam 2 tahap, yaitu menguji seluruh menu dalam AUT1
dan beberapa menu dalam AUT2. Hasil pengujian yang diperoleh, kemudian akan dibandingkandengan hasil pengujian manual, untuk mengetahui kesesuaian hasil pengujian yang dilakukan.Evaluasi terhadap hasil pengujian oleh sistem dan pengujian manual terhadap AUT1 disajikan
pada Tabel 2.Tabel 2 Evaluasi hasil pengujian AUT 1
Pengujian oleh Sistem Pengujian Manual
Black box testing :Menguji 98 tautan, ditemukan
6 tautan tidak sesuai target pada menu RekamSurat Keluar. Lainnya aktif dan sesuai target
Black box testing : Menguji 54 tautan, seluruh
tautan aktif dan sesuai target, kecuali 6 tautanpada menu Rekam Surat Keluar
Data dr iven testingDari 5 kali pengisian form pada seluruh menu,
kecuali menu Daftar Surat.
Menghasilkan 110 baris laporan dan sesuai
dengan yang diinginkan.
Data dri ven testing : Dilakukan pengujian input
form pada semua menu kecuali menu Daftar
Surat, hasil sesuai dengan yang diinginkan.
Whi te box testing :
Dari 72 fungsi yang ditemukan pada seluruhmenu AUT1, keseluruhan fungsi berjalan dengan
baik.
Whi te box testing :
Menguji 19 fungsi untuk mengetahui struktur datainternal. Semua fungsi yang diuji berjalan dengan
baik.
Berdasarkan evaluasi pada Tabel 2, menunjukkan bahwa pengujian oleh sistem
dilakukan dengan secara lebih menyeluruh dibandingkan manual. Hal ini dapat diperhatikandari jumlah pengujian dan baris laporan yang lebih banyak dan ini sangat dimungkinkan karenapengujian manual biasanya dilakukan hanya dengan menguji sampel kasus uji yang mewakilisaja. Sementara dari hasil pengujian yang dilakukan, menunjukkan bahwa hasil pengujian yangdilakukan secara manual juga dilakukan oleh sistem (subset) dengan hasil yang sama/identik.
Hal yang sama juga ditemui pada pengujian terhadap AUT 2 yang hasil evaluasinya disajikanpada Tabel 3.
-
7/26/2019 2. 336408_Publikasi
10/13
7
Tabel 3 Evaluasi hasil pengujian AUT 2Pengujian oleh Sistem Pengujian Manual
Black box testing : Menguji 61 tautan yang
ditemukan pada menu Kota, Seluruh tautan aktif
dan sesuai target.
Black box testing : Menguji 4 tautan, seluruh
tautan aktif dan sesuai target.
Data dr iven testingDari 5 kali pengisian form pada menu Data Kota,
dihasilkan laporan sesuai dengan yangdiharapkan.
Data dri ven testing :
Dari 5 kali pengujian pada field Nama Kota dan
Propinsi dengan kombinasi input, menghasilkanoutput yang sesuai dengan target yang diinginkan.
Whi te box testing :Menguji 6 fungsi yang digunakan dalam
pengelolaan data kota. Semua fungsi berjalan
dengan baik.
Whi te box testing :Menguji 3 fungsi yang digunakan dalam
pengelolaan kota berdasarkan indikator
keberhasilan yang telah ditentukan. Semua fungsi
berjalan dengan baik.
Pengujian yang dilakukan oleh sistem memberikan hasil yang sama dengan pengujianmanual, bahkan pada beberapa kasus pengujian yang dilakukan oleh sistem memberikan hasilyang lebih rinci dibandingkan pengujian manual. Pada pengujian black box dapat ditunjukkan
bahwa pada pengujian manual hanya beberapa tautan saja yang diuji sebagai sampel, sedangkanpada pengujian yang dilakukan sistem seluruh elemen tautan yang ditemukan diuji secara
menyeluruh. Demikian juga pada pengujian data driven dan pengujian white box, pengujiansistem dapat melaporkan hasil uji yang lebih lengkap karena pengujian dilakukan terhadapseluruh elemen input dan fungsi yang ditemukan, sementara pada pengujian manual hanyadiambil sampel untuk pengujiannya.
Pengujian black box yang dilakukan sistem terhadap AUT 1 dan AUT 2 menunjukkan
hasil yang identik. Pada AUT 1, sistem melakukan pengujian terhadap 98 elemen tautan yangditemukan dan mendapati 6 tautan yang tidak sesuai target. Pengujian ini menunjukkan hasil
yang sama dengan pengujian manual yang hanya menguji 54 tautan sebagai sampel. Sementarapada AUT 2, sistem menguji 61 tautan yang mencakup keseluruhan 4 tautan yang diuji secaramanual dan menunjukkan hasil yang sama. Berdasarkan hasil pengujian black box ini,menunjukkan bahwa sistem berhasil menguji apakah AUT yang diuji dapat beroperasi denganbenar atau tidak. Sehingga dapat dikatakan bahwa sistem dapat menguji aspek operability dari
AUT yang diuji.Pengujian data driven yang dilakukan oleh sistem terhadap AUT1 dan AUT2
menunjukkan keberhasilan yang sama dengan pengujian manual. Hal ini juga menunjukkanbahwa pengujian oleh sistem dapat digunakan untuk membuktikan bahwa input yang diberikanakan menghasilkan output yang sesuai. Sistem dapat mengidentifikasi output yang tidak sesuai
serta dapat mengobservasi kesesuaian I/O dari AUT yang diuji. Dengan demikian aspekobservabilitypengujian AUT dapat dilakukan oleh sistem.
Senada dengan kedua pengujian sebelumnya, hasil pengujian white box oleh sistem jugamenunjukkan hasil yang sama dengan pengujian manual. Pengujian manual terhadap 19 fungsi
pada AUT 1 dan 3 fungsi pada AUT 2 menjadi subset dari pengujian yang dilakukan sistemterhadap 72 fungsi AUT 1 dan 6 fungsi AUT 2. Hasil pengujiannya menunjukkan hasil yangsama bahwa fungsi yang diuji dari kedua AUT dapat berjalan baik. Hal ini menunjukkan bahwaaspek controllability dari AUT dapat dijamin oleh sistem pengujian ini.
Beberapa karakteristik yang dimiliki oleh keempat agen dalam penelitian ini jikadidasarkan pada atribut dan karakteristik agen menurut Woolridge (2002) dapat dicermati padaTabel 4. Pada Tabel 4, disajikan berbagai karakteristik agen yang dimiliki. Agen dapatmelakukan tugas secara mandiri, meskipun khusus interface agent masih membutuhkaninteraksi dari pengguna pada saat memilih dan mendeskripsikan halaman web yang akan diuji.Agen juga telah memiliki kemampuan kontrol terhadap setiap aksi yang dilakukan sehinggadapat mencapai tujuan dalam melakukan tugasnya secara mandiri. Interface agent dapatmelakukan parsing terhadap baris program aplikasi yang diuji dan mendefinisikan data yang
diperlukan untuk proses pengujian. Sementara ketiga agen yang lain melakukan pengujian
-
7/26/2019 2. 336408_Publikasi
11/13
8
berdasarkan metode pengujian yang ditugaskan masing-masing dan menghasilkan laporan hasilpengujian yang dilakukan.
Tabel 4 Karakteristik yang dimiliki agenKarakteristik
Agen
Interface Agent Agen Penguji
Data Driven
Agen Penguji
Black-box
Agen Penguji
White-boxAutonomy Intelligence Reasoning - - - -
Learning - - - -
Mobility - - - -
Stationary Delegation Reactivity Proactivity - - - -
Goal Oriented Communication - - - -
CoordinationCapability
- - -
Agen memiliki pengetahuan internal berupa kemampuan diantaranya parsing danidentifikasi baris-baris program, melakukan generate terhadap test caseyang diperlukan, sertamelakukan pengujian terhadap baris-baris program dengan ketiga metode pengujian yang
ditugaskan. Namun demikian, agen belum memiliki kemampuan learning untuk beradaptasidalam perubahan lingkungan.
Interface agent bergerak dalam kerangka melakukan tugas yang diperintahkan olehpengguna untuk melakukanparsing terhadap baris program AUT yang dipilih. Sementara ketigaagen yang lain melakukan tugas pengujian terhadap AUT dengan metode pengujian yangditugaskan dan menghasilkan report hasil pengujian. Namun demikian, agen masihmembutuhkan interaksi dan informasi dari pengguna untuk memulai pengujian terhadap AUTyang ditentukan. Agen belum memiliki kemampuan untuk bisa beradaptasi terhadap perubahanlingkungan, sehingga belum proaktif dalam menyelesaikan permasalahan baru yang berbedadan belum didefinisikan. Namun demikian, agen yang ada telah dirancang untuk memiliki danselalu berorientasi pada tujuan yang jelas yakni melaksanakan pengujian terhadap AUT danmenghasilkan laporan hasil pengujian.
Aspek komunikasi antara agen dengan pengguna diakomodir dalam antarmukapengguna sistem. Sedangkan aspek komunikasi, koordinasi, dan kolaborasi antara agen denganagen lain masih terstruktur dan terkondisikan, dengan kata lain belum ada bahasa standar untukberkomunikasi dan berkoordinasi antar sesama agen didalam sistem.
Sistem agen yang dikembangkan terletak dan bertindak dalam lingkungan baris perintahprogram AUT. Dengan demikian sifat lingkungan sistem agen apabila dievaluasi berdasarkan
sifat-sifat lingkungan (environment) menurut Russell dan Norvig (2010) sebagai berikut :1) Accessibleversus inaccessible.
Lingkungan dari agen yang dikembangkan bersifat inaccessible karena agen bekerja padalingkungan baris perintah program dimana informasi yang diterima sudah lengkap, danterbatas pada AUT yang dihadapinya.
2) Deterministicversus non-deterministic.Keempat agen bekerja pada lingkungan yang deterministic karena lingkungan yang
dihadapi mengharuskan aksi apapun yang dilakukan agen penguji memiliki efek yang pasti,bahwa AUT yang diuji memiliki nilai keberhasilan atau tidak. Dengan demikian tidak ada
ketidakpastian mengenai keadaan yang akan dihasilkan dari keempat agen dalammelakukan tugasnya.
-
7/26/2019 2. 336408_Publikasi
12/13
9
3) Statis versus dinamis.Lingkungan yang dihadapi bersifat statis karena baris perintah dalam AUT tidak berubahmeskipun ada aksi yang dilakukan oleh agen.
4) Diskrit versus kontinu.Sifat keempat dari lingkungan yang dihadapi adalah diskrit, karena tindakan dan persepsi
yang ada pada baris perintah AUT tetap dan terbatas didalamnya.
4. KESIMPULAN
Dari hasil penelitian yang telah dilakukan dapat diambil beberapa kesimpulan sebagaiberikut :
1. Sistem pengujian perangkat lunak dengan pendekatan sistem multi agen yang dibangun,dapat menjalankan proses pengujian dengan metode data driven, black-box, dan white box
serta menghasilkan laporan hasil uji secara simultan.2. Keempat agen dapat melakukan tugasnya secara otonom dan berorientasi pada hasil yang
jelas.Interface Agent dapat melakukan code reviewuntuk mendeteksi elemen tautan, input
dan fungsi dari halaman AUT, serta melakukan test case generationuntuk digunakan dalampengujian elemen yang ditemukan. Sedangkan ketiga agen penguji dapat melaksanakan
pengujian terhadap AUT dan menghasilkan laporan hasil pengujian.3. Berdasarkan hasil evaluasi pengujian yang dilakukan oleh sistem memberikan hasil yang
sama dengan pengujian manual bahkan lebih lengkap karena menguji keseluruhan elemenyang ditemukan. Pengujian tautan oleh agen penguji black box dapat menjawab aspekoperability dari AUT yang diuji. Agen penguji data driven dapat memenuhi prinsip
pengujian observability. Sementara pengujian struktur data internal program oleh agenpenguji white box dapat memenuhi prinsip controllability.
5. SARAN
Penelitian yang dilakukan masih memerlukan penelitian lanjut dalam beberapa hal.
Berikut ini beberapa masalah yang masih dapat dikembangkan dalam penelitian ini :1. Dari segi cakupan pengujian, sistem pengujian berbasis multi agen ini dapat diperluas
dengan memperhatikan prinsip pengujian perangkat lunak lainnya seperti decomposability,simplicity,dan sebagainya, serta menerapkan metode pengujian perangkat lunak yang lain.
2. Sistem multi agen yang dibangun dapat dikembangkan dengan menambahkan kemampuanuntuk bisa beradaptasi terhadap perubahan lingkungan bahasa pemrograman yang berbeda.Sehingga agen dapat lebih proaktif dalam menyelesaikan permasalahan baru yang berbedadan belum didefinisikan.
DAFTAR PUSTAKA
[1] Pressman, R.S., 2010, Software Engineering: A Practitioner Approach7th ed., McGraw-
Hill, New York.
[2] Yuan, G., 2011, Study Of Implementation of Software Test Management System Based onWeb. 2011 IEEE 3rd International Conference on Communication Software and Networks,708711.
[3] Galin, D., 2004, Software Quality Assurance, Pearson Education, Inc., New Jersey.
[4] Perry, W.E., 2006,Effective Methods for Software Testing3rd ed., Wiley Publishing, Inc.,
Canada.
[5] Konka, B., 2011,A Case Study on Software Testing Methods and Tools, Tesis, Departmentof Computer Science and Engineering. University of Gothenburg, Gteborg, Sweden.
[6] Catelani, M., Ciani, L., Scarano, V.L. and Bacioccola, A., 2011, Software Automated
-
7/26/2019 2. 336408_Publikasi
13/13
10
Testing: A Solution to Maximize The Test Plan Coverage and to Increase SoftwareReliability and Quality in Use. Computer Standards & Interfaces, 33, 2, 152158.
[7] Dustin, E., Rashka, J. and Paul, J., 2008,Automated Software Testing: An Introduction,Management and Performance1st ed., Addison-Wesley, Upper Saddle River, New Jersey.
[8] Dhavachelvan, P. and Uma, G. V, 2005, Complexity Measures for Software Systems:
Toward Multi-agent based Software Testing. InProceeding of 3rdInternational Conferenceon Intelligent Sensing and Information Processing (ICISIP). Chennai, India, 1417.
[9] Woolridge, M., 2002,An Introduction to Multiagent Systems, John Wiley & Sons, Ltd.,Chicheste.
[10]Russell, S. and Norvig, P., 2010,Artificial Intelligence A Modern Approach3rd ed.,
Pearson Education, Inc., New Jersey.