• Tidak ada hasil yang ditemukan

Implementasi Karakteristik Sistem Multi-Agent Pada Pengujian Perangkat Lunak

N/A
N/A
Protected

Academic year: 2021

Membagikan "Implementasi Karakteristik Sistem Multi-Agent Pada Pengujian Perangkat Lunak"

Copied!
5
0
0

Teks penuh

(1)

Implementasi Karakteristik Sistem Multi-Agent Pada Pengujian Perangkat Lunak

Elly Antika*), Prawidya Destarianto**), Hendra Yufit Riskiawan***)

Politeknik Negeri Jember E-mail: *ellyantika.niam@gmail.com

,**destaryan@yahoo.com, ***hendra.yufid@gmail.com

Abstrak

Software pengujian memiliki peran penting dalam menjaga kualitasnya. Pentingnya menciptakan perangkat lunak berkualitas tinggi melalui pengujian perangkat lunak dengan menggunakan sumber daya yang minim dengan pengujian perangkat lunak otomatis. Otomatisasi pengujian perangkat dapat dilakukan dengan berbagai metode. Agen dapat menciptakan tanggapan berdasarkan masukan tanpa intervensi manusia. Sifat otonom sistem berbasis agen dapat digunakan pada pengujian perangkat lunak untuk menyederhanakan perulangan proses dan otomatisasi pengujian dengan berbagai skenario pengujian. Penelitian ini mengusulkan suatu sistem pengujian perangkat lunak yang menerapkan sistem teknologi berbasis multi agen. Multi agen cerdas yang dikembangkan terdiri dari empat agen, agen interface, agen unit testing, agen functional testing dan agen white-box testing. Semua agen akan memiliki kesamaan dalam hal keterampilan komunikasi, otonomi, dan berkolaborasi untuk mencapai tujuan dari sistem. Ke empat agen melakukan tugas mereka secara otonom dan memiliki orientasi hasil yang jelas. Berdasarkan hasil evaluasi uji yang dilakukan oleh sistem memberikan hasil yang sama dan bahkan lebih komprehensif dibandingkan dengan pengujian manual, karena kemampuannya untuk melakukan pengujian di seluruh elemen yang ditemukan. Sementara pengujian internal struktur data program dilakukan oleh agen white-box testing bisa menjawab prinsip-prinsip pengendalian

Kata kunci: multi-agent, software testing, hybrid testing.

1. PENDAHULUAN

Perangkat lunak diartikan sebagai kumpulan instruksi yang membentuk suatu program komputer yang apabila dijalankan akan memberikan hasil sesuai dengan target yang telah ditentukan [1]. Kemajuan perkembangan perangkat lunak diberbagai bidang kehidupan manusia menyebabkan ketergantungan manusia terhadap perangkat lunak semakin besar [2]. Kondisi tersebut meningkatkan arti penting keberadaan perangkat lunak yang berkualitas baik dan

reliable.

Perangkat lunak yang dikembangkan di era modern memiliki kompleksitas yang tinggi, sehingga meningkatkan tingkat kesulitan dalam melakukan pengujian. Hal tersebut seringkali menyebabkan manajer proyek memutuskan untuk mengurangi aktivitas ataupun sumber daya yang diperlukan untuk melakukan pengujian perangkat lunak [3]. Berawal dari kondisi tersebut, penelitian mengenai pengujian perangkat lunak saat ini mengarah pada bagaimana cara melakukan

pengujian perangkat lunak yang mampu menjaga kualitas perangkat lunak dengan baik dengan sumber daya yang sedikit [2]. Sistem berbasis agen merupakan teknologi yang sesuai untuk menyelesaikan permasalahan yang kompleks dan dalam lingkungan yang terdistribusi [4]. Woolridge [5] menyatakan bahwa salah satu karakteristik utama dari sistem berbasis agen adalah sifat otonom. Agen mampu memberikan reaksi berdasarkan berbagai masukan yang diberikan lingkungan tanpa ada intervensi dari manusia. Otomatisasi pengujian perangkat lunak diartikan sebagai sebagai proses pengujian perangkat lunak yang memanfaatkan perangkat lunak lain yang dirancang khusus untuk menjalankan tes pada suatu perangkat lunak dan membandingkan hasilnya dengan keluaran yang diharapkan [6].

