Pengujian Basis Data - Jenis
Berdasarkan fungsi dan struktur database, pengujian DB dapat dikategorikan menjadi tiga kategori -
Structural Database Testing - Ini berkaitan dengan pengujian tabel dan kolom, pengujian skema, prosedur tersimpan dan pengujian tampilan, memeriksa pemicu, dll.
Functional Testing- Ini melibatkan pemeriksaan fungsionalitas database dari sudut pandang pengguna. Jenis pengujian fungsional yang paling umum adalah pengujian kotak putih dan kotak hitam.
Nonfunctional Testing - Ini melibatkan pengujian beban, pengujian risiko dalam database, pengujian stres, persyaratan sistem minimum, dan berkaitan dengan kinerja database.
Pengujian Basis Data Struktural
Pengujian database struktural melibatkan verifikasi komponen database tersebut, yang tidak diekspos ke pengguna akhir. Ini melibatkan semua komponen repositori, yang digunakan untuk menyimpan data dan tidak diubah oleh pengguna akhir. Administrator database dengan perintah yang baik atas prosedur tersimpan SQL dan konsep lain biasanya melakukan pengujian ini.
Dibahas adalah komponen umum yang diuji sehubungan dengan Pengujian Struktural -
Pengujian Skema / Pemetaan
Ini melibatkan validasi objek aplikasi front-end dengan pemetaan objek database.
Dalam Pengujian Skema -
Kadang-kadang terjadi bahwa objek aplikasi pengguna akhir tidak dipetakan dengan benar atau kompatibel dengan objek database. Oleh karena itu, pemeriksaan validasi berbagai format skema yang terkait dengan database diperlukan.
Diperlukan untuk menemukan objek yang tidak dipetakan dalam database, seperti tabel, tampilan, kolom, dll. Diperlukan.
Ada berbagai alat di pasar yang dapat digunakan untuk melakukan pemetaan objek dalam skema.
Example - Di Microsoft SQL Server, penguji dapat menulis kueri sederhana untuk memeriksa dan memvalidasi skema di database.
Jika penguji ingin membuat perubahan pada struktur tabel, dia harus memastikan bahwa semua stored prosedur yang memiliki tabel tersebut kompatibel dengan perubahan ini.
Prosedur Tersimpan dan Pengujian Tampilan
Dalam pengujian ini, penguji memastikan bahwa eksekusi manual dari prosedur tersimpan dan tampilan menghasilkan hasil yang diperlukan.
Penguji memastikan -
Jika memungkinkan pemicu yang diperlukan untuk dieksekusi seperti yang diharapkan.
Jika tim pengembangan telah mencakup semua loop dan kondisi dengan meneruskan masukan ke aplikasi dalam prosedur.
Jika ada prosedur tersimpan yang tidak terpakai dalam database.
Operasi TRIM diterapkan dengan benar ketika data diambil dari tabel yang diperlukan dalam database.
Validasi integrasi keseluruhan dari modul prosedur yang tersimpan sesuai dengan persyaratan aplikasi yang diuji.
Mekanisme pengecualian dan penanganan kesalahan diikuti.
Alat paling umum yang digunakan untuk melakukan pengujian prosedur tersimpan adalah LINQ, SP Test tool, dll.
Pengujian Pemicu
Dalam pengujian pemicu, penguji perlu memastikan hal-hal berikut -
Apakah konvensi pengkodean diikuti selama fase pengkodean pemicu.
Lihat pemicu yang dieksekusi memenuhi kondisi yang diperlukan.
Apakah pemicu memperbarui data dengan benar, setelah dieksekusi.
Validasi Update / Insert / Delete memicu aplikasi fungsionalitas wrt yang sedang diuji.
Tabel dan pengujian Kolom
Area utama yang tercakup dalam pengujian ini adalah -
Memvalidasi tipe data dalam database ke nilai bidang di aplikasi front-end.
Memvalidasi panjang bidang data dalam database dengan panjang tipe data dalam aplikasi.
Memeriksa apakah ada tabel atau kolom yang belum dipetakan dalam database dari objek bidang aplikasi.
Konvensi penamaan tabel dan kolom database diverifikasi, apakah sesuai dengan kebutuhan bisnis atau tidak.
Memvalidasi Kunci dan Indeks dalam database, yaitu, kunci utama dan asing dalam tabel ditentukan sesuai kebutuhan.
Periksa apakah kunci utama dan kunci asingnya sama di dua tabel.
Periksa karakteristik Unique dan NOT NULL dari kunci dipertahankan.
Panjang dan tipe data dari kunci dan indeks dipertahankan sesuai kebutuhan.
Pemeriksaan Server Database
Pemeriksaan Server Database melibatkan verifikasi -
Jika server database dapat menangani jumlah transaksi yang diharapkan sesuai kebutuhan bisnis.
Jika detail konfigurasi server database memenuhi persyaratan bisnis.
Jika otorisasi pengguna dipertahankan sesuai kebutuhan.
Pengujian Fungsional
Pengujian fungsional dilakukan dengan mengingat sudut pandang pengguna akhir; apakah transaksi dan operasi yang diperlukan yang dijalankan oleh pengguna akhir memenuhi spesifikasi bisnis.
Pengujian Kotak Hitam
Pengujian Black Box melibatkan verifikasi integrasi database untuk memeriksa fungsionalitas. Kasus uji sederhana dan digunakan untuk memverifikasi data masuk dan data keluar dari fungsi.
Berbagai teknik seperti teknik grafik sebab-akibat, partisi kesetaraan, dan analisis nilai batas digunakan untuk menguji fungsionalitas database.
Nya advantages adalah sebagai berikut -
- Ini cukup sederhana dan dilakukan pada tahap awal perkembangan.
- Biaya pengembangan kasus uji lebih murah dibandingkan dengan pengujian kotak putih.
Kerugiannya adalah sebagai berikut -
- Beberapa kesalahan tidak dapat dideteksi
- Tidak diketahui berapa banyak program yang perlu diuji.
Pengujian Kotak Putih
White Box Testing berkaitan dengan struktur internal database dan detail spesifikasinya disembunyikan dari pengguna. Ini melibatkan pengujian pemicu database dan tampilan logis, yang akan mendukung refactoring database.
Ia melakukan pengujian modul fungsi database, pemicu, tampilan, kueri SQL, dll. Jenis pengujian ini memvalidasi tabel database, model data, skema database, dll. Ia memeriksa aturan integritas Referensial. Ini memilih nilai tabel default untuk memeriksa konsistensi database.
Teknik yang paling umum digunakan untuk melakukan pengujian kotak putih adalah cakupan kondisi, cakupan keputusan, cakupan pernyataan, dll.
Kesalahan pengkodean dapat dideteksi dalam pengujian kotak putih, sehingga bug internal dalam database dapat dihilangkan. Batasan pengujian white-box adalah bahwa pernyataan SQL tidak tercakup.
Pengujian Nonfungsional
Pengujian nonfungsional melibatkan pelaksanaan pengujian beban, pengujian stres, pemeriksaan persyaratan sistem minimum untuk memenuhi spesifikasi bisnis, penemuan risiko, dan optimalisasi kinerja database.
Pengujian Beban
Target utama pengujian beban adalah untuk memeriksa apakah sebagian besar transaksi yang berjalan berdampak pada kinerja database.
Dalam pengujian beban, penguji memeriksa -
- Waktu respons untuk menjalankan transaksi untuk beberapa pengguna jarak jauh.
- Waktu yang dibutuhkan oleh database untuk mengambil record tertentu.
Examples of load testing in different testing types -
- Menjalankan transaksi yang paling sering digunakan secara berulang untuk melihat kinerja sistem database.
- Mendownload serangkaian file besar dari internet.
- Menjalankan banyak aplikasi di komputer atau server secara bersamaan.
Pengujian Stres
Pengujian tegangan dilakukan untuk mengidentifikasi breakpoint sistem. Dalam pengujian ini, aplikasi dimuat sedemikian rupa sehingga sistem gagal pada satu titik. Titik ini disebutbreakpoint sistem database.
Menentukan keadaan transaksi basis data melibatkan banyak upaya. Perencanaan yang tepat diperlukan untuk menghindari masalah waktu dan biaya.
Alat uji stres yang paling umum digunakan adalah LoadRunner dan WinRunner.
Mari kita ambil examplePengujian Stres. Aplikasi CRM dapat mengambil beban pengguna maksimum 50.000 pengguna secara bersamaan. Misalkan Anda meningkatkan beban menjadi 51000 dan membuat beberapa transaksi seperti memperbarui catatan atau menambahkan entri. Segera setelah Anda melakukan transaksi, aplikasi dapat melakukan sinkronisasi dengan sistem database. Jadi pengujian selanjutnya adalah melakukan dengan beban pengguna 52000. Terkadang, Stress Testing juga disebutFatigue Testing.