2. 336408_Publikasi

download 2. 336408_Publikasi

of 13

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],

    [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.