Pengujian perangkat lunak secara otomatis dapat meningkatkan efisiensi proses pengujian untuk mengidentifikasi bagian dari perangkat lunak yang rawan mengalami

(2)

kegagalan. Pengujian perangkat lunak secara otomatis bisa dilakukan dengan menggunakan metode white-box testing, unit

testing dan functional testing. Karakteristik

yang dimiliki dari metode pengujian perangkat lunak ini memperluas area yang mampu diuji secara otomatis sehingga mampu mengurangi beban dari penguji perangkat lunak [7].

Sesuai dengan paparan diatas maka pada penelitian ini ingin menawarkan sebuah solusi pengujian perangkat lunak menggunakan metode Pengujian Hibrida dengan memanfaatkan pendekatan sistem multi agen untuk membangun sistem pengujian perangkat lunak otomatis. Tujuan dari penelitian ini adalah membangun sistem pengujian perangkat lunak otomatis dengan metode Pengujian Hibrida menggunakan pendekatan teknologi berbasis multi agen.

2. METODE PENELITIAN

Sistem pengujian perngkat lunak yang dikembangkan dalam penelitian ini merupakan sistem pengujian perangkat lunak multi agen yang terdiri dari 4 agen. Agen pertama adalah interface agent dan tiga agen lainnya adalah agen penguji yang memiliki tugas melakukan pengujian sesuai dengan metode pengujian yang sudah ditentukan yaitu unit testing, functional testing dan

white-box testing. Perangkat lunak yang

sedang diuji akan disebut

application-under-test (AUT). Rancangan sistem ditampilkan

pada Gambar 1.

AUT Test Result

Function Template Interface Agent Agent Penguji 1 Unit Testing Agent Penguji 2 White Box Testing

Agent Penguji 3 Functional

Testing Test Case Generation

Gambar 1. Rancangan arsitektur sistem

yang dikembangkan

Sebuah halaman web yang diajukan untuk diuji akan diterima oleh interface agent.

Interface agent akan mendistribusikan tugas

pengujian sesuai dengan fungsi masing-masing agen penguji. Pengujian dilakukan per halaman yang ada pada web yang digunakan dalam penelitian. Fungsi lain dari

interface agent adalah mengatur interaksi

dengan pengguna sistem.

Agen unit testing menguji bagaimana perilaku perangkat lunak apabila menerima masukan data yang tidak sesuai dengan yang seharusnya diterima. Agen white-box testing. Pada bagian ini akan menguji struktur logika yang ada pada kode program. Pengujian dilakukan dengan mengeksekusi instruksi-instruksi, kondisi maupun perulangan. Setiap agen penguji akan memberikan laporan apakah halaman web yang diuji lolos tahap uji atau masih memerlukan perbaikan menurut pengujian yang dilakukan.

Agen functional testing, pada bagian ini agen menguji fungsionalitas dari halaman web. Langkah-langkah pengujian: melakukan pengecekan dalam function template untuk mengetahui fungsionalitas dari halaman web yang diuji, membandingkan kesesuaian fungsi yang sudah ada pada halaman web dengan fungsi yang tersimpan pada function

template. Alur pengujian perangkat lunak

multi agen dapat dilihat pada gambar 2

.

Start Halaman Web

Pembagian Jenis Uji Data Uji Functional Testing Data Uji white-box Testing Data Uji Unit Testing Functional Testing White-box

Testing Unit Testing Hasil Uji Finish Test Case Functional Template

Gambar 2. Alur pengujian sistem

3. HASIL DAN PEMBAHASAN

3.1 Hasil

Berdasarkan observasi yang dilakukan di PT. Bali Orange Communication, pengujian dilakukan terhadap aplikasi berbasis web yang dibangun bertujuan untuk memastikan program aplikasi berjalan sesuai

(3)

software requirement spesification (SRS)

yang disepakati dengan pengguna. Selanjutnya, dilakukan pengujian terhadap aplikasi tersebut dengan User Acceptance

Test (UAT) sebelum diserahterimakan kepada

