Apa itu Soak Testing?

Soak testing adalah jenis pengujian kinerja yang mengukur bagaimana aplikasi menangani peningkatan jumlah pengguna atau tugas yang semakin berat dalam jangka waktu yang lama. Soak testing termasuk pengujian nonfungsional dan merupakan bentuk pengujian stres. Proses ini memberi tahu penguji perangkat lunak apakah sebuah aplikasi berfungsi dengan baik setelah digunakan selama beberapa jam — atau bahkan hari. Soak testing mengungkap masalah perangkat lunak yang hanya muncul setelah berjalan dalam waktu lama, seperti kebocoran memori secara bertahap.

Selama soak testing, tim quality assurance (QA) mencatat metrik untuk indikator kinerja utama, seperti throughput, waktu respons, dan penggunaan memori, lalu membandingkannya dari awal hingga akhir pengujian.

Profesional QA memasukkan soak testing sebelum aplikasi atau pembaruan aplikasi dirilis ke produksi, di mana aplikasi tersebut tersedia untuk pengguna nyata. Soak testing biasanya dilakukan bersamaan dengan pengujian sistem, yang memeriksa komponen perangkat lunak sebagai satu sistem untuk memastikan kesesuaiannya dengan persyaratan yang ditentukan. Pengujian nonfungsional lainnya juga sering dilakukan pada level ini, seperti pengujian beban.

Tim pengujian dapat memilih menjalankan soak test semalam atau selama akhir pekan untuk menghindari gangguan terhadap anggota tim pengembangan perangkat lunak lainnya selama jam kerja normal.

Soak Testing vs. Load Testing vs. Stress Testing

Soak testing sering disalahartikan atau disamakan dengan jenis pengujian kinerja lainnya, termasuk pengujian beban dan stress testing.

Pengujian beban (load testing) melibatkan aplikasi atau sistem dengan tingkat pekerjaan yang diharapkan. Proses ini bertujuan untuk menentukan batas ideal dari pekerjaan yang dapat ditangani oleh aplikasi atau perangkat lunak. Pengujian stres (stress testing) mengekspos aplikasi ke lebih dari 100% tingkat lalu lintas yang diharapkan — atau beban yang dimaksud — untuk menentukan ambang batas di mana perangkat lunak atau sistem tidak lagi dapat berfungsi dengan andal. Tidak seperti pengujian beban, pengujian stres biasanya dilakukan hingga targetnya rusak.

Soak testing berbeda dari kedua metode tersebut karena berfokus pada keberlanjutan kinerja jangka panjang — bukan menentukan batas atas kemampuan kinerja sistem. Dalam soak testing, pengujian dilakukan untuk memastikan apakah aplikasi tetap berfungsi ketika dikenakan hingga 100% dari beban yang dimaksudkan untuk jangka waktu yang lama. Dalam soak test, penguji memantau efek dari beban yang terus meningkat.

Alat untuk Soak Testing

Banyak alat yang dapat menjalankan soak testing bersama teknik pengujian lainnya. Biasanya, profesional QA menggunakan alat pengujian beban untuk melakukan soak test dan memprogram periode lalu lintas tinggi, sedang, atau rendah sesuai kebutuhan, serta durasi pengujian. Jika alat memiliki durasi maksimum, penguji dapat menggunakan hasilnya dan mengekstrapolasi untuk memperkirakan kinerja dalam rentang waktu yang lebih lama, seperti seminggu atau sebulan.

Contoh alat dan sistem otomatis yang mendukung soak testing termasuk Apache JMeter, LoadUI, WebLOAD, Appvance IQ, dan berbagai plugin di GitHub serta Jenkins.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *