Stress Testing: Definisi, Tipe, dan Tools yang Digunakan
Isi Artikel
Dalam software development, stress testing adalah pengujian yang penting dilakukan.
Apalagi, jika aplikasi atau web yang dikembangkan akan digunakan oleh orang banyak.
Apa tujuannya dan bagaimana melakukannya?
Semuanya akan Glints jelaskan dalam artikel ini.
Apa Itu Stress Testing?
Mengutip Geeks for Geeks, stress testing adalah teknik pengujian terhadap sebuah software.
Teknik ini dilakukan untuk mengetahui ketahanan software atau sistem saat digunakan melampaui batas operasi normal.
Dalam kondisi ekstrem ini, developer jadi tahu stabilitas dan reliabilitas dari sebuah sistem.
Tes ini juga melihat apakah sistem bisa beroperasi normal lagi setelah diharuskan berfungsi melewati batas normalnya.
Nah, mengapa stress testing dilakukan?
Mengapa Stress Testing Dilakukan?
Ada beberapa alasan mengapa stress testing dilakukan, di antaranya adalah sebagai berikut:
- Mengecek apakah sistem bisa bekerja dengan baik saat kondisi di luar batas normal.
- Memastikan error message ditampilkan saat sistem mengalami stres.
- Menghindari revenue loss akibat sistem yang tidak mampu bekerja saat kondisi ekstrim.
- Mempelajari behavior sistem saat mengalami load besar
- Mengetahui batas jumlah user, request, dan lainnya yang bisa dikelola sistem sebelum eror
Yang Diuji dalam Stress Testing
Elemen pengujian stress testing bisa berbeda-beda, tergantung tool yang digunakan.
Akan tetapi, Menurut IR, inilah yang umumnya akan dievaluasi oleh developer saat melaksanakan tes tersebut:
1. Response time
Response time dalam stres testing adalah waktu yang dibutuhkan sistem untuk memberi respon ketika kita sebagai pengguna meng-input request.
Tentunya, ini dilakukan dalam kondisi load sistem yang berat.
2. Hardware constraint
Hardware constraint mengukur penggunaan CPU, RAM, dan disk I/O.
Hal-hal ini merupakan constraint atau pembatas yang bisa memengaruhi response time.
Jika lambat, komponen-komponen hardware ini bisa jadi penyebabnya.
3. Throughput
Throughput dalam stress testing adalah pengukuran berapa banyak data yang dikirim dan diterima saat tes.
Pengujian ini dilakukan berdasarkan level bandwidth.
4. Database reads dan writes
Pengukuran ini dilakukan untuk mengetahui sistem atau unit mana yang menyebabkan bottleneck atau kemacetan dalam operasi perangkatmu.
5. Open database connections
Open database connection memengaruhi performa suatu sistem.
Oleh karena itu, ini juga termasuk apa yang diuji dalam stress testing.
Jika database terlalu banyak atau besar, response time otomatis akan melambat.
6. Third-party content
Halaman web dan aplikasi sering bergantung pada komponen third-party.
Saat dilakukan stress testing, kamu dapat mengetahui mana saja komponen third-party yang memengaruhi performa sistem.
Tipe Stress Testing
Ada 5 tipe stress testing.
Masing-masing tes ini memiliki tujuan yang berbeda-beda.
1. Server-client stress testing
Stress testing ini adalah pengujian yang dilakukan terhadap semua client server.
2. Product stress testing
Product stress testing berfokus pada pencarian defect karena data locking dan blocking serta permasalahan jaringan di sebuah software.
3. Transaction stress testing
Tes ini dilakukan transaksi antar aplikasi.
Tujuannya adalah untuk fine-tuning dan optimasi sistem tersebut.
4. Systematic stress testing
Stress testing yang satu ini digunakan untuk menguji beberapa sistem yang beroperasi di satu server.
Dari tes ini, kamu bisa mengetahui kekurangan dari aplikasi yang terlibat.
5. Analytical stress testing
Pengujian ini dilakukan untuk menguji sistem dengan abnormal parameter.
Hal ini juga bisa dilakukan dengan memberikan situasi yang sebenarnya jarang sekali terjadi.
Tujuannya adalah untuk mengetahui kekurangan sistem saat kejadian tersebut terjadi.
Meskipun kemungkinannya kecil, pelajaran yang bisa diambil oleh developer dari tes ini tentu sangat bermanfaat.
Software Stress Testing
Seperti yang disebutkan sebelumnya, stress testing dilakukan dengan bantuan software atau tool.
Nah, inilah yang umumnya digunakan untuk menguji sistem dalam stress testing.
1. Load Runner
Load Runner adalah software stress testing yang dikembangkan oleh HP.
Sebenarnya, tool ini pertama dibuat untuk load testing.
Akan tetapi, stress testing juga bisa dilakukan.
Setelah melakukan tes, kamu bisa langsung mendapat laporan analisis sehingga lebih mudah menyimpulkan hasil ujinya.
2. Neoload
Neoload sering digunakan untuk testing web dan aplikasi smartphone.
Fiturnya sangat canggih dan lengkap.
Selain itu, Neoload juga cukup gampang digunakan.
Untuk mengakses seluruh fiturnya, kamu harus membayar, ya.
3. JMeter
JMeter merupakan tool open source untuk stress testing.
Para profesional biasanya menggunakan JMeter untuk pengujian aplikasi web.
4. Grinder
Seperti JMeter, Grinder juga merupakan tool open source.
Dengan basis Java, Grinder dapat melakukan load dan stress testing.
Analisis hasil dapat dengan mudah dilakukan, karena sudah ada fitur reporting untuk membantumu.
5. WebLoad
Seperti Neoload, WebLoad juga berbayar.
Akan tetapi, ada juga versi gratisnya dengan fitur yang terbatas untukmu yang ingin mencoba terlebih dahulu.
WebLoad mendukung banyak protokol yang berbeda, seperti HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP, dan masih banyak lagi.
Nah, itu tadi adalah rangkuman Glints tentang stress testing.
Untuk belajar lebih banyak tentang dunia teknologi dan IT, kunjungi blog Glints dan baca artikel-artikelnya, yuk!
Klik tombol di bawah ini, ya.