pengguna untuk digunakan. Sehingga diharapkan sistem pengujian berbasis multi agen ini dapat digunakan sebagai alat bantu pengujian sebelum tahap UAT dilaksanakan. Dalam penelitian ini, AUT yang digunakan sebagai objek pengujian adalah perangkat lunak berbasis web yang diperoleh dari PT. Bali Orange Communication. AUT yang dijadikan objek pengujian yaitu Sistem Pengarsipan Surat sebagai AUT1 dan Sistem Informasi Registrasi sebagai AUT2.

Tabel 1. Hasil pengujian perangkat lunak menggunakan multi agen pada AUT1. No Menu Pengujian oleh

Sistem Pengujian manual 1 Jenis Surat Functional Testing: Menguji 27 link, dari link hapus dan edit di masing-masing data yang ditampilkan. Semua

link hidup dan

sesuai target.

Functional Testing:

Menguji 9 link. Semua link hidup dan terdapat satu link yang tidak sesuai target.. Unit Testing: Menguji pengisian form sebanyak 3 kali. Pengujian terhadap input kosong tidak dilakukan. Hasil pengisian form

gagal pada saat kode jenis surat diisi dengan string yang tidak diijinkan. Unit Testing: Menguji pengisian form sebanyak 6 kali pengujian. Pengisian form

gagal apabila salah satu field input

kosong atau field kode jenis surat diisi dengan string yang tidak diijinkan.

White-box Testing:

Menguji struktur data internal dari

function yang digunakan pada pengelolaan jenis surat. Seluruh function berfungsi dengan baik. White-box Testing: Menguji function berdasarkan indikator keberhasilan yang telah ditentukan. Banyaknya function yang diuji sebanyak 5 function. Seluruh function berfungsi dengan baik 2. Hak Akses Functional Testing: Menguji 27 link, termasuk keseluruhan dari link hapus dan edit di masing-masing

data yang

ditampilkan. Semua

link hidup dan

sesuai target.

Functional Testing:

Menguji 9 link. Semua link hidup dan sesuai target. Link edit dan hapus data tidak diuji secara keseluruhan. Unit Testing: Menguji pengisian form sebanyak 3 kali. Pengujian Unit Testing: Menguji pengisian form sebanyak 6 kali pengujian.

No Menu Pengujian oleh Sistem Pengujian manual terhadap input kosong tidak dilakukan. Hasil pengisian form

gagal pada saat field

hak akses dan

keterangan diisi dengan string yang tidak diijinkan.

Pengisian form

gagal apabila field

input hak akses

kosong. Apabila

field keterangan kosong maka proses

simpan tetap

berhasil. Proses

simpan tetap

berhasil apabila field keterangan diisi dengan string yang tidak diijinkan.

White-box Testing:

Menguji struktur data internal dari

function yang digunakan pada pengelolaan jenis surat. Seluruh function berfungsi dengan baik. White-box Testing: Menguji function berdasarkan indikator keberhasilan yang telah ditentukan. Banyaknya function yang diuji sebanyak 5 function. Seluruh function berfungsi dengan baik 3. Rekam Surat Masuk Functional Testing: Menguji 11 link. Semua link hidup dan sesuai target.

Functional Testing:

Menguji 9 link. Semua link hidup dan sesuai target.

UnitTesting: Menguji pengisian form sebanyak 3 kali. Pengujian terhadap input kosong tidak dilakukan. Hasil pengisian form

gagal pada saat field nomor surat diisi dengan string yang tidak diijinkan. UnitTesting: Menguji pengisian form sebanyak 5 kali pengujian. Pengisian form

gagal apabila field

input nomor surat,

pengirim surat atau kota tampat surat diterbitkan kosong. Pengisian form juga mengalami kegagalan bisla field nomor surat diisi dengan string yang tidak diijinkan.

White-box Testing:

Menguji struktur data internal dari 12

function yang digunakan pada pengelolaan surat masuk. Seluruh function berfungsi dengan baik. White-box Testing: Menguji function berdasarkan indikator keberhasilan yang telah ditentukan. Banyaknya function yang diuji sebanyak 2 function. Seluruh function berfungsi dengan baik 4. Rekam Surat Keluar Functional Testing: Menguji 11 link. Semua link hidup namun 6 link tidak sesuai target.

Functional Testing:

Menguji 9 link. Semua link hidup namun 6 link tidak sesuai target. UnitTesting: Menguji pengisian form sebanyak 3 kali. Pengujian terhadap input kosong tidak dilakukan. Hasil pengisian form

gagal pada saat field

UnitTesting:

Menguji pengisian form sebanyak 5

kali pengujian.

Pengisian form

gagal apabila field

input nomor surat,

penerima surat atau kota tempat surat

(4)

No Menu Pengujian oleh Sistem

Pengujian manual

nomor surat diisi dengan string yang tidak diijinkan.

diterbitkan kosong. .

White-box Testing:

Menguji struktur data internal dari 12

function yang digunakan pada pengelolaan surat masuk. Seluruh function berfungsi dengan baik. White-box Testing: Menguji function berdasarkan indikator keberhasilan yang telah ditentukan. Banyaknya function yang diuji sebanyak 4 function. Seluruh

function berfungsi dengan baik.

Tabel 2. Hasil pengujian perangkat lunak menggunakan multi agen pada AUT2

No Me nu Pengujian oleh Sistem Pengujian manual 1 Kota Functional Testing: Menguji 61 link. Semua link hidup.

Functional Testing:

Menguji 4 link. Semua link hidup dan sesuai target.

UnitTesting: Dilakukan 3 kali pengujian untuk melakukan pengisian form. Pengujian terhadap masukan kosong tidak dilakukan. Proses input data gagal apabila nama atau kode kota diisi dengan karakter non alfa numerik.

UnitTesting:

Dilakukan 5 kali pengujian

pengisian form. Proses gagal apabila salah satu

field input baik kota maupun propinsi kosong. Proses juga mengalami

kegagalan apabila nama kota diisi dengan karakter non alfanumerik. White-box Testing: Menguji 6 function yang digunakan dalam pengelolaan data kota. Semua function berjalan dengan baik. White-box Testing: Menguji 3 function yang digunakan dalam pengelolaan kota berdasarkan indikator keberhasilan yang telah ditentukan. Semua function berjalan dengan baik.

3.2 Pembahasan berdasarkan evaluasi karakteristik sistem agen

Karakteristik yang dimiliki oleh keempat agen dalam penelitian ini berdasarkan atribut dan karakteristik agen menurut Woolridge [5] tertulis pada tabel 3.

Tabel 3. Karakteristik agen

Karakteristik Agen Interface Agent Agen Unit Testing Agen Function al testing Agen White-box Autonomy     Intelligence     Reasoning - - - - Learning - - - - Mobility - - - - Stationary     Delegation     Reactivity     Proactivity - - - - Goal Oriented     Communication - - - - Coordination Capability  - - -

Agen dapat melakukan tugas secara mandiri, memiliki kemampuan kontrol terhadap setiap aksi yang dilakukan sehingga dapat mencapai tujuan dalam melakukan tugasnya secara mandiri, memiliki pengetahuan internal berupa kemampuan

parsing dan identifikasi baris-baris program,

melakukan generate terhadap test case yang diperlukan, serta melakukan pengujian terhadap baris-baris program dengan ketiga metode pengujian yang ditugaskan. Namun agen belum memiliki kemampuan learning untuk beradaptasi dalam perubahan lingkungan.

Aspek komunikasi antara agen dengan pengguna diakomodir dalam antarmuka pengguna sistem. Sedangkan aspek komunikasi, koordinasi, dan kolaborasi antara agen dengan agen lain masih terstruktur dan terkondisikan, dengan kata lain belum ada bahasa standar untuk berkomunikasi dan berkoordinasi antar sesama agen didalam sistem.

4. KESIMPULAN

4.1 Kesimpulan

Dari hasil penelitian yang telah dilakukan dapat diambil beberapa kesimpulan. Yang pertama, sistem pengujian perangkat lunak dapat menjalankan proses pengujian dengan metode unit testing,

functional testing, dan white box secara

simultan. Yang kedua, karakteristik agen yang dimiliki memungkinkan agen melakukan tugasnya secara otonom dan berorientasi pada hasil yang jelas yakni melaksanakan pengujian terhadap AUT dan menghasilkan laporan hasil pengujian. Yang ketiga, berdasarkan hasil evaluasi pengujian yang dilakukan oleh sistem memberikan hasil

(5)

