Apa itu STRESS Testing dalam Pengujian Perangkat Lunak?
Pengujian Tegangan
Pengujian Tegangan adalah jenis pengujian perangkat lunak yang memverifikasi stabilitas & keandalan aplikasi perangkat lunak. Tujuan dari Stress Testing adalah mengukur ketahanan perangkat lunak dan kemampuan penanganan kesalahan dalam kondisi beban yang sangat berat dan memastikan bahwa perangkat lunak tidak crash dalam situasi krisis. Ia bahkan menguji melampaui titik pengoperasian normal dan mengevaluasi cara kerja perangkat lunak dalam kondisi ekstrem.
Dalam Rekayasa Perangkat Lunak, Stress Testing juga dikenal sebagai Pengujian Daya Tahan. Dalam Stress Testing, AUT diberi tekanan dalam jangka waktu singkat untuk mengetahui daya tahannya. Penggunaan yang paling menonjol Tujuan dari stress test adalah untuk menentukan batas dimana sistem atau perangkat lunak atau perangkat keras rusak. Ini juga memeriksa apakah sistem menunjukkan manajemen kesalahan yang efektif dalam kondisi ekstrim.
Aplikasi yang diuji akan ditekankan ketika data 5GB disalin dari situs web dan ditempel di notepad. Notepad sedang stres dan memberikan pesan kesalahan 'Tidak Ditanggapi'.
Perlunya Pengujian Stres
Pertimbangkan contoh waktu nyata berikut di mana kita dapat menemukan penggunaan Pengujian Stres-
- Selama waktu festival, situs belanja online mungkin mengalami lonjakan lalu lintas, atau saat mengumumkan penjualan.
- Ketika sebuah blog disebutkan di surat kabar terkemuka, tiba-tiba blog tersebut mengalami lonjakan lalu lintas.
Sangat penting untuk melakukan Stress Testing untuk mengakomodasi lonjakan lalu lintas yang tidak normal tersebut. Kegagalan untuk mengakomodasi lalu lintas yang tiba-tiba ini dapat mengakibatkan hilangnya pendapatan dan reputasi.
Pengujian stres juga sangat berharga karena alasan berikut:
- Untuk memeriksa apakah sistem bekerja dalam kondisi tidak normal.
- Menampilkan pesan kesalahan yang sesuai ketika sistem sedang stres.
- Kegagalan sistem dalam kondisi ekstrem dapat mengakibatkan hilangnya pendapatan dalam jumlah besar
- Sebaiknya bersiap menghadapi kondisi ekstrem dengan melakukan Stress Testing.
Tujuan Pengujian Stres
Tujuan dari stress test adalah untuk menganalisis perilaku sistem setelah kegagalan. Agar pengujian stres berhasil, sistem harus menampilkan pesan kesalahan yang sesuai ketika berada dalam kondisi ekstrem.
Untuk melakukan Stress Testing, terkadang, kumpulan data yang sangat besar dapat digunakan yang mungkin hilang selama Stress Testing. Penguji tidak boleh kehilangan data terkait keamanan ini saat melakukan pengujian stres.
Tujuan utama dari stress test adalah untuk memastikan bahwa sistem pulih setelah kegagalan yang disebut sebagai pemulihan.
Pengujian Beban Vs Pengujian Stres
Pengujian beban | Pengujian Tegangan |
---|---|
Pengujian beban adalah menguji perilaku sistem dalam kondisi beban kerja normal, dan hanya menguji atau mensimulasikan dengan beban kerja sebenarnya | Stress testing adalah menguji perilaku sistem dalam kondisi ekstrim dan dilakukan hingga sistem mengalami kegagalan. |
Pengujian beban tidak merusak sistem | stress test mencoba merusak sistem dengan menguji menggunakan data atau sumber daya yang sangat banyak. |
Jenis Pengujian Stres
Berikut ini adalah jenis-jenis pengujian stres dan dijelaskan sebagai berikut:
Pengujian Stres Terdistribusi:
Dalam sistem klien-server terdistribusi, pengujian dilakukan di semua klien dari server. Peran server stres adalah untuk mendistribusikan serangkaian tes stres ke semua klien stres dan melacak status klien. Setelah klien menghubungi server, server menambahkan nama klien dan mulai mengirimkan data untuk pengujian.
Sedangkan mesin klien mengirimkan sinyal atau detak jantung bahwa ia terhubung dengan server. Jika server tidak menerima sinyal apa pun dari mesin klien, maka perlu diselidiki lebih lanjut untuk debugging. Dari gambar, server dapat terhubung dengan 2 klien (Klien1 dan Klien2), tetapi tidak dapat mengirim atau menerima sinyal dari Klien 3 & 4.
Lari malam adalah pilihan terbaik untuk menjalankan skenario stress test ini. Kumpulan server yang besar memerlukan metode yang lebih efisien untuk menentukan komputer mana yang mengalami kegagalan akibat stres yang perlu diselidiki.
Pengujian Stres Aplikasi:
Pengujian ini berkonsentrasi pada penemuan cacat terkait penguncian dan pemblokiran data, masalah jaringan, dan hambatan kinerja dalam suatu aplikasi.
Pengujian Stres Transaksional:
Itu melakukan pengujian stres pada satu atau lebih transaksi antara dua atau lebih aplikasi. Ini digunakan untuk menyempurnakan & mengoptimalkan sistem.
Pengujian Stres Sistemik:
Ini adalah pengujian stres terintegrasi yang dapat diuji pada beberapa sistem yang berjalan pada server yang sama. Ini digunakan untuk menemukan cacat di mana satu data aplikasi memblokir aplikasi lain.
Pengujian Stres Eksplorasi:
Ini adalah salah satu jenis pengujian stres yang digunakan untuk menguji sistem dengan parameter atau kondisi tidak biasa yang tidak mungkin terjadi dalam skenario nyata. Ini digunakan untuk menemukan cacat dalam skenario yang tidak terduga seperti
- Sejumlah besar pengguna login pada saat yang bersamaan
- Jika pemindai virus dimulai di semua mesin secara bersamaan
- Jika Database menjadi offline saat diakses dari situs web,
- Ketika sejumlah besar data dimasukkan ke dalam database secara bersamaan
Bagaimana cara melakukan Tes Stres?
Proses Stress Testing dapat dilakukan dalam 5 langkah besar:
Langkah 1) Merencanakan Stress Test: Di sini Anda mengumpulkan data sistem, menganalisis sistem, menentukan tujuan stress test
Langkah 2) Buat Skrip Otomatisasi: Pada fase ini, Anda membuat skrip otomatisasi pengujian stres, menghasilkan data pengujian untuk skenario stres.
Langkah 3) Eksekusi Skrip: Pada tahap ini, Anda menjalankan skrip otomatisasi pengujian stres dan menyimpan hasil stres.
Langkah 4) Analisis Hasil: Pada tahap ini, Anda menganalisis hasil Stress Test dan mengidentifikasi hambatan.
Langkah 5) Penyesuaian dan Optimasi: Pada tahap ini, Anda menyempurnakan sistem, mengubah konfigurasi, mengoptimalkan kode dengan tujuan memenuhi tolok ukur yang diinginkan.
Terakhir, Anda menjalankan kembali seluruh siklus untuk menentukan bahwa penyesuaian telah memberikan hasil yang diinginkan. Misalnya, bukan hal yang aneh jika harus melakukan 3 hingga 4 siklus proses Stress Testing untuk mencapai sasaran kinerja
Alat yang direkomendasikan untuk Stress Testing
LoadRunner
LoadRunner dari HP adalah alat Pengujian Beban yang banyak digunakan. Hasil Uji Beban yang dibentuk oleh Loadrunner dianggap sebagai patokan.
jmeter
Jmeter adalah alat pengujian Sumber Terbuka. Itu murni Java aplikasi untuk stres dan Pengujian Kinerja. Jmeter dimaksudkan untuk mencakup jenis pengujian seperti beban, fungsional, tegangan, dll. Jmeter memerlukan JDK 5 atau lebih tinggi agar dapat berfungsi.
Penguji Stres
Alat ini memberikan analisis ekstensif terhadap kinerja aplikasi web, memberikan hasil dalam format grafis, dan sangat mudah digunakan. Tidak diperlukan skrip tingkat tinggi dan memberikan laba atas investasi yang baik.
Neo memuat
Ini adalah alat populer yang tersedia di pasar untuk menguji web dan mobil aplikasi. Alat ini dapat mensimulasikan ribuan pengguna untuk mengevaluasi kinerja aplikasi saat dimuat dan menganalisis waktu respons. Ini juga mendukung terintegrasi Cloud – pengujian kinerja, beban, dan stres. Mudah digunakan, hemat biaya, dan memberikan skalabilitas yang baik.
Metrik untuk Stress Testing
Metrik membantu dalam mengevaluasi kinerja Sistem dan umumnya dipelajari pada akhir Stress Test. Metrik yang umum digunakan adalah –
Mengukur Skalabilitas & Kinerja
- Halaman per Detik: Mengukur berapa banyak halaman yang diminta / Detik
- Throughput: Metrik Dasar – Ukuran data respons/Detik
- Putaran: Berapa kali skenario pengujian direncanakan Versus Berapa kali klien dieksekusi
Respon Aplikasi
- Waktu klik: Waktu rata-rata untuk mengambil gambar atau halaman
- Waktu ke byte pertama: Waktu yang dibutuhkan untuk mengembalikan byte pertama data atau informasi
- Waktu Halaman: Waktu yang dibutuhkan untuk mengambil semua informasi dalam suatu halaman
Kegagalan
- Koneksi Gagal: Jumlah koneksi gagal yang ditolak oleh klien (Lemah Signal)
- Putaran Gagal: Jumlah putaran yang gagal
- Gagal Hits: Jumlah upaya gagal yang dilakukan oleh sistem (Tautan rusak atau gambar tidak terlihat)
Kesimpulan
Tujuan stress test adalah untuk memeriksa sistem dalam kondisi ekstrim. Ini memonitor sumber daya sistem seperti Memori, prosesor, jaringan dll., dan memeriksa kemampuan sistem untuk pulih kembali ke status normal. Ia memeriksa apakah sistem menampilkan pesan kesalahan yang sesuai saat sedang stres.
Contoh Stress Testing
- Situs web e-commerce mengumumkan penjualan festival
- Situs berita pada saat beberapa peristiwa besar
- Situs web hasil Dewan Pendidikan
- Situs jejaring sosial atau blog, aplikasi, dll