• Tidak ada hasil yang ditemukan

Pembangunan Kakas Bantu Pembangkitan Kasus Uji Black-Box Berdasarkan Skenario Penggunaan Sistem

N/A
N/A
Protected

Academic year: 2022

Membagikan "Pembangunan Kakas Bantu Pembangkitan Kasus Uji Black-Box Berdasarkan Skenario Penggunaan Sistem"

Copied!
6
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Universitas Brawijaya 5674

Pembangunan Kakas Bantu Pembangkitan Kasus Uji Black-Box Berdasarkan Skenario Penggunaan Sistem

Laode Muhamad Fauzan1, Bayu Priyambadha2, Arief Andy Soebroto3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]

Abstrak

Umumnya, pengujian perangkat lunak dibagi menjadi 3 fase, yaitu pembuatan kasus uji, eksekusi kasus uji dan evaluasi pengujian. Pengujian perangkat lunak adalah proses yang memakan waktu dan sumber daya yang banyak. Salah satu cara untuk mengurangi waktu dan usaha pada pengujian adalah dengan melakukan otomatisasi pada pembuatan kasus uji. Kasus uji dapat diturunkan dari skenario penggunaan sistem. Kasus uji ini disebut kasus uji black-box. Skenario penggunaan sistem yang akan dipakai adalah skenario dengan format Cockburn. Untuk mentransformasi skenario penggunaan sistem, penelitian ini menggunakan pemrosesan bahasa alami dan model EFSM (Extended Finite State Machine). Pemrosesan bahasa alami akan digunakan untuk membangun tabel aktivitas. Tabel aktivitas akan dimodelkan dengan EFSM dan kemudian ditelusuri untuk menghasilkan kasus uji. Kakas bantu dibangun dengan teknologi Java yang memungkinkan sistem dapat dijalankan pada platform yang mendukung JRE (Java Runtime Environment). Kakas bantu pembangkitan kasus uji diuji menggunakan pengujian unit, pengujian integrasi, dan pengujian validasi. Pengujian unit dan pengujian integrasi dilakukan dengan menggunakan metode whitebox dan pengujian validasi dengan menggunakan black-box. Sistem dapat mengenerasi kasus uji dari 20 use case scenario dalam waktu kurang dari 120 detik.

Kata kunci: pengujian, kasus uji black-box, Java, Extended Finite State Machine, pemrosesan bahasa alami Abstract

Generally, testing consist of 3 phase,specifically generate test case, execute test case, and evaluate the testing result. Software testing is a process that expend a lot in both time and resources. One way to reduce the time and resources is by automate the test case generation. Test case can be derived from use case scenario. This kind of test case is called black-box test case. Use case scenario has many different formats, this paper will use the Cockburn format. In order to transform the use case scenario.

This research use natural language processing and EFSM (Extended Finite State Machine) model.

Natural language processing will be used for generating activity table. The activity table will modeled with EFSM and tranversed to produce a test case. This research will develop the tool using java that allows the tools to run on platform that supports JRE (Java Runtime Environment). The tools is tested using unit testing, integration testing, and validation testing. Unit and integration will be conducted with whitebox method, while validation testing is done using black-box method. The tool can generate test case from 20 use case scenario in less than 120 seconds.

Keywords: automation, testing, black-box test case, Java, extended finite state machine, natural language processing

1. PENDAHULUAN

Pengujian perangkat lunak dapat didefinsikan sebagai cara untuk memastikan kebenaran dari implementasi sebuah sistem dengan melakukan percobaan pada sistem

tersebut (Jiang & Ding, 2011). Umumnya, pengujian perangkat lunak dibagi menjadi 3 fase, yaitu pembuatan kasus uji, eksekusi kasus uji dan evaluasi pengujian (Shanti & Kumar, 2012). Menurut Meiliana et al. (2017) Fase pengujian sistem menjadi aktivitas yang memakan waktu.

(2)

Salah satu cara untuk mengurangi usaha dalam pengujian dan memastikan efektivitas dari pengujian adalah dengan mengenerasi kasus uji dari kebutuhan fungsional selama fase rekayasa kebutuhan, sebuah fase awal dari pengembangan perangkat lunak (Hue et al., 2018). Namun, kebutuhan fungsional perangkat lunak seringkali berubah, sehingga kasus uji sistem harus dibangun dan dieksekusi ulang (Hue et al., 2018). Oleh karena itu, otomatisasi dari pembuatan kasus uji dapat memangkas waktu yang perlukan untuk melakukan pembuatan kasus uji.