yang sama dengan pengujian manual, bahkan pada beberapa kasus pengujian didapatkan hasil yang lebih rinci dibandingkan pengujian manual.

5. DAFTAR PUSTAKA

[1]

Pressman, R.S., Software Engineering: A Practitioner Approach 7th ed., McGraw-Hill, New York, 2010.

[2] Yuan, G., Study Of Implementation of Software Test Management System Based on Web. IEEE 3rd International Conference on Communication Software and Networks, 708–711, 2011. [3] Konka, B., A Case Study on Software Testing Methods and Tools, Tesis, Department of Computer Science and Engineering. University of Gothenburg, Göteborg, Sweden, 2011.

[4] Dhavachelvan, P. and Uma, G. V, Complexity Measures for Software Systems: Toward Multi-agent based Software Testing. In Proceeding of 3rdInternational Conference on Intelligent Sensing and Information Processing (ICISIP). Chennai, India, 14–17, 2005.

[5] Woolridge, M., An Introduction to Multiagent Systems, John Wiley & Sons, Ltd., Chicheste, 2002.

[6] Dustin, E., Rashka, J. and Paul, J., Automated Software Testing: An Introduction, Management and Performance 1st ed., Addison-Wesley, Upper Saddle River, New Jersey. 2008. [7] Catelani, dkk., Software Automated

Testing: A Solution to Maximize The Test Plan Coverage and to Increase Software Reliability and Quality in Use. Computer Standards & Interfaces, 33, 2, 152–158. 2011.

[8] lshahwan, N. and Harman, M., Automated web application testing using search based software engineering, 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), 3– 12, 2011.

[9] Vengattaraman, T., Abiramy, S., Dhavachelvan, P. and Baskaran, R., An application perspective evaluation of multi-agent system in versatile environments. Expert Systems with Applications, 38, 3, 1405–1416, 2011 [10] Dan, W. and Song, M., Multi-agents

based for Humanistic Intelligent Class Scheduling System. In Proeeding of Third International Symposium on Information Science and Engineering. Shanghai, 476–480, 2010.

[11]Weiss, G., Multiagent Systems A Modern Approach to Distributed Modern Approach to Artificial Intelligence 3rd ed., MIT Press, Cambridge, Massachusetts, 2013

Gambar

Gambar 1. Rancangan arsitektur sistem  yang dikembangkan
Tabel 1. Hasil pengujian perangkat lunak  menggunakan multi agen pada AUT1.
Tabel 2. Hasil pengujian perangkat lunak  menggunakan multi agen pada AUT2  No  Me nu  Pengujian oleh Sistem   Pengujian manual  1  Kota  Functional  Testing:  Menguji  61  link

Referensi

Dokumen terkait

Hal ini sangat beralasn sebab pengaturan masalah pencurian ikan/ Illegal Fishing itu sendiri masih baru saja diatur dalam Hukum positif kita, dengan

Dengan array, kita bisa membuat variabel dengan tipe yang dinamis, dimana kita bisa menyimpan banyak data dalam satu variabel array... PHP

Percobaan berikut ini digunakan untuk melakukan pengaturan Intensitas Otomatis, dengan diberikan nilai referensi tertentu sebagai intensitas rata-rata.. Ubah-ubah

 Jika aktiva telah disusutkan dimasukkan ke dalam dasar investasi pada nilai buku bersih, maka profitabilitas unit usaha tersebut akan dinyatakan secara salah pada nilai buku

a) mengidentifikasi pasar-produk baru yang memberikan peluang bagi perusahaan. b) mengevaluasi pasar-produk yang sudah ada sebagai pedoman strategi. c) mengamati lingkungan

Berbagai pengertian di atas mengisyaratkan bahwa konsep good governance sesungguhnya sangat berkaitan dengan penyelenggaraan kekuasaan dan kewenangan negara baik

Perumusan masalah dalam penelitian ini adalah apakah ada pengaruh gaya kepemimpinan, kedisiplinan, dan etos kerja terhadap kinerja pegawai RSUD Kayen Kabupaten Pati

Tujuan penelitian ini adalah untuk mendeskripsikan dan menganalisa bagaimana Partisipasi Rumah Tangga Sangat Miskin (RTSM) dalam Program Keluarga Harapan (PKH)