Hero Blog General

Stress Testing: Pengujian Sistem untuk Strategi Bisnis

Maret 30, 2023

Article by Ricky Caesar Sam

“Kestabilan dan kehandalan sebuah sistem dapat diukur setelah melakukan proses stress testing”

Ketika aplikasi atau web yang dikembangkan akan digunakan oleh orang banyak maka dibutuhkan pengujian. Pengujian ini disebut dengan stress testing. Pengujian ini untuk mengetahui apakah produk yang mereka buat sudah layak untuk berjalan atau masih perlu dikembangkan. Penasaran apa itu stress testing dan bagaimana melakukannya? Temukan jawabannya dengan membaca artikel ini sampai selesai.

struktur-organisasi-perusahaan-appsensi

Key Takeaways

  • Stress testing adalah teknik simulasi komputer untuk menganalisis bagaimana bank dan portofolio investasi berjalan dalam skenario ekonomi yang drastis.
  • Stress testing membantu mengukur risiko investasi dan kecukupan aset, serta membantu mengevaluasi proses dan kontrol internal.
  • Stress testing dapat menggunakan skenario historis, hipotetis, atau simulasi.

Apa Itu Stress Testing?

Melansir dari Republika, stress testing adalah teknik manajemen risiko yang digunakan untuk mengevaluasi dampak potensial terhadap kondisi keuangan suatu perusahaan atau lembaga.

Sementara menurut Patra Statistika, stress testing adalah sebuah teknik simulasi komputer, yang banyak digunakan pada berbagai aspek, salah satunya adalah strategi bisnis, manajemen risiko dan keputusan manajemen modal.

Sementara mengutip dari Investopedia, stress testing is a computer simulation technique used to test the resilience of institutions and investment portfolios against possible future financial situations.

Singkatnya, stress testing adalah bentuk pengujian intens atau menyeluruh yang sengaja digunakan untuk menentukan stabilitas sistem tertentu.

Metode ini mampu menguji ketahanan institusi dan portofolio investasi terhadap berbagai kemungkinan situasi keuangan yang akan terjadi di masa yang akan datang. Selain itu, metode stress testing juga akan membantu menetapkan strategi lindung nilai yang diperlukan untuk meminimalisir kerugian.

Yang pasti, setiap perusahaan yang ingin memastikan apakah telah memiliki kontrol serta prosedur internal yang tepat, maka bisa menerapkan metode ini. Begitu juga dengan berbagai model penilaian, model yang menggabungkan risiko individu atau model risiko individu.

Cara kerja metode stress testing sendiri, adalah melakukan pengujian yang dilakukan dengan memberikan beban pada perangkat lunak atau software, hingga akhirnya diketahui titik maksimum performansinya. Untuk melakukan pengujian, biasanya digunakan aplikasi yang membutuhkan konkurensi ataupun akses acak yang hampir bersamaan, yang jumlahnya sangat banyak.

Tujuan Dilakukannya Stress Testing

Ada beberapa alasan mengapa stress testing dilakukan, di antaranya adalah sebagai berikut:

  • Stress testing menganalisis perilaku sistem setelah kegagalan.
  • Stress testing memastikan bahwa sistem pulih setelah kegagalan.
  • Stress testing memeriksa apakah sistem bekerja dalam kondisi abnormal.
  • Stress testing memastikan error message muncul ketika sistem sedang stres.
  • Stress testing memverifikasi bahwa kegagalan tak terduga tidak menyebabkan masalah keamanan.
  • Stress testing memverifikasi apakah sistem telah menyimpan data sebelum error.

Metrik Stress Testing

Melansir dari Geeks For Greeks metrik digunakan untuk mengevaluasi kinerja stres dan biasanya dilakukan pada akhir skrip atau stress test. Beberapa metrik diberikan di bawah ini.

  • Pages Per Second: Jumlah halaman yang diminta per detik dan jumlah halaman yang dimuat per detik.
  • Pages Retrieved: Waktu rata-rata yang diperlukan untuk mengambil semua informasi dari halaman tertentu.
  • Byte Retrieved: Waktu rata-rata yang diambil untuk mengambil byte pertama informasi dari halaman.
  • Transaction Response Time: Waktu rata-rata diambil untuk membuat atau melakukan transaksi antar aplikasi.
  • Transactions per Second: Menghitung jumlah transaksi yang berhasil dimuat per detik dan juga menghitung jumlah kegagalan yang terjadi.
  • Failure of Connection: Menghitung berapa kali klien mengalami kegagalan koneksi di sistem mereka.
  • Failure of System Attempts: Menghitung jumlah kegagalan dalam sistem.
  • Rounds: Menghitung jumlah pengujian atau kondisi script yang berhasil dijalankan oleh klien dan melacak jumlah round yang gagal.

Keuntungan Stress Testing

  • Stress testing menentukan behavior system setelah kegagalan dan memastikan bahwa sistem kembali normal dengan cepat.
  • Stress testing memastikan bahwa kegagalan sistem tidak menyebabkan masalah keamanan.
  • Stress testing membuat sistem bekerja dalam kondisi normal maupun abnormal dengan cara yang tepat.

