Cara menguji perangkat lunak di database cloud
Pengujian basis data dilakukan untuk memeriksa integritas basis data dengan menemukan dan memperbaiki kerentanannya. Tanpa proses ini, sistem mungkin menjadi tidak stabil. Beberapa atau semua informasi yang disimpan di database Cloud mungkin tidak berguna atau lebih buruk lagi, dapat diakses oleh personel yang tidak berwenang.
sang penulis: David Lees
Pengujian basis data cloud terutama melibatkan komponen yang dapat diuji yang disembunyikan dari pengguna, oleh karena itu disebut juga “pengujian ulang”. Ini termasuk sistem manajemen basis data (DBMS), server SQL, dan proses internal lainnya. Saat melakukan pengujian database, Anda harus memverifikasi elemen seperti tabel database, validasi server, dan prosedur tersimpan.
Pengujian basis data cloud sangat mirip dengan pengujian basis data tradisional. Perbedaan utamanya adalah untuk pertama kalinya, Anda akan menjalankan pengujian di platform cloud. Perhatikan bahwa sebelum memulai, pastikan untuk meninjau persyaratan dan menentukan peran apa yang akan Anda mainkan dalam proyek tersebut. Artikel kami sebelumnya “Praktik Terbaik untuk Meninjau Persyaratan Testabilitas” menyajikan contoh skenario saat menguji aplikasi di platform cloud baru. Orang atau tim lain mungkin bertanggung jawab untuk menyiapkan perangkat lunak, dan Anda mungkin ditugaskan untuk memvalidasi aplikasi. Untuk menghindari kebingungan dan memastikan akuntabilitas, penting untuk mengklarifikasi nama-nama ini sejak awal.
Setelah selesai, saatnya melanjutkan proses yang meliputi bagian-bagian berikut:
Membuat atau memigrasi database dan mengotomatisasi prosedur
Membuat instance database dapat dilakukan dengan aman di lingkungan cloud yang dikemas dengan perangkat lunak seperti Kubernetes, yang merupakan open source. Misalnya, portal pengembangan perangkat lunak DEV Community menyediakan proses langkah demi langkah untuk membuat dan menerapkan database MySQL di Kubernetes. Ini dapat dicapai dengan membuat serangkaian file YAML. Untuk mengelola otomatisasi yang kompleks, perlu menggunakan operator Kubernetes. MongoDB mencatat bahwa itu memperluas API Kubernetes untuk mengonfigurasi dan mengelola instance database. Ini sangat berguna untuk tugas-tugas dasar seperti penginstalan, pencadangan, dan penyiapan pemulihan.
Anda juga dapat memigrasi database yang ada ke platform cloud pilihan Anda. Namun, perlu diingat bahwa ini mungkin membutuhkan waktu lebih lama, terutama jika Anda berurusan dengan data berukuran beberapa terabyte.
Melakukan tes struktural, non-fungsional dan fungsional
Setelah basis data Anda siap, Anda dapat melanjutkan dengan tiga jenis pengujian basis data.
1. Uji struktur
· Server validasi dan pengujian tabel database
Validasi konfigurasi server database menggunakan persyaratan bisnis yang ditentukan proyek sebagai garis dasar. Periksa juga izin operasi pengguna serta jumlah transaksi yang diizinkan pengguna.
Verifikasi juga pemetaan tabel database Anda. Apakah bidang pendukung cocok dengan bidang depan? Apakah logika penamaan memenuhi persyaratan bisnis? Apakah ada tabel database yang tidak terpakai? Apakah tabel mengizinkan atau membatasi pengguna untuk memasukkan data? Ini adalah beberapa pertanyaan yang perlu Anda jawab saat ini.
Tes kunci
Periksa apakah kunci primer dan asing dimasukkan dengan informasi dan hubungan yang benar dalam tabel yang sesuai. Dalam makalah penelitian dari Blekinge Institute of Technology, tabel berikut dibuat pada database yang diuji dengan pengaturan tradisional serta Windows Azure sebagai platform cloud. Anda dapat membuat sesuatu yang serupa untuk eksperimen Anda sendiri atau menggunakan generator online.
· Prosedur tersimpan dan pemicu uji
Alat seperti LINQ dapat digunakan untuk memvalidasi prosedur tersimpan.
Periksa semua prosedur tersimpan untuk melihat apakah pengkodean sesuai dengan konvensi yang benar dan penanganan kesalahan diterapkan. Periksa apakah database mematuhi perintah trim saat pengguna mengambil data dari tabel yang diperlukan.
Juga uji hasilnya saat prosedur tersimpan dijalankan secara manual. Gunakan pertanyaan ini sebagai panduan: Apakah program pengujian memperbarui kolom tabel sesuai? Apakah hasil yang diperlukan dikirimkan ke pengguna melalui prosedur tersimpan? Apakah itu mengaktifkan pemicu yang diperlukan?
Untuk Pemicu, periksa juga pengkodean yang tepat dan apakah data diperbarui sesuai saat diterapkan.
2. Pengujian non-fungsional
Tes beban
Majalah Pengujian Perangkat Lunak merekomendasikan beberapa alat pengujian beban gratis di pos lain, yang sebagian besar merupakan pilihan yang sangat baik untuk tugas ini. Agar berhasil melakukan uji beban, Anda harus memeriksa: dampak keseluruhan dari transaksi pengguna dengan frekuensi tertinggi; Transaksi mana yang paling konsisten dengan tujuan sistem. Bagaimana transaksi pengguna edit dan non-edit berbeda. dan waktu respons database Anda saat ada banyak pengguna.
· Tes stres
Gunakan alat seperti Apache JMeter untuk mensimulasikan kelebihan database. Ini memungkinkan Anda untuk menentukan pada titik mana sistem Anda mogok.
3. Tes fungsional
Konsistensi data atau pengujian kotak putih
Periksa apakah data Anda diatur, dialokasikan dengan benar, dan selaras dengan spesifikasi proyek. Pindai data yang tidak perlu juga. Setelah transaksi pengguna berhasil dijalankan, lihat apakah itu dilakukan sesuai dengan persyaratan proyek dan desain. Jika gagal, lihat apakah ia mundur dan apakah instance database lain terpengaruh.
· Verifikasi pengguna atau pengujian kotak hitam
Validasi respons basis data saat pengguna memasukkan nama pengguna yang benar tetapi kata sandi salah. Nama pengguna salah tetapi kata sandi benar atau; Periksa nama pengguna dan kata sandi yang salah serta peran otorisasi pengguna dan data enkripsi untuk semua informasi sensitif. Dan yang terpenting, mengevaluasi langkah-langkah perlindungan basis data terhadap ancaman seperti serangan injeksi SQL.
Mengadakan ujian akhir
Tes QA akhir harus dilakukan untuk melihat apakah ada kesalahan yang muncul setelah menyelesaikan tugas di atas. Saat tes berakhir, pastikan database sehat.
Tentang Penulis
David Lees telah bekerja dalam desain perangkat lunak selama 12 tahun terakhir. Dia adalah penduduk asli New York yang mencintai tidak lebih dari menunggu bulan-bulan musim panas tiba dan memanfaatkan kota yang indah di mana dia tinggal. Selain menulis tentang pengembangan perangkat lunak, David juga terus memantau perdagangan saham dan melihat perkembangan terbaru. Perusahaan teknologi besar