Untuk melakukan otomatisasi pembangkitan kasus uji black-box dibutuhkan kebutuhan fungsional sistem yang umumnya direpresentasikan dalam sebuah use case (kasus penggunaan). Namun salah satu kelemahan dari kasus penggunaan sistem adalah bahasanya yang tidak terikat aturan sehingga memiliki sintaks dan semantic yang tidak beraturan, sehingga menjadi dasar yang buruk untuk membangun model formal (Jiang & Ding, 2011). Untuk mengatasi hal tersebut, kasus penggunaan sistem yang digunakan pada penelitian ini adalah format kasus penggunaan Cockburn’s (Cockburn, 2001). Format kasus penggunaan cockburn’s yang akan digunakan dalam penelitian kakas bantu pembangkitan kasus uji selanjutnya akan disebut sebagai skenario penggunaan sistem.

Berdasarkan permasalahan yang ada, penelitian ini akan membangun kakas bantu untuk membangkitkan kasus uji. Penelitian ini akan menggunakan pemrosesan bahasa alami yang merupakan metode untuk menerjemahkan bahasa alami manusia sehingga dapat dipahami oleh komputer. Selain itu penelitian ini akan menggunakan model EFSM karena model tersebut sering digunakan sebagai input untuk verifikasi sistem yang didasari oleh model, serta model ini banyak digunakan untuk pengujian yang didasari oleh model (Petrenko, Boroday and Groz, 2004).

2. METODE PEMBANGKITAN KASUS UJI

2.1 Use Case Cockburn

Deskripsi dari kemungkinan urutan interaksi antara sistem yang sedang dibahas dan aktor eksternal,yang berkaitan dengan tujuan tertentu merupakan definisi dari use case

(Cockburn, 2001). Dalam penelitian ini,format use case Cockburn disebut sebagai skenario penggunaan sistem karena didalam format tersebut terdapat skenario dalam menggunakan sistem. Use case Cockburn terdiri dari (Cockburn,2001):

1. Use case: Deskripsi dari kemungkina urutan interaksi antara sistem yang dibahas dan aktor,yang berhubungan dengan tujuan tertentu.

2. Precondition: Sesuatu yang harus terjadi sebelum suatu use case dapat dimulai.

3. SuD: Sistem yang sedang dibahas.

4. Primary actor: Aktor eksternal yang tujuannya berusaha dicapai oleh use case,serta aktor yang menginisiasi suatu use case.

5. Main scenario: Skenario utama yang dipilih sebagai dasar dari skenario suatu use case.

6. Extension: Extension berguna untuk menyatakan bahwa apa yang dilakukan sistem akan berbeda atau dengan kata lain extension adalah percabangan dari main skenario.

7. Variations: Variations berfungsi menjelaskan perbedaan teknologi atau metode yang digunakan, namun pada dasarnya fungsi utamanya tetap sama.

2.2 Tabel Aktivitas

Untuk membuat model EFSM dari use case scenario kita harus melakukan ekstraksi data aktivitas dari setiap use case scenario (Jiang dan Ding, 2011). Ektraksi data dilakukan dari hasil POS Tagging use case scenario dengan format cockburn. POS Tagging dilakukan dengan menggunakan pustaka StandfordNLP. Menurut Jiang dan Ding (2011), tabel aktivitas memiliki kolom sebagai berikut.

1. No: Urutan aktivitas dari use case scenario

2. Activity-Name: Hasil ekstraksi aktivitas dari use case scenario,sebelum ekstraksi dilakukan,berkas use case scenario akan diolah dengan Standford Parser dan hasilnya adalah sebuah berkas use case scenario dengan kata yang sudah memiliki Tag.

3. Sender: Aktor yang mengirimkan pesan pada step dari use case scenario.

(3)

4. Receiver: Aktor yang menerima pesan pada step dari use case scenario.

5. A-Condition: Kondisi prasyarat yang harus dipenuhi jika suatu aktivitas akan dijalankan, aktivitas pada extension atau variations pasti memiliki A-Condition.

Pada tabel aktivitas A-Condition pada aktivitas pertama selalu merupakan precondition dari use case scenario.

2.3 Extended Finite State Machine

Sebuah Extended Finite State Machine terdiri dari state, variabel, dan transisi antar state. Umumnya sebuah transisi memiliki predikat / penjagaan dan aksi atas variabel yang predikat harus penuhi agar sebuah transisi dapat dijalankan dan selanjutnya aksi yang terkait akan dieksekusi (Kalaji, Hierons dan Swift, 2009).

