JMeter
Kali ini saya akan membahas automatic tools testing berikutnya yakni JMeter. Tools ini nantinya sangat bermanfaat untuk Software Tester yang akan melakukan testing terhadap suatu aplikasi. Ingin tahu lebih lengkapnya akan saya jelaskan sebagai berikut :
I.PENGENALAN
Apache JMeter adalah perangkat lunak open-source, murni 100% aplikasi Java yang dirancang untuk melakukan uji
fungsional dan mengukur kinerja suatu server perangkat lunak (seperti aplikasi
web).Dan perlu juga diketahui bahwa JMeter bukanlah browser. Dari sisi web-service mungkin Jmeter terlihat
seperti browser (atau lebih tepatnya beberapa browser) , namun sesungguhnya
JMeter tidak melakukan semua tindakan layaknya browser pada umumnya. Secara
khusus, JMeter tidak mengeksekusi Javascript yang ditemukan di HTML. Juga
tidak merender halaman HTML sebagaimana layaknya browser.
II.REQUIREMENT
Untuk dapat menjalankan JMeter di komputer anda maka
lingkungan komputasi anda harus memenuhi beberapa persyaratan minimum yaitu :
1. Java version
JMeter membutuhkan JVM yang sepenuhnya kompatibel dengan JVM
1.5 atau lebih tinggi
2. OS
JMeter adalah 100% aplikasi Java dan baru dapat berjalan dengan benar pada sistem yang
kompatibel dengan dengan implementasi Java.Berikut
beberapa list sistem operasi yang mendukung JMeter :
·
Untuk JMeter 2.6(JVM 1.5+)
OS
|
JVM
|
FreeBSD 9.0
|
Open JDK 6
|
Linux 2.4
|
Sun JDK 5
|
Linux 2.6
|
Sun JDK 5, Sun JDK
6,Sun JDK 7, Open JDK 6
|
Linux 3.1
|
Open JDK 6, Open JDK 7
|
Mac OS 10.6.8
|
JDK 6
|
Windows 7
|
Sun JDK 6, sun JDK 7
|
Windows XP
|
Sun JDK 5, Sun JDK 6,
Sun JDK 7
|
Tabel 2.1 Requirement JMeter 2.6
·
Untuk JMeter 2.5.x (JVM 1.5+)
OS
|
JVM
|
Linux 2.4
|
Sun JDK 5
|
Linux 2.6
|
Sun JDK 5, Sun JDK 6,
Sun JDK 7, Open JDK 6
|
Linux 3
|
Open JDK 6
|
Windows XP
|
Sun JDK 5, Sun JDK 6
|
Windows 7
|
JDK 6
|
Mac OS X
|
JDK 6
|
Mac OS 10.6.8
|
JDK 6
|
Solaris Sparc
|
Sun JDK 6
|
Tabel 2.2 Requirement JMeter 2.5.x
III. INSTALASI
Versi terbaru JMeter dapat kita download
di http://jmeter.apache.org/download_jmeter.cgi.
Jika sudah maka unzip file zip/rar
dari JMeter tadi ke dalam folder yang anda inginkan. Pastikan anda memiliki
versi JDK/JRE yang tepat dan telah terinstal di PC anda.
Untuk menjalankan JMeter, jalankan jmeter.bat (untuk
windows) atau jmeter(untuk unix) file. File-file ini dapat anda temukan di
direktori bin. Setelah jeda sesaat maka GUI
JMeter akan muncul seperti gambar 3.1.
Gambar 3.1 Tampilan GUI JMeter
Jika anda menguji dari server berfirewall/proxy,
anda mungkin perlu mengatur JMeter dengan firewall/proxy
dengan nama host dan portnya. Untuk melakukannya jalankan file jmeter.bat/jmeter dari command line dengan parameter berikut :
·
-H [server alamat proxy hostname atau ip]
·
-P [port proxy server]
·
-N [nonproxy]
·
-u [username]
·
-a [password]
Contoh: jmeter –H myproxy.server –P 8000 –u user –a pass –N localhost
IV. TESTING
Disini akan coba dipaparkan mengenai penggunaan JMeter sebagai tool
testing.Dari membangun tes plan yang sederhana, fungsi recording, dan
penggunaan CSV untuk input parameter (data pool).
4.1 Membuat tes plan sederhana
Disini akan coba digambarkan
langkah-langkah melakukan testing sederhana dengan menggunakan JMeter.Berikut
adalah langkah-langkah yang dimaksud:
1.
Mengatur jumlah pengguna simulasi dan jumlah
iterasi
Anda dapat
melakukannya dengan mengklik kanan pada node
Test Plan. Lalu pilih Add -> Threads(Users)->Thread Group seperti pada
gambar.
Gambar 4.1.1 Add Thread User
Pada Thread Group kita dapat mengatur berapa banyak
user yang akan kita simulasikan, seberapa cepat mereka mengakses, dan berapa
banyak kita ingin mengulangi test plan kita. Sebagai contoh kita akan melakukan
tes dengan lima kali pengulangan untuk dua user, bisa dilihat pada gambar
berikut:
Gambar 4.1.2 Set user pada Thread Group
1.
Konfigurasi HTTP request (Sampler)
Klik kanan pada node Thread
Group lalu pilih Add->Sampler->HTTP Request yang bisa kita lihat pada
gambar berikut:
Gambar 4.1.3 Add Sampler
Kita dapat
mengeset field - field yang dimaksud sesuai dengan server dan fungsi yang akan
dites. Bisa dilihat seperti pada gambar:
Gambar 4.1.4 Set Field - Field Pada
Sampler
2.
Memilih format hasil testing
Klik kanan pada node Thread Group lalu pilih
Add->Listener->View Result Tree yang bisa kita lihat pada gambar berikut:
Gambar 4.1.5 Set Format Hasil Testing
Selain format
View Result Tree, masih ada banyak format yang biasa digunakan seperti:
·
Graph Results
·
View Result in Table
·
Aggregate Report
3.
Menjalankan tes plan
Kita dapat menjalankan test plan dengan memilih menu Run->Start
seperti pada gambar di berikut:
Gambar 4.1.6 Start
JMeter
atau kita juga
dapat mengklik tombol run pada toolbars seperti pada gambar berikut:
Gambar 4.1.7 Start JMeter Toolbars
4.
Melihat hasil tes
Setelah tes selesai dilakukan maka kita bisa melihat hasilnya dengan
mengklik node View Result Tree, lalu
pilih hasil yang ingin dilihat. Contohnya dapat dilihat pada gambar-gambar
berikut:
Gambar 4.1.8 Hasil Sampler result
Gambar 4.1.9 Hasil Request
Gambar 4.1.10 Hasil Response Data
Fitur Recording
Dengan menggunakan JMeter
kita bisa melakukan recording untuk semua perilaku kita dalam memperlakukan
suatu aplikasi web. Dari awal kita membuka halaman web yang pertama hingga
sampai sejauh mana kita ingin merekamnya, JMeter dapat merekam semua yang
ditampilkan oleh aplikasi web tersebut.
Setelah semua perilaku
kita terekam, kita dapat seolah - olah
kembali mengakses aplikasi web tersebut
dengan perlakuan yang sama dengan menjalankan hasil rekaman kita pada JMeter.
Kita pun dapat memodifikasi perlakuan kita seperti jumlah user, loop, bahkan parameternya (dengan csv).
Berikut akan dipaparkan
lebih lanjut bagaimana cara mengunakan fitur recording pada JMeter:
1. Thread
Group
Klik kanan pada node
Test Plan ->Add -> Threads(Users) -> Thread Group. Akan muncul node Thread Group seperti pada gambar.
Gambar 4.2.1 Set Thread User
2. Set
Logic Recording Controller
Klik
kanan pada node Thread Group ->
Add ->Logic Controller ->Recording Controller yang bisa dilihat pada
gambar.
Gambar 4.2.2 Set Recording Controller
3. Set
HTTP Proxy Server
Klik
kanan pada node WorkBench ->Add
->Non - Test Elements ->HTTP Proxy Server seperti pada gambar.
Gambar 4.2.3 Set HTTP Proxy Server
4. Setting
Browser
Disini saya ambil contoh untuk browser Mozilla Firefox v
10.0. Klik kanan pada node Firefox
-> Options ->Options seperti pada gambar.
Gambar 4.2.4 Setting Browser
Akan
muncul jendela untuk options-> pilih tab Advanced -> pilih tab Network
untuk mengatur networknya seperti pada gambar.
Gambar 4.2.5 Jendela Option
Klik node
Settings lalu akan muncul jendela Connection Settings lalu atur konfigurasi HTTP Proxy seperti pada
gambar.
Gambar 4.2.6 Setting Proxy
5. Mulai
Recording
Klik pada node
HTTP Proxy Server, pada bagian bawah klik tombol Start seperti pada gambar.
Gambar 4.2.7 Start Recording
Setelah itu lakukan browsing seperti biasa pada browser
yang sudah disetting tadi. JMeter akan melakukan recording untuk setiap halaman
yang diakses pada browser tersebut.
6. Selesai
Recording
Untuk berhenti melakukan recording, klik pada node HTTP Proxy Server , pada bagian
bawah klik tombol Stop seperti pada gambar.
Gambar 4.2.8 Stop recording
7. Melihat
hasil recording
Untuk
melihat hasil recording tadi klik node
Recording Controller seperti pada gambar.
Gambar 4.2.9 Hasil Record
Lalu
klik pada sampler yang diinginkan untuk melihat detailnya.
Gambar 4.2.10 Detail Hasil Record
Menggunakan file
CSV sebagai input parameter
Mungkin ada saat dimana
kita ingin mengetahui apakah suatu aplikasi web itu mampu untuk menangani
banyak inputan dalam suatu waktu, sebut saja 20 user. Tentu saja akan sangat
merepotkan untuk menyiapkan kondisi seperti yang kita inginkan (20 user dan 20
komputer). Bagaimana bila 50 user, 100, 1000 atau bahkan lebih banyak lagi.
Sebagai salah satu alternative kita bisa
menggunakan JMeter untuk mensimulasikannya.
Kita ambil contoh saat
login. Kita akan mencoba untuk login dengan user yang berbeda-beda (kondisinya
kita sudah ada tes plan untuk login tersebut dan parameter-parameternya). Yang
harus kita lakukan adalah:
1. Buat
file CSV
Buatlah parameter-parameter yang sesuai dengan koma
sebagai pemisahnya. Disini kita ambil contoh username dan password. Letakkan
file *.csv tersebut ke dalam folder bin.
Gambar 4.3.1 File CSV
2. Set
CSV Data Set Config
Klik
kanan pada sampler lalu pilih Add ->Config Element -> CSV Data Set Config
seperti pada gambar.
Gambar 4.3.2 Set CSV Data Set Config
Klik node CSV
Data Set Config, isikan field Filename dan Variable Names sesuai dengan file
*.csv. Untuk field delimiternya bisa disesuaikan memakai “ , ” atau “ tab ” sesuai
dengan file *.csv yang telah dibuat. Bisa dilihat pada gambar berikut:
Gambar 4.3.3 Konfigurasi CSV Data Set Config
3. Set
Variabel Di Parameter Pada Sampler
Klik
sampler yang dimaksud lalu lihat tab Parameters. Pada kolom value, ganti
parameter defaultnya dengan “ ${variableName} “. Contohnya bisa dilihat pada
gambar berikut:
Gambar 4.3.4 Set
Variabel Untuk Parameter
4. Menjalankan
tes
Jika
semua kondisi sudah sesuai maka jalankan tes plan seperti biasa. Lalu lihat
hasilnya.
Gambar 4.3.5 Hasil 1
Gambar 4.3.6 Hasil 2
Demikianlah pembahasan dari saya mengenai Automatic Tools Testing-Jmeter. Semoga bisa mengisnpirasi dan memudahkan teman-teman sekalian yang berkecimpung di dunia Software Development khusunya Software Tester.
Beberapa gambar belum saya upload dikarenakan keterbatasan bandwith, akan saya upload beberapa gambar yang belum terposting, mohon maaf yah pembaca sekalian ;)
+ comments + 8 comments
Mas
gambarnya mana mas??
artikelnya bagus mas, dan sangat membantu
tapi gambarnya kurang lengkap, tolong dong di update
trimakasih
nice inpoh gan (ASW-balicamp2010)
gambar sudah saya attach pada artikelnya. mungkin gambar tidak muncul karena koneksi internetnya yg lelet
hoaa..lagi nyari referensi JMeter malah nyasar ke blog temen sekelas.. :))
iya sha, gambarnya kok kurang?ngga dilengkapin nih? :D
thx gan, AMT@bsd
Terima kasih untuk infonya :)
Great post. Keep it up. Thank you so much for sharing your valuable blog.Customer Reconciliation
Inventory Audit
top ca firms in chennai
Web nya membantu dan mudah dimengerti, terima kasih
Posting Komentar
Thanks for the comment :)