Mengenal Stress Testing, Pengujian Ketahanan Sistem dalam Kondisi Ekstrem

Dalam dunia teknologi, melakukan pengujian adalah salah satu langkah penting yang harus dilakukan. Fungsinya untuk mengetahui secara mendalam mengenai kelebihan dan kelemahan suatu software atau aplikasi.

Suatu sistem harus dipastikan teruji dalam kondisi ekstrem sekalipun dan memiliki kemampuan untuk pulih kembali ke status normal. Oleh karena itulah  dibutuhkan stress testing untuk memastikan sistem teruji dalam kondisi yang berat.

Pada kesempatan kali ini, kita akan membahas secara mendalam apa itu stress testing, mulai dari pengertian, jenis, hingga pada tipe- tipe yang ada. Simak penjelasan berikut ini:

Apa Itu Stress Testing?

Mengenal Stress Testing, Pengujian Ketahanan Sistem dalam Kondisi Ekstrem

Stress testing adalah sebuah tindakan pengujian yang dilakukan terhadap sebuah software atau perangkat lunak. Pengujian bertujuan untuk mengetahui kekuatan dari sebuah software atau perangkat lunak yang dibuat, dengan cara melakukan pengujian di luar batas normal penggunaan.

Stress testing sendiri perlu digunakan untuk beberapa software tertentu. Namun, umumnya pengujian ini dilakukan pada semua jenis software atau aplikasi yang dibuat oleh developer.

Lewat pengujian ini, developer jadi mengetahui tingkat ketahanan dan juga stabilitas dari software yang dikembangkannya, terutama ketika digunakan pada kondisi di luar batas. normal pemakaian.

Pada intinya,  pengujian software ini dilakukan agar software atau perangkat lunak yang dibuat tidak mudah rusak ketika digunakan pada situasi yang ekstrem. Maka dari itu, stress testing biasanya disebut juga sebagai endurance testing atau torture testing.

Tujuan Stress Testing

Tujuan dari stress testing adalah untuk menganalisis perilaku sistem setelah mengalami kegagalan. Agar pengujian stres berhasil, sistem harus menampilkan pesan kesalahan yang sesuai saat berada dalam kondisi ekstrem.

Untuk melakukan stress testing, kadang-kadang, kumpulan data besar dapat digunakan yang mungkin hilang selama stress testing. Penguji tidak boleh kehilangan data terkait keamanan ini saat melakukan pengujian stress testing.

Tujuan utama dari stress testing adalah untuk memastikan bahwa sistem pulih setelah kegagalan yang disebut sebagai pemulihan.

Pentingnya Stress Testing Dilakukan

Ada sejumlah hal yang menjadi alasan pentingnya dilakukan stress testing pada sebuah software, yaitu:

  1. Mengetahui kebiasaan sistem setelah mengalami kegagalan atau failure.
  2. Memastikan sistem bisa berjalan kembali setelah mengalami kegagalan atau system failure.
  3. Mengetahui apakah sistem pada software dapat berjalan pada kondisi yang ekstrim.
  4. Memastikan apakah sistem akan menyimpan data sebelum terjadinya kegagalan atau kerusakan pada sistem.
  5. Memastikan sistem mengeluarkan pesan error, ketika sedang mengalami kondisi stress atau ekstrem.

Ruang Lingkup Pengujian

Ada sejumlah komponen atau ruang lingkup yang masuk ke dalam pengujian dari stress testing, yaitu:

  1. Response Times. 

Pengujian berkaitan dengan berapa banyak waktu yang dibutuhkan oleh software untuk merespon input yang diberikan oleh pengguna.

  1. Hardware Constraints. 

Pengujian untuk mengukur penggunaan pada hardware atau perangkat keras pada software, seperti CPU, RAM, Disk I/O. Hardware yang baik dapat meningkatkan response time menjadi lebih cepat dan optimal.

  1. Throughput. 

Pengujian selanjutnya dilakukan untuk mengetahui besaran data yang dikirim dan diterima, selama proses pengujian berlangsung yang didasari dari level bandwidth.

  1. Database Reads and Writes.

Pengujian pada aplikasi atau software yang menggunakan beberapa sistem sekaligus. Stress testing dapat mengindikasikan mana saja sistem yang memiliki kendala, hingga menyebabkan stuck.

  1. Open Database Connections

