Apa itu Pengujian Volume? Belajar dengan Contoh
โก Ringkasan Cerdas
Pengujian Volume menguji aplikasi dengan jumlah data yang sangat besar untuk melihat bagaimana penyimpanan, kueri, dan waktu respons berperilaku seiring pertumbuhan basis data. Pengujian ini juga disebut pengujian banjir (flood testing), dan tujuannya adalah untuk meningkatkan skala data, bukan jumlah pengguna.

Apa itu Pengujian Volume?
Pengujian Volume adalah jenis Pengujian Perangkat Lunak, di mana perangkat lunak dikenai data dalam jumlah besar. Hal ini juga disebut sebagai pengujian banjir. Pengujian volume dilakukan untuk menganalisis kinerja sistem dengan meningkatkan volume data dalam database.
Dengan bantuan pengujian Volume, dampak pada waktu respons dan perilaku sistem dapat dipelajari ketika terkena data dalam jumlah besar.
Sebagai contoh, layanan streaming musik mungkin diuji dengan katalog berisi 50 juta lagu. tracks dan tabel riwayat mendengarkan yang menyimpan miliaran baris, untuk melihat apakah kueri pencarian dan rekomendasi masih memberikan hasil dalam waktu yang dapat diterima.
Perhatikan perbedaannya: Pengujian volume meningkatkan jumlah data Sistem ini tetap berjalan. Meningkatkan jumlah pengguna bersamaan adalah pengujian beban, yang merupakan pengujian berbeda dengan tujuan yang berbeda.
Manfaat Pengujian Volume
- Mengidentifikasi masalah kapasitas sejak dini akan menghindari biaya yang jauh lebih tinggi untuk memperbaikinya di tahap produksi.
- Ini membantu memulai rencana skalabilitas dengan lebih cepat
- Identifikasi awal kemacetan
- Ini memastikan sistem Anda sekarang mampu digunakan di dunia nyata
Mengapa Melakukan Pengujian Volume?
Tujuan melakukan pengujian volume adalah untuk
- Periksa kinerja sistem dengan meningkatnya volume data dalam database
- Identifikasi masalah yang kemungkinan akan muncul ketika kumpulan data menjadi besar.
- Untuk mengetahui titik di mana stabilitas sistem menurun
- Pengujian Volume akan membantu mengidentifikasi kapasitas sistem atau aplikasi โ volume normal dan berat
Cara Melakukan Pengujian Volume
Dalam pengujian volume, hal-hal berikut perlu diuji
- Uji untuk memeriksa apakah ada data yang hilang
- Periksa waktu respons sistem
- Periksa apakah data disimpan dengan benar atau tidak
- Verifikasi apakah data ditimpa tanpa pemberitahuan apa pun
- Pastikan peringatan dan pesan kesalahan benar-benar muncul saat batas volume tercapai.
- Periksa apakah data bervolume tinggi mempengaruhi kecepatan pemrosesan
- Pastikan sistem memiliki memori dan sumber daya penyimpanan yang dibutuhkan oleh volume tersebut.
- Pastikan pengujian volume mencakup seluruh sistem, bukan hanya satu komponen.
- Apakah ada risiko jika volume data lebih besar dari yang ditentukan
- Pastikan apakah ada jaminan bahwa volume data tidak akan melebihi batas maksimum yang ditentukan.
Praktik Terbaik untuk Pengujian Bervolume Tinggi
Beberapa praktik di bawah ini sama dengan pengujian beban, karena keduanya biasanya dijalankan pada lingkungan yang sama. Praktik yang spesifik untuk volume berkaitan dengan kumpulan data itu sendiri:
- Hentikan semua server dan periksa semua log
- Sebelum uji beban, jalankan skenario aplikasi secara manual
- Untuk hasil yang paling berguna, ubah jumlah pengguna
- Untuk mengatasi kendala lisensi, seimbangkan waktu berpikir
- Berhati-hatilah dengan bangunan baru
- Analisis kasus penggunaan untuk perbaikan setelah garis dasar ditetapkan
- Pengulangan bagian tertentu dari pengujian volume menjadi tidak dapat dihindari jika terjadi hambatan kinerja
Pengujian Volume vs Pengujian Beban
| Pengujian Volume | Pengujian beban |
|---|---|
|
|
|
|
Tantangan dalam Pengujian Volume
- Fragmentasi memori sulit dihasilkan
- Pembuatan kunci yang dinamis
- Relasional Integrity dari data yang dihasilkan
Bagaimana Tes Ini Dibandingkan dengan Tes Kinerja Lainnya
Pengujian kinerja adalah serangkaian pengujian yang berbeda dalam bentuk beban yang diterapkan, itulah sebabnya pengujian ini sangat mudah membingungkan.
| Jenis pengujian | Apa yang ditingkatkan | Pertanyaan itu menjawab |
|---|---|---|
| Uji beban | Jumlah pengguna bersamaan, hingga puncak yang diharapkan. | Apakah target tercapai pada kondisi lalu lintas puncak normal? |
| Pengujian volume | Data yang tersimpan dalam basis data | Apakah sistem tersebut mampu menangani peningkatan ukuran data seiring berjalannya waktu? |
| Tes stres | Beban melebihi kapasitas, hingga terjadi kegagalan. | Di mana letak kerusakannya, dan bagaimana caranya? |
| Pengujian lonjakan | Muat, seketika dan sangat cepat. | Apakah ia mampu bertahan dan pulih dari guncangan? |
| Pengujian ketahanan | Durasi, pada beban normal | Apakah kinerja menurun seiring waktu? |
| Pengujian perendaman | Durasi, sumber daya menonton | Apakah ada kebocoran memori atau handle? |
| Pengujian stabilitas | Kondisi yang beragam | Apakah tetap dapat diandalkan seiring perubahan kondisi? |
Perbedaan yang paling penting di sini: Pengujian volume mengukur skala data, pengujian beban mengukur skala pengguna. Laporan yang berjalan dalam dua detik terhadap sepuluh ribu baris dan dua menit terhadap sepuluh juta baris memiliki masalah volume, bukan masalah beban, dan penambahan kapasitas server sebesar apa pun tidak akan memperbaikinya.
Cara Menghasilkan Data Uji untuk Pengujian Volume
Bagian tantangan mencatat bahwa menghasilkan data realistis adalah bagian tersulit dari pengujian volume. Empat pendekatan digunakan dalam praktiknya, dan masing-masing melibatkan kompromi.
| Pendekatan | Realisme | Kelemahan utama |
|---|---|---|
| Salinan data produksi | Paling tinggi | Paparan privasi dan kepatuhan |
| Salinan produksi bertopeng | High | Penyamaran dapat merusak integritas referensial. |
| Generasi sintetis | Medium | Distribusi mungkin tidak sesuai dengan kenyataan. |
| Lalu lintas produksi yang diputar ulang | High | Membutuhkan infrastruktur pengambilan data. |
Apa pun rute yang Anda pilih, tiga properti harus terpenuhi, jika tidak, tes tersebut tidak mengukur sesuatu yang berguna.
- Integritas referensial. Setiap foreign key harus dapat diatasi. Satu juta baris yatim piatu akan membebani mesin penyimpanan tetapi tidak pernah membebani jalur join yang sebenarnya digunakan aplikasi.
- Kardinalitas realistis. Jika tabel produksi memiliki sepuluh juta baris yang mencakup dua ratus pelanggan, maka menghasilkan sepuluh juta baris yang mencakup sepuluh juta pelanggan akan menghasilkan rencana kueri yang sama sekali berbeda.
- Distribusi yang realistis. Data sebenarnya cenderung miring. Data acak seragam menyembunyikan partisi panas dan perebutan indeks yang menyebabkan insiden produksi.
Peringatan praktis tentang privasi. Menyalin data produksi ke lingkungan pengujian adalah penyebab paling umum dari pelanggaran data dalam pengujian. Sembunyikan kolom data pribadi sebelum salinan meninggalkan lingkungan produksi, bukan setelahnya.