Kerugian dari Stress Testing

  • Proses manual stress testing membutuhkan waktu lebih lama untuk diselesaikan dan merupakan proses yang rumit.
  • Diperlukan pengetahuan script yang baik untuk mengimplementasikan kasus uji script untuk alat tertentu.
  • Ada kebutuhan untuk sumber daya eksternal untuk mengimplementasikan stress testing. Ini mengacu pada jumlah tambahan sumber daya dan waktu.
  • Dalam hal alat uji stres berlisensi, biayanya lebih dari jumlah biaya rata-rata.
  • Dalam kasus beberapa open-source tools, diperlukan alat pengujian beban sebagai tambahan untuk menyiapkan lingkungan stress testing.
  • Jika script stres atau kasus uji yang tepat tidak diterapkan, maka akan ada kemungkinan kegagalan beberapa sumber daya dan pemborosan waktu.

Elemen Pengujian Stress Testing

Elemen pengujian stress test bisa berbeda-beda, tergantung tool yang digunakan. Akan tetapi, Menurut IR, elemen yang umumnya akan dievaluasi oleh developer saat melaksanakan tes yakni:

1. Response time

Response time dalam stress test adalah waktu yang dibutuhkan sistem untuk memberi respon ketika pengguna meng-input request. Tentunya, ini dilakukan dalam kondisi load sistem yang berat.

2. Hardware constraint

Hardware constraint mengukur penggunaan RAM, CPU dan disk I/O. Hal-hal ini merupakan constraint atau pembatas yang dapat mempengaruhi response time. Jika lambat, bisa jadi penyebabnya adalah komponen-komponen hardware-nya.

3. Throughput

Throughput dalam stress test adalah pengukuran berapa banyak data yang dikirim dan diterima saat pengetesan. Pengujian ini dilakukan berdasarkan level bandwidth.

4. Database reads dan writes

Pengukuran ini dilakukan untuk mengetahui sistem atau unit mana yang kira-kira menyebabkan bottleneck atau kemacetan dalam operasi perangkat.

5. Open database connections

Open database connection ini mempengaruhi performa suatu sistem. Oleh karena itu, open database connections juga termasuk apa yang diuji dalam stress test. Jika jumlah database terlalu banyak atau besar, response time otomatis akan melambat.

6. Third-party content

Halaman web dan aplikasi sering kali bergantung pada komponen third-party. Dengan melakukan stress test, maka dapat diketahui mana saja komponen third-party yang mempengaruhi performa sistem.

Baca juga: Mengenal Definisi, Jenis dan Contoh Strategi Bisnis

Tipe-Tipe Stress Testing

Tipe-Tipe Stress Testing

Menurut laman Ekrut

Melansir dari laman Ekrut, terdapat 5 tipe stress testing yakni sebagai berikut.

1. Pengujian stress terdistribusi

Dalam sistem server klien terdistribusi, pengujian dilakukan di semua klien dari server. Peran server stress adalah untuk mendistribusikan serangkaian stress test untuk semua klien dan melacak statusnya. Setelah itu, server menambahkan nama klien dan mulai mengirim data untuk pengujian dengan mengirim sinyal atau detak jantung yang terhubung. Jika server tidak menerima sinyal apa pun dari mesin klien, maka perlu diselidiki lebih lanjut untuk melakukan debug.

2. Aplikasi stress testing

Pengujian ini berkonsentrasi untuk menemukan bug terkait penguncian dan pemblokiran data, masalah jaringan, dan kemacetan kinerja dalam aplikasi.

3. Pengujian stress transaksional

Merupakan pengujian pada satu atau lebih transaksi antara dua atau lebih aplikasi. Tes ini digunakan untuk fine-tuning dan mengoptimalkan sistem.

4. Pengujian stress sistemik

Merupakan pengujian tegangan terintegrasi yang dapat diuji di beberapa sistem yang berjalan pada server yang sama. Pengujian ini digunakan untuk menemukan bug dimana satu data aplikasi memblokir aplikasi lain.

5. Pengujian stress eksperimental

Merupakan salah satu jenis pengujian yang digunakan untuk menguji sistem dengan parameter atau kondisi yang tidak biasa terjadi dalam skenario nyata.

Menurut laman Investopedia

Sementara mengutip dari laman Investopedia, terdapat 3 tipe stress testing.

1. Historical Stress Testing

Historical stress testing itu dimana bisnis, portofolio, atau investasi individual dijalankan melalui simulasi berdasarkan krisis sebelumnya. Jatuhnya pasar saham pada bulan Oktober 1987 dan krisis  Asia 1997 merupakan contoh krisis historis.

2. Hypothetical Stress Testing

Stress test tipe ini lebih spesifik. Berfokus pada bagaimana perusahaan dapat mengatasi krisis tertentu. Misalnya, sebuah perusahaan di California melakukan stress testing terhadap hipotesis atau perusahaan minyak yang melakukan stress testing ketika terjadi perang di Timur Tengah. Selain itu, hanya ada satu variabel yang diuji. Misalnya, stress test yang melibatkan indeks pasar saham Dow Jones yang kehilangan 10% nilainya dalam seminggu. Hal ini sebagaimana penjelasan Investopedia:

