BLOG

Mengenal Stress Testing, Pengujian Ketahanan Sistem dalam Kondisi Ekstrem

Mengenal Stress Testing, Pengujian Ketahanan Sistem dalam Kondisi Ekstrem

Mengenal Stress Testing, Pengujian Ketahanan Sistem dalam Kondisi Ekstrem.

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.

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.

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.

Mengenal 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

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 serverstress akan melakukan pendistribusian serangkaian stresstest 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 menganal 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

Rate this post
Facebook
Twitter
LinkedIn
WhatsApp
Telegram

1 Comment. Leave new

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.