Stress Testing: Pengertian, Elemen, Tujuan, Tipe, Tools, dan Perbedaannya dengan Load Testing

Pengertian Stress Testing
Stress Testing
Pengertian Stress Testing
Stress testing adalah teknik pengujian daya tahan sebuah program baik web, aplikasi, maupun software. Stress testing 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.

Stress testing juga melihat apakah sistem bisa beroperasi normal lagi setelah diharuskan berfungsi melewati batas normalnya. Hal ini tentunya bermanfaat guna mengambil langkah selanjutnya jika terjadi ketidakstabilan dalam program yang dibuat.

Elemen 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 di antaranya,
1. Response time
Response time dalam stres testing adalah waktu yang dibutuhkan sistem untuk memberi respons 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, Anda dapat mengetahui mana saja komponen third-party yang memengaruhi performa sistem.

Tujuan Stress Testing
Terdapat beberapa tujuan stress testing di antaranya,
1. Untuk memeriksa apakah sistem bekerja dalam kondisi tidak normal
2. Menampilkan pesan kesalahan yang tepat ketika sistem sedang dalam tekanan
3. Menghindari kerugian materi yang akan dihasilkan dari kegagalan sistem dalam kondisi ekstrem
4. Mempelajari cara kerja atau behaviour sistem saat bekerja dalam load yang besar
5. Mengetahui batas jumlah pengguna, request, dan hal lainnya yang dapat dikelola sistem sebelum terjadinya eror.

Tipe Stress Testing
Terdapat 5 tipe stress testing, di mana masing-masing tes ini memiliki tujuan yang berbeda-beda di antaranya,
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, Anda 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.

Rekomendasi tools stress testing
Berikut beberapa tools rekomendasi yang bisa digunakan di antaranya,
1. Load Runner
Load Runner merupakan software yang digunakan untuk melakukan stress testing. Software ini dikembangkan oleh HP yang awalnya hanya untuk melakukan load testing. Lama kelamaan, software ini bisa digunakan untuk melakukan stress testing dan laporan hasilnya akan langsung didapatkan agar pengguna lebih mudah dalam menyimpulkan hasil ujinya.

2. Neoload
Neoload merupakan salah satu aplikasi stress testing yang sering digunakan untuk menguji web dan aplikasi smartphone. Neoload memiliki fitur yang lengkap dan juga user-friendly. Sayangnya, kamu perlu membayar untuk menggunakan Neoload dan mengakses seluruh fiturnya.

3. Grinder
Grinder merupakan salah satu tools open source yang bisa digunakan dalam melakukan stress testing maupun load testing. Tools yang berbasis Java ini memiliki fitur reporting agar analisis dapat dilakukan dengan mudah dan cepat.

4. Stress Tester
Merupakan web aplikasi untuk melakukan stress testing. Dalam tools ini, pengguna bisa mendapatkan analitik dari hasil testing serta penggunaan yang cukup mudah dalam bentuk grafik.

5. Jmeter
Merupakan open source yang bisa digunakan oleh siapapun yang ingin melakukan stress testing. Jmeter merupakan tools berbasis java yang mudah serta ringan untuk digunakan.

Perbedaan Stress Testing dengan Load Testing
Walaupun sama-sama proses uji coba terhadap sebuah sistem, namun terdapat perbedaan keduanya di antaranya,
1. Stress testing dilakukan untuk mengetahui batas maksimum sebuah sistem yang digunakan dalam load paling besar.
2. Sedangkan load testing merupakan uji coba pada sistem pada batas normal untuk mengetahui behaviour atau kebiasaan sistem saat digunakan.

Singkatnya, stress testing diuji coba untuk mengetahui kekuatan maksimum dari sistem yang dibuat. Bahkan diuji coba berkali-kali dengan skenario yang belum tentu terjadi. Stress testing dapat dikatakan sebagai solusi jika ada hal-hal yang tidak diinginkan terjadi.

Dari berbagai sumber

Download

Aletheia Rabbani
Aletheia Rabbani “Barang siapa yang tidak mampu menahan lelahnya belajar, maka ia harus mampu menahan perihnya kebodohan” _ Imam As-Syafi’i

Post a Comment for "Stress Testing: Pengertian, Elemen, Tujuan, Tipe, Tools, dan Perbedaannya dengan Load Testing"