Pengujian bertujuan untuk melihat database yang besar pada suatu software. Semakin besar database, maka akan mempengaruhi response time dari software atau perangkat lunak itu sendiri.

  1. Third-party Content. 

Halaman web dan aplikasi umumnya sangat bergantung pada komponen pihak ketiga. Lewat stress testing, developer bisa melihat komponen mana saja yang memiliki pengaruh terhadap kinerja halaman dan aplikasi.

Baca juga:

EVOLUSI PERKEMBANGAN PERANGKAT LUNAK (SOFTWARE)

Apa Itu Software Developer?

Mengapa Sulit Merekrut Software Engineer?

Tipe Stress Testing

Tipe Stress Testing

Berikut ini adalah tipe-tipe stress testing yang umum ditemukan, yaitu:

  1. Distributed Stress Testing

Pengujian tipe yang pertama ini, akan dilakukan pada semua klien yang terhubung ke server website. Nantinya server stress akan melakukan pendistribusian serangkaian stress test kepada klien untuk melihat status pada klien.

  1. Application Stress Testing

Pada tipe yang kedua ini, pengujian dilakukan untuk mengetahui kecacatan yang ada pada software atau aplikasi. Seperti masalah jaringan, pemblokiran, penguncian, hingga kemacetan atau bottleneck di dalam sebuah aplikasi.

  1. Systematic Stress Testing

Tipe yang ketiga yaitu pengujian sistematik. Pengujian digunakan untuk menguji banyak sistem yang ada pada sebuah server website. Tujuan tes ini, yaitu untuk mendeteksi jika ada kecacatan, yang dimana ada sebuah software menginterupsi software lainnya.

  1. Exploratory Stress Testing

Dalam pengujian exploratory ini, pengujian dilakukan dengan cara yang tidak biasa atau tidak akan terjadi pada penggunaan sesungguhnya.

Tujuannya untuk mengidentifikasi apabila terdapat sebuah kecacatan pada skenario tidak diharapkan tersebut. Beberapa skenarionya yaitu:

  • Pengguna dengan jumlah banyak melakukan login ke dalam aplikasi di waktu yang sama.
  • Dimasukkannya volume data dalam jumlah besar ke dalam database.
  • Database mati atau offline, ketika sedang diakses melalui website.
  1. Transactional Stress Testing

Tipe pengujian stres yang terakhir yaitu tipe transaksional. Sesuai namanya, pengujian dilakukan untuk menguji transaksi yang terjadi diantara aplikasi.

Tujuannya untuk mengoptimasi dan menyempurnakan sistem yang ada di sebuah software atau aplikasi.

Langkah Melakukan Stress Testing

Langkah Melakukan Stress Testing

Proses stress testing bisa dilakukan dalam 5 langkah, yaitu:

  1. Merencanakan Tes Stres: Anda mengumpulkan data sistem, menganalisis sistem, menentukan tujuan tes stres.
  2. Buat Skrip Otomasi: Pada fase ini, Anda membuat skrip otomatisasi pengujian stres, menghasilkan data pengujian untuk skenario stres.
  3. Eksekusi Skrip: Pada tahap ini, Anda menjalankan skrip otomasi pengujian Stres dan menyimpan hasil stres.
  4. Analisis Hasil: Pada tahap ini, Anda menganalisis hasil Stress Test dan mengidentifikasi kemacetan.
  5. Tweaking dan Optimalisasi: Pada tahap ini, Anda menyempurnakan sistem, mengubah konfigurasi, mengoptimalkan kode dengan tujuan memenuhi tolok ukur yang diinginkan.

Terakhir, Anda kembali menjalankan seluruh siklus untuk menentukan bahwa tweak telah memberikan hasil yang diinginkan. Misalnya, tidak jarang harus 3 sampai 4 siklus proses stress testing untuk mencapai tujuan kinerja.

Demikianlah penjelasan seputar stress testing yang perlu Anda ketahui. Berdasarkan penjelasan tersebut, dapat disimpulkan bahwa stress testing berguna untuk mengidentifikasi kekurangan, kelemahan, kerusakan atau kecacatan perangkat lunak.

Lewat stress testing akan dicapai penyempurnaan sistem perangkat lunak agar dapat berjalan sebagaimana mestinya dan tahan lama serta mampu beroperasi normal meski dalam kondisi ekstrem.

Java Fundamental

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Menu