Menggunakan JMeter Tingkat Pemula Untuk Pengujian Performance Testing
Awalnya, di artikel ini kita telah mengulas mengenai apakah itu performnce testing, beberapa jenis, dan contoh kasus dari tiap-tiap tipe performnce testing. Dalam jalankan performnce testing, banyak tools yang bisa dipakai, satu diantaranya ialah JMeter. JMeter sebagai salah satunya performnce testing tool yang paling powerful, pemakai friendly, dan memiliki sifat open source. Disamping itu, JMeter lumayan gampang untuk di-install di sejumlah mekanisme operasi. Tetapi, salah satunya kekurangan paling besar JMeter ialah tool ini tidak dukungan bahasa pemrograman JavaScript. Di kesempatan ini, kita akan mengulas langkah pemakaian JMeter saat lakukan pengetesan performnce dengan terhubung API themoviedb sebagai data tes kita.
Instal JMETER
Hal pertama kali yang harus dilaksanakan ialah meng-install JMeter. Rekan-rekan dapat unduh program desktop Apache JMeter lewat link ini. Dalam memakai JMeter, diperlukan Java. Lakukan java--version pada command shell untuk menyaksikan apa piranti kita telah mempunyai Java. Jika piranti kita belum mempunyai Java, install lebih dahulu berikutlewat link .
Sesudah sukses unduh, konsentrat folder JMeter lalu membuka folder "bin" dan click 2x file jmeter.bat. Untuk pemakai Linux, lakukan $JMETER_FOLDER/bin/jmeter pada terminal. Akan ada penampilan program JMeter sama dalam gambar berikut.
Membuat Tes Rencana
Sesudah sukses buka JMeter, kita bisa membuat tes rencana yang berisi posisi beberapa komponen tes yang berperan sebagai pemasti bagaimana sebuah server akan disimulasikan. Di eksperimen kita ini kali, ganti nama tes rencana jadi "Contoh Tes Rencana 1" lalu save dengan tekan ctrl + s.
Untuk eksperimen ini, ganti nama rencana pengujian menjadi "Contoh Rencana Uji 1" dan tekan ctrl + s untuk menyimpan.
Menambahkan Thread Grup
Thread Grup sebagai salah satunya elemen tes yang ada di tes plan. Langkah menambahkan thread grup :
- Click kanan pada nama Tes Rencana yang telah kita taruh, "Contoh Tes Rencana 1"
- Tujukan mouse, tentukan Add >
- Tujukan kembali mouse, tentukan Threads (Users) >
- Tentukan Thread Grup
Di thread grup ada banyak properties yang bisa memengaruhi scenario pengetesan performnce yang digerakkan
Number of Threads (users) : jumlah pemakai virtual yang hendak disimulasikan.
Ramp-up period (seconds) : keseluruhan durasi waktu yang diperlukan semua scenario digerakkan dari sejak awalnya sampai akhir.
Loop Count : jumlah eksperimen pengetesan yang digerakkan. Rekan-rekan bisa juga membuat pengetesan yang loop-nya tidak terbatas dengan mengeklik checkbox "Infinite ".
Maka jika kita masukkan number of threads = 10, ramp-up period = 10, dan loop count = 1, itu maknanya ada 1 thread yang digerakkan tiap 1 detik. Jika kita masukkan ramp-up period = 100, itu maknanya ada 1 thread yang digerakkan tiap 10 detik karena 100 ramp-up period/10 threads = 10. Saya berikan contoh kembali, jika ramp-up period = 200 dan threads = 10, maknanya ada 1 thread yang digerakkan tiap 20 detik.
Catatan tambahan, jika rekan-rekan ingin membuat scenario di mana setiap thread ada terlambat, rekan-rekan dapat click checkbox "Terlambat Thread creation until needed ".Misalkan saat ramp-up period = 5 dan threads = 10, itu maknanya tiap 0.5 detik 1 thread digerakkan. Jika rekan-rekan click checkbox "Terlambat Thread creation until needed", itu maknanya JMeter akan memberi sedikit terlambat sampai 1 thread usai digerakkan, selanjutnya diteruskan dengan thread berikutnya. Opsi ini akan bermanfaat saat kita mempunyai thread yang banyak, dan tidak mewajibkan semua thread aktif secara bersamaan.
Untuk contoh yang hendak kita lakukan, masukan number of threads = 2, ramp-up period = 10, dan loop = 60.
Menambahkan HTTP Header Manajer
Sesuai namanya, header, saat sebelum dilaksanakan pengetesan diperlukan info tambahan yang berperan sebagai simpatisan proses pengetesan. Beberapa informasi tambahan itu umumnya memiliki sifat global, maknanya bisa dipakai di semua request.
Langkah menambah http header manajer :
- Pada Thread Grup, click kanan
- Tujukan mouse pada "Add >"
- Tujukan mouse pada "Config Element >"
- Tentukan "Http Header Manajer"
Pada header manajer, tambah info berbentuk Content-Type dan Authorization, di mana nilai dari Authorization-nya ialah Bearer eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJINTUwZGFjMjUwMjE4OTQyZjRmOTEzOTFiYjZkY2NjNSIsInN1YiI6IjYwYWY2MDAxYzVjMWVmMDA1OWU2MzVIYiIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uljoxfQ.wGzbkGdNmzm7cWjLfyNFVGdpLJKMelfCaoEbUuYs-CA seperti pada gambar di atas.
Menambahkan HTTP Request Sampler
Sesudah menambah header manajer, kita bisa menambah http request sampler.Http request sampler ini sebagai tempat untuk menambah info berbentuk protocol, IP Address, port number, dan metode dan path dari situs server yang akan kita uji.
Langkah menambah http request sampler :
- Pada Thread Grup, click kanan
- Tujukan mouse pada "Add >"
- Tujukan mouse pada "Sampler >"
- Tentukan "HTTP Request"
Saat penampilan HTTP Request terbuka, masukan prosedur situs server yang kita pakai (HTTP/HTTPS) selanjutnya masukan IP Address atau server name lalu port number. Kemudian tentukan metode yang ingin kita pakai (GET, POST, etc.) dan tambah path dari API address yang jadi tujuan kita.
Ditiru ini kita tambah protocol -> https, server name -> api.themoviedb.org, port dikosongkan, http request -> GET, dan path -> /3/individu/changes
Menambahkan HTTP Request Standar (Optional)
Sesudah tahu http request sampler, rekan-rekan harus juga tahu apakah itu http request standar. Http request standar dipakai untuk atur alamat http request secara standar. Sampler ini akan bermanfaat saat rekan-rekan ingin mengirim banyak request dengan metode yang berbeda.
Langkah menambah http request standar :
- Pada Thread Grup, click kanan
- Tujukan mouse pada "Add >"
- Tujukan mouse pada "Config Element >"
- Tentukan "Http Request Standars"
Di penampilan http request standar, rekan-rekan dapat menambah info berbentuk protocol, server name, port path, dan number. Maka jika rekan-rekan telah memakai http request standar, pada halaman http request, rekan-rekan perlu isi metode dan path — nya saja (jika path yang rekan-rekan lakukan lebih dari satu), karena JMeter akan automatis memakai info yang rekan-rekan telah tambah di http request standar.
Menambahkan HTTP Cookie Manajer (Optional)
Http Cookie Manajer bermanfaat untuk tangani situs server yang memakai cookies. Untuk menambahnya, bisa dilaksanakan dengan :
- Pada Thread Grup, click kanan
- Tujukan mouse pada "Add >"
- Tujukan mouse pada "Config Element >"
- Tentukan "Http Cookie Manajer"
Menambahkan Listener
Sesudah membuat rangka dimulai dari http header manajer sampai ke http request, kita perlu listener. Listener ialah elemen pada JMeter yang memperlihatkan dari hasil scenario yang kita susun. Listener banyak memiliki tipe, rekan-rekan dapat pilih berbentuk apa hasil pengetesan itu dihidangkan. Dapat berbentuk tree, table, graph, atau berbentuk log.
Langkah menambah listener :
- Pada Thread Grup, click kanan
- Tujukan mouse pada "Add >"
- Tujukan mouse pada "Listener >"
- Rekan-rekan dapat pilih tipe listener apa (di sini saya memakai listener berbentuk tree)
Maka rangka pengetesan kita ini kali ialah sama dalam gambar berikut :
Sesudah semua rangka pengetesan sudah siap, click tombol hijau untuk jalankan scenario yang telah kita susun.
Dari hasil pengetesan yang kita kerjakan bakal tampil di listener "View Results Tree" sama dalam gambar berikut.
Jika kita lihat, dari sampler result diberi info berbentuk load time, latensi, error count, response kode, response beberapaya, dan message. Umumnya, lewat beberapa informasi ini, QA diharap sanggup menarik ringkasan berkaitan ketahanan sebuah situs server saat diberi penekanan yang bervariatif. Untuk menyaksikan response bodi dari API yang kita hit bisa disaksikan dari sisi "Response Data" sama dalam gambar berikut.
Bagaimana? Lumayan gampang kan? Sampai di sini dahulu artikel kali ini. Untuk menganalisa dari hasil performnce testing, akan saya ulas di artikel berikutnya.