Last Updated on March 15, 2023 by
Stabilitas adalah salah satu faktor penting dalam berjalannya aplikasi, apalagi seiring dengan makin mudahnya akses ke informasi dan perangkat lunak yang dapat membantu tugas sehari-hari. Jangan sampai saat aplikasi web Anda sedang digunakan oleh banyak pengguna, aplikasi tersebut malah kewalahan menangani seluruh permintaan sehingga tidak bisa diakses. Dampaknya selain membuang waktu pengguna juga bisa membuat Anda kehilangan pelanggan. Maka dari itu, sangat penting untuk melakukan pengujian sebelum sebuah aplikasi web dilepas ke publik. Ada banyak jenis pengujian, salah satunya adalah load test yaitu pengujian untuk mengukur kemampuan sistem di bawah beban (load) tertentu. Kali ini kita akan membahas JMeter Apache, sebuah alat yang dapat menguji dan mengukur performa aplikasi web. Penasaran? Yuk disimak selengkapnya!
Table of Contents
Apa itu Apache JMeter?
JMeter Apache adalah software untuk melakukan pengujian non-fungsional aplikasi web. Jenis pengujian yang didukung yaitu performance test, load test dan stress test. JMeter adalah aplikasi Java bersifat open-source. Pada awalnya JMeter digunakan untuk menguji aplikasi web serta FTP, namun saat ini sudah memiliki kemampuan untuk menguji database, server, dan fasilitas lain.
Apache JMeter dapat digunakan untuk menguji performa dari aplikasi bersifat statis maupun dinamis. Kegunaan Apache JMeter yang terkenal adalah mampu mensimulasikan beban yang berat (heavy load) pada satu atau sekelompok server, jaringan, atau objek untuk mengetahui seberapa kuat performa yang bisa dihasilkan diengan beban yang diberikan. Misalnya, pengujian suatu server dalam menghadapi permintaan dari ribuan hingga jutaan pengguna sekaligus dalam satu waktu.
Sebelum membahas Apache JMeter lebih lanjut, mungkin kita perlu membahas jenis-jenis pengujian pada aplikasi. Pengujian aplikasi atau situs web dapat dibagi menjadi functional dan non functional testing. Functional testing adalah pengujian keseluruhan fungsi dan mekanisme di dalam aplikasi untuk memastikan segala input yang dimasukkan menghasilkan output yang diharapkan. Sedangkan non functional testing adalah pengujian aplikasi di luar segi fungsi dan fitur-fiturnya, dengan tujuan untuk memastikan aplikasi memiliki performa yang baik dan dapat berjalan tanpa hambatan. Pengujian non fungsional dilakukan setelah pengujian fungsional terselesaikan. Contoh pengujian fungsional yaitu memastikan fungsi login dan tombol-tombol di dalam aplikasi memberi respon yang sesuai. Sedangkan contoh pengujian non fungsional misalnya memastikan aplikasi masih bisa berjalan dengan lancar sekalipun banyak pengguna yang mengaksesnya.
Jenis-jenis pengujian fungsional seperti unit testing, integration testing dan regression testing. Adapun yang termasuk pengujian non fungsional seperti performance testing, stress testing, dan load testing. Performance testing adalah pengujian yang mengukur aspek kecepatan aplikasi dalam merespon perintah pengguna, skalabilitas atau kapasitas maksimal suatu aplikasi dapat melayani dengan optimal, dan stabilitas yaitu kelancaran jalannya aplikasi dalam berbagai kondisi. Adapun load test adalah pengujian sistem untuk mengetahui bagaimana performa sistem tersebut saat ada beban yang diberikan, dan stress test dilakukan untuk mengetahui seberapa kuat daya tahan sistem dengan upaya untuk merusaknya. Nah, JMeter Apache ini termasuk perangkat lunak untuk pengujian non fungsional, terutama load testing.
Perlu dicatat bahwa Apache JMeter saat ini hanya bisa digunakan untuk pengujian aplikasi web, belum bisa digunakan untuk aplikasi desktop. Selain itu, Apache JMeter bukan termasuk browser sehingga tidak dapat menjalankan kode JavaScript yang terdapat dalam halaman HTML.
Cara kerja JMeter Apache
JMeter bekerja selayaknya sekelompok pengguna yang mengakses dan membuat permintaan ke suatu server. Selanjutnya JMeter akan mencatat respon dari permintaan tersebut serta statistik terkait performa aplikasi dalam menangani permintaan (request) yang dikirimkan.
Berikut adalah tahapan cara kerja JMeter:
- Pengguna akan meminta (membuat request) untuk terhubung ke suatu server. JMeter akan mensimulasikan seolah-olah ada sekian banyak jumlah pengguna yang membuat request.
- Server akan menerima request tersebut lalu meresponnya.
- JMeter akan mencatat semua responseyang diberikan.
- JMeter lalu mengumpulkan dan menghitung untuk pencatatan statistik.
- Kembali ke tahapan pertama hingga pengujian selesai.
- Setelah selesai, hasil statistik tersebut disajikan dalam report atau laporan.
Apache JMeter adalah aplikasi Java, jadi dapat berjalan di semua sistem yang mendukung Java. Namun pastikan Java telah terinstal di komputer Anda sebelum mulai menggunakannya.
Fitur-fitur JMeter Apache
Beberapa fitur yang dimiliki JMeter Apache yaitu:
- Dapat melakukan load testdan performance test banyak jenis aplikasi, seperti aplikasi Web (HTTP, HTTPS, Java, NodeJS, PHP, ASP.NET), SOAP/REST, FTP, database dengan JDBC, LDAP directory, layanan email (SMTP, POP3, IMAP), native command atau shell script, TCP, serta object
- Test IDE dengan fitur yang lengkap untuk melakukan perencanaan kegiatan testing mulai dari recording, pembuatan, dan debugkegiatan pengujian.
- CLI mode untuk menjalankan tes dengan perintah tertentu dari sistem operasi yang kompatibel dengan Java, seperti Linux, Windows, dan MacOS.
- Dynamic HTML report yang lengkap dan bisa langsung disajikan
- Kemampuan ekstraksi data dari format response yang umum seperti HTML, JSON, atau XML
- Framework bersifat multri-threadingmemungkinkan pengambilan sampel dari beberapa tenaga pemrosesan secara bersamaan serta sampling dari beberapa fungsi oleh sekumpulan thread yang terpisah
- Caching serta analisis serta reka ulang hasil pengujian secara offline
- Kemampuannya dapat diperluas, misalnya dengan pluggable dan scriptable sampler, plugin untuk visualisasi dan analisis data, functionyang dapat digunakan untuk memberi input dinamis pada kegiatan pengujian atau melakukan manipulasi data. Selain itu JMeter Apache juga mendukung integrasi library pihak ketiga.
Elemen JMeter
Komponen-komponen pada Apache JMeter disebut element dengan fungsinya masing-masing. Bagian ini akan menjelaskan elemen-elemen tersebut lebih lanujut.
-
Thread Group
Sesuai namanya, thread group adalah kumpulan thread. Thread ini menggambarkan seorang pengguna aplikasi di dalam kegiatan pengujian. Thread group mensimulasi satu orang pengguna yang mengirim request. Di dalam pengaturan thread group bisa ditetapkan jumlah “pengguna” untuk simulasi pengujian. Misalnya jika ditetapkan threads sejumlah 100, maka JMeter akan mengeksekusi pengujian seolah-olah ada 100 pengguna yang mengirim request pada sebuah kegiatan pengujian.
-
Samplers
JMeter mensupport pengujian HTTP, FTP, JDBC dan banyak protokol lainnya. Jika thread group mensimulasi banyaknya pengguna yang mengakses server, maka sampler mengarahkan thread group untuk mengeksekusi tipe request apa yang dikirim pada kegiatan pengujian.
– FTP request dapat digunakan untuk melakukan pengujian performa pada FTP server dengan mengirimkan permintaan download file atau upload file.
– HTTP request dapat digunakan untuk mengirim request HTTP/HTTPS ke web server.
– JDBC request dapat digunakan untuk mengirim request JDBC dalam kegiatan pengujian performa database.
– BSF sampler dapat digunakan untuk membuat sampler dengan BSF (Bean Scripting Framework).
– Access Log Sampler dapat digunakan untuk membaca access log dan menghasilkan HTTP request.
– SMTP sampler dapat digunakan untuk mengirim pesan email menggunakan protokol SMTP.
-
Listeners
Bagian ini menunjukkan hasil dari kegiatan tes. Hasil tersebut bisa dimunculkan dalam berbagai bentuk. Beberapa pilihan dalam bagian ini adalah:
– View Result Tree memunculkan hasil request pengguna dalam format HTML
– Graph result memunculkan grafik waktu respon yang dibutuhkan oleh server
– View Result in Table memunculkan ringkasan
-
Configuration elements
Bagian ini digunakan untuk mengatur variabel dan setelan default untuk selanjutnya digunakan oleh sampler. Beberapa opsi pada bagian ini yaitu:
– CSV Data Set Config dapat digunakan untuk membaca berbagai parameter dari file teks dan memecahnya (split) menjadi beberapa variabel.
– HTTP Cookie Manager menyimpan cookie jika dihasilkan dari response untuk HTTP request, sehingga cookie tersebut bisa digunakan lagi untuk request selanjutnya, selayaknya cookie pada peramban web.
– HTTP Request Default memungkinkan Anda menetapkan nilai untuk digunakan pada HTTP Request controller.
– Login Config Element memungkinkan Anda menetapkan setelan username dan password pada sampler.
Penutup
Itu dia JMeter, sebuah aplikasi open source dari The Apache Foundation untuk kegiatan load testing. Jika artikel ini memberi manfaat dan menambah referensi Anda, jangan sampai ketinggalan untuk mengikuti terus situs kami di appkey.id agar tidak ketinggalan pembahasan selanjutnya.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.