For example, a firm in California might stress-test against a hypothetical earthquake or an oil company might do so against the outbreak of war in the Middle East. Stylized scenarios are a little more scientific in the sense that only one or a few test variables are adjusted at once. For example, the stress test might involve the Dow Jones index losing 10% of its value in a week.

3. Simulated Stress Testing

Jenis stress test ini dapat digunakan untuk metode probabilitas dari berbagai hasil yang diberikan variabel tertentu. Simulasi Monte Carlo adalah salah satu metodologi untuk stress testing yang banyak digunakan. Faktor-faktor yang dipertimbangkan dalam simulasi Monte Carlo, misalnya, memasukkan berbagai variabel ekonomi.

Perusahaan juga dapat beralih ke manajemen risiko yang dikelola secara profesional dan penyedia software untuk berbagai jenis stress testing. Salah satu contoh program stress test outsourcing yang dapat digunakan untuk mengevaluasi risiko dalam portofolio aset ini adalah Moody’s Analytics.

Penjelasan di atas selaras dengan pengertian dan penerapan simulated stress testing menurut Investopedia:

As for the methodology for stress tests, Monte Carlo simulation is one of the most widely known. This type of stress testing can be used for modelling probabilities of various outcomes given specific variables. Factors considered in the Monte Carlo simulation, for example, often include various economic variables. Companies can also turn to professionally managed risk management and software providers for various types of stress tests. Moody’s Analytics is one example of an outsourced stress-testing program that can be used to evaluate risk in asset portfolios.

Menurut Geeks For Geeks

Sementara menurut Geeks For Geeks terdapat 5 tipe stress testing, dimana masing-masing tes ini memiliki tujuan yang berbeda-beda. Adapun penjelasannya selengkapnya yakni sebagai berikut.

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.

Contoh Skenario Stress Testing

Beberapa contoh skenarionya adalah sebagai berikut :

  • Sejumlah besar pengguna login pada saat yang bersamaan
  • Jika pemindai virus dimulai di semua mesin secara bersamaan
  • Jika database offline ketika sedang diakses dari situs web
  • Ketika sejumlah besar data dimasukkan ke database secara bersamaan

Baca juga: Mengenal Apa Itu Action Plan, Contoh, dan Cara Membuatnya

Rekomendasi Software Stress Testing

Rekomendasi Software Stress Testing

Software stress testing satu ini dikembangkan oleh HP. Sebenarnya, tool ini awalnya dibuat untuk load testing. Akan tetapi, seiring berjalannya waktu aplikasi ini juga bisa digunakan untuk melakukan stress testing. Setelah melakukan tes, laporan analisis bisa langsung didapat sehingga lebih mudah menyimpulkan hasil ujinya.

2. Neoload

Neoload adalah aplikasi stress testing yang sering digunakan untuk testing web dan aplikasi smartphone. Neoload memiliki fitur yang sangat canggih dan lengkap. Selain itu, Neoload juga cukup mudah digunakan. Untuk bisa mengakses seluruh fiturnya, Anda harus membayar.

3. JMeter

JMeter merupakan tool open source untuk melakukan stress testing. Para profesional biasanya menggunakan JMeter untuk pengujian aplikasi web. Jmeter merupakan tools berbasis java yang mudah serta ringan untuk digunakan.

4. Grinder

Seperti JMeter, Grinder juga merupakan tool open source untuk melakukan stress testing ataupun load testing. Tools yang berbasis Java ini dapat dengan mudah dan cepat memberikan analisis hasil , karena memiliki fitur reporting.

5. WebLoad

Seperti Neoload, WebLoad juga berbayar. Akan tetapi, ada juga versi gratisnya dengan fitur yang terbatas untuk yang ingin mencoba terlebih dahulu. WebLoad mendukung banyak protokol yang berbeda, seperti HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP, dan masih banyak lagi.

6. 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.

Demikian pembahasan mengenai stress testing yang penting untuk Anda ketahui. Untuk mengakhiri pembahasan mengenai stress testing, kami merekomendasikan pada Anda untuk memanfaatkan Appsensi.

Appsensi adalah aplikasi absensi online berbasis mobile yang mendukung kebutuhan perusahaan, pemerintahan dan UMKM. Memberikan solusi untuk pencatatan kehadiran, penjadwalan karyawan dan penarikan laporan secara real-time.

Dirancang khusus untuk merekam, menyimpan, dan sekaligus mengelola data kehadiran karyawan baik yang berada di kantor ataupun di luar kantor. Appsensi solusi hemat biaya yang membantu HR memonitor kehadiran karyawan. Dengan begitu HR dapat lebih produktif karena tidak hanya disibukkan dengan absensi saja.

Tertarik untuk mencoba menggunakan Appsensi? Atau Anda mempunyai pertanyaan seputar layanan Appsensi jangan ragu untuk hubungi kami atau klik link ini untuk coba gratis selama 30 hari.

Ricky Caesar Sam

Head of Sales and Marketing Appsensi

Artikel Terkait

Top Artikel

Tulis Komentar

Nama

Email

Komentar

Artikel Terkait

TOC Icon