Apa Itu Sress Testing Dan Bagaimana Implementasinya
Stress Testing adalah performance tes yang konsentrasi untuk menguji kemampuan, tersedianya dan keunggulan dari satu program dalam kondisi yang ekstrim. Kondisi ekstrim itu salah satunya heavy loads, high concurrency, atau limited computational sumber. Stress testing yang bagus membantu dalam mendapati bug berkaitan sinkronisasi, interlock problems, priority problems, dan resource loss bugs.
Stress tes umumnya melibatkan simulasi dari production skenario yang menggunakan variasi dari stressful conditions.
Contoh simpel dari stress testing seperti berikut : Saat kita akan deploy aplikasi kita ke server yang jalankan aplikasi dengan memakai resource prosesor yang tinggi, program yang hendak di-deploy bisa saja "starved" akan resource dan harus berkompetisi dengan program lain untuk memperoleh prosesor cycles.
Langkah - Langkah Untuk Stress Testing
Secara umum adalah 7 langkah saat lakukan Stress testing. Yakni seperti berikut :
Langkah 1 — Identifikasi tes objectives.
Identifikasi arah dari Stress Testing kita dalam soal apa yang hendak jadi dari hasil tes kita. Analisis ini dapat dibuat dengan membuat daftar pertanyaan pertanyaan yang membantu kita untuk membuat outcome yang diharapkan dari stress testing yang sudah dilakukan. Contoh pertanyaan yang dapat diajukan salah satunya :
1) Apa tujuan tes kita untuk mengidentifikasi bagaimana sistem dapat gagal saat production?
2) Apa tujuan tes kita untuk mengidentifikasi bagaimana sistem bekerja saat sumber seperti memori, disk ruang atau prosesor habis?
Langkah 2 — Identifikasi key scenario(s).
Identifikasi application skenario atau case yang akan dilakukan stress testing untuk diidentifikasi masalah prospektif. Untuk memperoleh hasil yang terbaik dari stress tes, tes harus fokus pada scenario yang meliputi overall succes dari program. Untuk memperoleh scenario yang bagus, ada banyak guideline yang dapat membantu kita, yakni seperti berikut :
1) Tentukan scenario berdasar seberapa kritikal scenario itu pada performance overall dari aplikasi
2) Coba untuk lakukan skenario yang memengaruhi perform program. Biasanya scenario seperti intensive locking and synchronization, long transactions, and disk-intensive input/output (I/O) operations.
Langkah 3 — Identifikasi workload.
Identifikasi workload yang akan dilakukan pada skenario yang kita buat. Workload umumnya berdasarkan peak load capacity inputs.
Workload yang digunakan ke scenario tertentu semestinya bisa lakukan stress testing yang cukup buat melebihi threshold limits. Dengan demikian, kita bisa mengobservasi dampak dari stress condition.
Artikel Terkait Lainnya :
Langkah 4 — Identifikasi metrik.
Identifikasi ukuran/metrik yang akan dikumpulkan berkaitan performa dari aplikasi. Umumnya metrik/ukuran yang digunakan ialah masalah potensial pada scenario yang kita buat
Metrik/Ukuran dapat memberi info berapa baik atau jelek program kita saat jalan lalu dibandingkan dengan performance objectives yang kita buat. Tidak hanya itu, metrik juga bisa mengidentifikasi masalah tempat dan bottleneck di aplikasi kita. Ukuran/metrik yang digunakan bisa dilihat pada tabel berikut
Langkah 5 — Membuat tes cases.
Buat tes cases yang di-define untuk melakukan single tes masukkan hasil yang kita ekspektasikan
Workload dan skenario key biasanya tidak bisa menyediakan semua info yang diperlukan untuk implementasi dan eksekusi tes cases. Dibutuhkan tes desain untuk stress tes yakni performance objectives, workload characteristics, tes data, tes environments, dan identified metrics. Tes desain akan memberikan hasil terkait expected results. Berikut contoh tes case nya
Langkah 6 — Simulasikan load.
Gunakan tes tools untuk simulasi required load untuk setiap tes case dan tulis dari hasil metric data
Tes execution ikuti beberapa langkah berikut :
- Validasi jika tes environment sesuai komposisi yang diekspektasi/dibuat
- Pastikan jika tes dan tes environment terkonfigurasi untuk metrics collection
- Lakukan "smoke tes" saat sebelum menjalankan stress tes untuk pastikan tes script bekerja secara baik
- Reset sistem dan mulai lakukan tes
Langkah 7 — Analisa hasil.
Analisa dari hasil metric dari yang kita tulis lalu bandingkan dengan metric's accepted level. Bila hasil memberikan indikasi jika performance level yang disuruh belum tercapai, lakukan analisis dan perbaiki issue. Melakukan design review dan kode review bisa memudahkan dalam perbaikan issue itu.