Modifikasi dari Finite State Machine yang digunakan pada penelitian ini akan menambahkan variabel local dan mengaktifkan predikat boolean untuk transisi state. Predikat yang berasosiasi dengan transisi harus bernilai true sebelum transisi dapat terjadi (Jiang dan Ding, 2011). EFSM yang digunakan pada penelitian ini memiliki 6-Tuple M = (S, S0 , I, O, T, V):

S = Himpunan state yang tidak kosong S0 = Status/state awal dari sistem

I = Himpunan interaksi yang tidak kosong O = Himpunan interaksi keluaran yang tidak

kosong

T = Himpunan transisi yang tidak kosong V = himpunan variabel yang

merepresentasikan predikat

Lingkaran pada model EFSM menyatakan state. Garis panah menunjukan transition dari satu state ke state yang lain. Predicate dapat dilihat pada transisi yang terdapat kata cond-n, hal ini menandakan transisi baru dapat terjadi jika kondisi dari cond-n terpenuhi. Semua model EFSM selalu diawali dengan start state dan state tersebut selalu memiliki predicate yang merupakan precondition dari suatu use case scenario.

Berikut adalah contoh EFSM model:

Gambar 1. Contoh Model EFSM 3. METODOLOGI PENELITIAN

Pada bab metodologi akan dibahas mengenai prosedur dalam pelaksanaan penelitian. Ada 6 fase utama pada penelitian ini.

Fase tersebut mencangkup studi literatur, rekayasa kebutuhan sistem, perancangan, implementasi, pengujian, hingga tahap terakhir yaitu penarikan kesimpulan dan saran.Untuk langkah-langkah penelitian lebih jelasnya dapat dilihat pada gambar 2.

3.1 Studi Literatur

Pembangunan kakas bantu pembangkitan kasus uji black-box memiliki studi literatur yang berasal dari buku, artikel, jurnal dan penelitian terdahulu yang berhubungan dengan pembangunan kakas bantu pembangkitan kasus uji black-box.

(4)

Gambar 2. Diagram Alir Metode Penelitian

3.2 Rekayasa Kebutuhan

Rekayasa kebutuhan bertujuan uuntuk menggali semua kebutuhan yang diperlukan dari kakas bantu pembangkitan kasus uji.

Proses dari rekayasa kebutuhan adalah sebagai berikut:

1. Analisis Kebutuhan

Informasi dan data yang akan menjadi kebutuhan pada penelitian kakas bantu pembangkitan kasus uji black-box akan dikumpulkan pada fase ini. Analisis kebutuhan kakas bantu pembangkitan kasus uji black-box dilakukan dengan menganalisis penelitian dari (Jiang & Ding, 2011) yang berjudul Automation of Test Case Generation From Textual Use Cases.

2. Spesifikasi Kebutuhan

Pengelompokkan kebutuhan menjadi kebutuhan fungsional dan kebutuhan non- fungsional pada pembangunan kakas bantu pembangkitan kasus uji black-box.

3. Manajemen Kebutuhan

Pada pembangunan kakas bantu pembangkitan kasus uji black-box dilakukan pengkodean masing-masing kebutuhan yang sudah dispesifikasikan sebelumnya.

4. Pemodelan Kebutuhan

Penelitian kakas bantu pembangitan kasus

uji black-box dilakukan dengan pendekatan berorientasi objek dan menghasilkan use case diagram dan use case scenario.

3.3 Perancangan

Perancangan pada pembangunan kakas bantu pembangkitan kasus uji mengunakan perancangan berorientasi objek. Pada perancangan berorientasi objek, peneliti akan menggunakan class diagram dan sequence diagram untuk merancang arsitektur sistem.

Selain arsitektur sistem juga terdapat perancangan komponen, yaitu perancangan algoritme komponen dengan diambil 5 sampel algoritme yang dirancang. Tahap perancangan yang terakhir adalah perancangan antarmuka dari kakas bantu pembangkitan kasus uji black- box.

3.4 Implementasi

Pada pembangunan kakas bantu pembangkitan kasus uji black-box, bahasa pemrograman Java digunakan sebagai bahasa pemrogramannya. Implementasi yang dilakukan pada pembangunan kakas bantu pembangkitan kasus uji black-box adalah implementasi kode program yang didasari dari hasil rancangan dan implementasi antarmuka yang dilakukan menggunakan JavaFX.

3.5 Pengujian

Pengujian yang dilakukan pada kakas bantu pembangkitan kasus uji black-box, yaitu pengujian validasi, integrasi, unit, dan performa. Pengujian integrasi dan unit pada pembangunan kakas bantu pembangkitan kasus uji black-box menggunakan pendekatan white- box testing sedangkan black-box testing akan digunakan pada pengujian validasi dalam pembangunan kakas bantu pembangkitan kasus uji black-box. Basis Path Testing (BPT) dipilih untuk melakukan pengujian unit dan integrasi pada pembangunan kakas bantu pembangkitan kasus uji black-box. Pengujian performa akan mengukur waktu yang dibutuhkan untuk membangkitkan kasus uji.

3.6 Penarikan Kesimpulan dan Saran

Kesimpulan ditarik untuk memberikan jawaban terhadap permasalahan yang telah dibangun. Tahap terakhir dari pembangunan kakas bantu pembangkitan kasus uji black-box

(5)

berisi saran yang berkaitan dengan penelitian di masa depan yang berkaitan dengan pembangunan kakas bantu pembangkitan kasus uji black-box.

4. HASIL DAN PEMBAHASAN

Sistem yang dibagun dalam penelitian ini adalah sebuah perangkat lunak dengan judul

“Kakas Bantu Pembangkitan Kasus Uji Black- Box Berdasarkan Skenario Penggunaan Sistem”. Tujuan utama dari kakas bantu pembangkitan kasus uji black-box adalah menghasilkan kasus uji black-box. Masukan pada kakas bantu adalah skenario penggunaan sistem dengan format Cockburn. Masukan berupa file teks dan keluaran sistem berupa file teks.

Gambaran umum kakas bantu dapat dilihat pada Gambar 3.

Gambar 3. Gambaran Umum Sistem

Pada use case diagram pembangunan kakas bantu pembangkitan kasus uji black-box terdapat satu aktor, yaitu Pengguna. Aktor Pengguna dapat menggunakan tiga fitur yang ada pada sistem. Pemodelan use case diagram dapat dilihat pada Gambar 4:

Gambar 4. Use Case Diagram

Pada perancangan kakas bantu bantu pembangkitan kasus uji black-box terdapat perancangan arsitektur yang menghasilkan tiga sequence diagram yang didapat dari tiga kebutuhan dan sembilan class pada class diagram. Selain itu terdapat rancangan komponen yang berisi lima perancangan algoritme. Pada perancangan antarmuka kakas bantu pembangkitan kasus uji black-box dihasilkan lima perancangan antarmuka.

Gambar 5. Implementasi Antarmuka Terdapat lima implementasi algoritme yang disesuiakan dengan perancangan algoritme. Implementasi antarmuka dilakukan dengan menggunakan JavaFX setelah Penelusuran Model EFSM

Kasus Uji POS-Tagging Text

Tabel Aktivitas

Model EFSM Use Case Cockburn

Cockburn Start

End

(6)

implementasi kakas bantu pembangkitan kasus uji black-box dilakukan, sistem berhasil menghasilkan kasus uji black-box. Pada hasil kasus uji terdapat nama use case, jumlah kasus uji yang dihasilkan, kondisi alternatif dari suatu use case, dan hasil kasus uji black-box.

Hasil pengujian unit, pengujian integrasi, dan pengujian validasi pada kakas bantu pembangkitan kasus uji black-box menghasilkan hasil yang sesuai dengan tujuan.

Untuk pengujian unit dihasilkan 15 kasus uji.

Dari pengujian unit, didapat bahwa setiap jalur independen pada kakas bantu pembangkitan kasus uji black-box yang diujikan akan dijalankan setidaknya satu kali. Untuk pengujian integrasi dengan metode big-bang dihasilkan 9 kasus uji. Pada pengujian integrasi, ketiga unit yang diuji pada kakas bantu pembangkitan kasus uji black-box bekerja bersama-sama dan berinteraksi dengan tepat.

Pada pengujian validasi terdapat 7 kasus uji.

Pada pengujian validasi, didapat bahwa semua skenario pada kakas bantu pembangkitan kasus uji black-box dapat diuji dan mengahasilkan hasil uji yang sesuai dengan yang diharapkan.

Pengujian performa yang berlandaskan pada kebutuhan non-fungsional bernilai valid karena berhasil mengenerasi kasus uji kurang dari 2 menit.

5. KESIMPULAN

Dari analisis kebutuhan, perancangan, implementasi, dan pengujian yang telah dilakukan pada pembangunan kakas bantu pembangkitan kasus uji black-box, maka dapat ditarik kesimpulan bahwa:

1. Proses rekayasa kebutuhan pembangunan kakas bantu pembangkitan kasus uji black- box diperoleh tiga kebutuhan fungsional, yaitu memasukkan berkas skenario penggunaan, mengenerasi kasus uji, dan membuka berkas kasus uji. Satu kebutuhan non fungsional pada pembangunan kakas bantu pembangkitan kasus uji black-box adalah kebutuhan performa, yaitu sistem harus mampu mengenerasi kasus uji dalam waktu kurang dari 2 menit.

2. Perancangan kakas bantu pembangkitan kasus uji black-box menghasilkan perancangan arsitektur berupa rancangan sequence diagram dan class diagram. Selain perancangan arsitektur, terdapat perancangan komponen yang berisi

perancangan 5 algoritme dalam bentuk 5 buah pseudocode dan perancangan antarmuka yang menghasilkan 5 rancangan antarmuka sistem. Hasil rancangan selanjutnya akan diimplementasikan dengan bahasa pemrograman berorientasi objek.

3. Semua fase pengujian yang dilakukan dari unit hingga performa menghasilkan status valid dari setiap kasus uji yang dibuat. Hasil dari pengujian performa dapat memenuhi manfaat dari penelitian yaitu untuk mempersingkat waktu yang dibutuhkan dalam pembuatan kasus uji.

6. DAFTAR PUSTAKA

Cockburn, A. 2001, Writing Effective Use- Cases , Addison-Wesley.

Hue, C.T.M., Hanh, D.D. and Binh, N.N. 2018.

A Transformation-Based Method for Test Case Automatic Generation from Use Cases. 2018 10th International Conference on Knowledge and Systems Engineering (KSE), hal.252–257.

Jiang, M. and Ding, Z. 2011. Automation of test case generation from textual use cases.

Icis, hal.102–107.

Kalaji, A.S., Hierons, R.M. and Swift, S. 2009.

A search-based approach for automatic test generation from Extended Finite State Machine (EFSM). TAIC PART 2009 - Testing: Academic and Industrial Conference - Practice and Research Techniques, hal.131–132.

Meiliana, Septian, I., Alianto, R.S., Daniel, Gaol, F.L., 2017. Automated Test Case Generation from UML Activity Diagram and Sequence Diagram using Depth First Search Algorithm, [e-journal] 116, 629 - 637.

Petrenko, A., Boroday, S. and Groz, R. 2004.

Confirming configurations in EFSM testing. IEEE Transactions on Software Engineering, 30(1), hal.29–42.

Shanthi, V.K.A., Mohankumar, G. 2012. A Novel Approach for Automated Test Path Generation using TABU Search Algorithm, 48, 28–34.

Gambar

Gambar 1. Contoh Model EFSM  3.  METODOLOGI PENELITIAN
Gambar 2. Diagram Alir Metode Penelitian
Gambar 5. Implementasi Antarmuka  Terdapat  lima  implementasi  algoritme  yang  disesuiakan  dengan  perancangan  algoritme

Referensi

Dokumen terkait

Berdasarkan jawaban yang diperoleh dari 33 responden yang merupakan nasabah asuransi jiwa syariah PT Asuransi Takaful cabang Semarang, dilakukan analisis dengan

Pada skenario 3 ini, disimulasikan kapal KM Suryajaya yang dicurigai sebagai kapal Pada skenario 3 ini, disimulasikan kapal KM Suryajaya yang dicurigai sebagai kapal yang

Hal ini sejalan dengan pendapat yang dikemukakan oleh Ibrahim dan Syaodih (2010:112) yang menyatakan bahwa media adalah segala sesuatu yang dapat digunakan untuk

Untuk calon peserta yang telah mendapat Undangan/Panggilan mengikuti tahapan seleksi maka untuk b iaya transportasi dan akomodasi termasuk penginapan dan komsumsi

Pada penelitian ini menggunakan jenis penelitian model eksperimental yang bertujuan untuk membangun aplikasi mobile berbasis android untuk membantu pemesanan menu

Yang dimasukkan ke dalam pos ini adalah aset yang diperoleh bank pelapor baik melalui pelelangan maupun diluar pelelangan berdasarkan penyerahan secara sukarela

Skripsi berjudul Ancaman Polusi Lingkungan China Terhadap Human Security di Jepang telah diuji dan disahkan oleh Fakultas Ilmu Sosial dan Ilmu Politik

Dari hasil penelitian yang dilakukandapat disimpulkan bahwa rata-rata jumlah tanggungan kepala keluarga pengrajin gerabah yang beralih mata pencaharian menjadi