Tutorial Pengujian ETL
Apa itu Pengujian ETL?
Pengujian ETL dilakukan untuk memastikan data yang dimuat dari sumber ke tujuan setelah transformasi bisnis akurat. Ini juga melibatkan verifikasi data pada berbagai tahap tengah yang digunakan antara sumber dan tujuan. ETL adalah singkatan Ekstrak-Transformasi-Beban.
Pengujian Gudang Data
Pengujian Gudang Data adalah metode pengujian di mana data di dalam gudang data diuji integritas, keandalan, keakuratan, dan konsistensinya agar sesuai dengan kerangka data perusahaan. Tujuan utama pengujian gudang data adalah untuk memastikan bahwa data yang terintegrasi di dalam gudang data cukup andal bagi perusahaan untuk mengambil keputusan.
Apa itu ETL?
ETL adalah singkatan dari Extract-Transform-Load dan merupakan proses bagaimana data dimuat dari sistem sumber ke gudang data. Data diekstraksi dari database OLTP, diubah agar sesuai dengan skema gudang data dan dimuat ke dalam database gudang data. Banyak gudang data juga menggabungkan data dari sistem non-OLTP seperti file teks, sistem lama, dan spreadsheet.
Mari kita lihat cara kerjanya
Misalnya, ada toko ritel yang memiliki departemen berbeda seperti penjualan, pemasaran, logistik, dll. Masing-masing departemen menangani informasi pelanggan secara mandiri, dan cara mereka menyimpan data tersebut sangat berbeda. Bagian penjualan menyimpannya berdasarkan nama pelanggan, sedangkan bagian pemasaran menyimpannya berdasarkan id pelanggan.
Sekarang jika mereka ingin memeriksa riwayat pelanggan dan ingin tahu produk apa saja yang dibeli pelanggan karena kampanye pemasaran yang berbeda, itu akan sangat membosankan.
Solusinya adalah dengan menggunakan a datawarehouse untuk menyimpan informasi dari berbagai sumber dalam struktur yang seragam menggunakan ETL. ETL dapat mengubah kumpulan data yang berbeda menjadi struktur terpadu.Later gunakan alat BI untuk memperoleh wawasan dan laporan bermakna dari data ini.
Diagram berikut dalam tutorial pengujian ETL ini memberi Anda PETA JALAN aliran proses Pengujian ETL dan berbagai konsep pengujian ETL:
1) Ekstrak
- Ekstrak data yang relevan
2) Transformasi
- Ubah data ke format DW (Data Warehouse).
- Kunci pembuatan – Kunci adalah satu atau lebih atribut data yang secara unik mengidentifikasi suatu entitas. Bermacam-macam jenis kunci adalah kunci utama, kunci alternatif, kunci asing, kunci komposit, kunci pengganti. Gudang data memiliki kunci-kunci ini dan tidak pernah mengizinkan entitas lain untuk menetapkannya.
- Pembersihan data :Setelah data diekstraksi, maka akan masuk ke tahap berikutnya, pembersihan dan penyesuaian data. Pembersihan melakukan penghilangan data serta mengidentifikasi dan memperbaiki kesalahan. Menyesuaikan berarti menyelesaikan konflik antara data yang tidak kompatibel, sehingga dapat digunakan dalam gudang data perusahaan. Selain itu, sistem ini membuat metadata yang digunakan untuk mendiagnosis masalah sistem sumber dan meningkatkan kualitas data.
3) Beban
- Memuat data ke DW (Data Warehouse)
- Bangun agregat – Membuat agregat adalah merangkum dan menyimpan data yang tersedia tabel fakta untuk meningkatkan kinerja kueri pengguna akhir.
Proses Pengujian ETL
Mirip dengan Proses Pengujian lainnya, ETL juga melalui tahapan yang berbeda. Berbagai tahapan proses pengujian ETL adalah sebagai berikut
Pengujian ETL dilakukan dalam lima tahap
- Mengidentifikasi sumber data dan persyaratan
- Data akuisisi
- Menerapkan logika bisnis dan Pemodelan dimensi
- Membangun dan mengisi data
- Membangun Laporan
Jenis Pengujian ETL
- Pengujian Validasi Produksi
Proses Pengujian: “Penyeimbangan tabel” atau “rekonsiliasi produksi” jenis pengujian ETL ini dilakukan pada data saat data tersebut dipindahkan ke sistem produksi. Untuk mendukung keputusan bisnis Anda, data dalam sistem produksi Anda harus berada dalam urutan yang benar. Informatika Opsi Validasi Data memberikan otomatisasi pengujian ETL dan kemampuan manajemen untuk memastikan bahwa sistem produksi tidak disusupi oleh data. - Sumber ke Target Pengujian (Pengujian Validasi)
Proses Pengujian: Jenis pengujian ini dilakukan untuk memvalidasi apakah nilai data yang ditransformasikan merupakan nilai data yang diharapkan. - Aplikasi Upgrades
Proses Pengujian: Jenis pengujian ETL seperti itu dapat dibuat secara otomatis, sehingga menghemat banyak waktu pengembangan pengujian. Jenis pengujian ini memeriksa apakah data yang diekstraksi dari aplikasi atau repositori lama sama persis dengan data di repositori atau aplikasi baru. - Pengujian Metadata
Proses Pengujian: Pengujian metadata meliputi pengujian pemeriksaan tipe data, pemeriksaan panjang data dan pemeriksaan indeks/batasan. - Pengujian Kelengkapan Data
Proses Pengujian: Untuk memverifikasi bahwa semua data yang diharapkan dimuat dalam target dari sumbernya, dilakukan pengujian kelengkapan data. Beberapa pengujian yang dapat dijalankan adalah membandingkan dan memvalidasi jumlah, agregat, dan data aktual antara sumber dan target untuk kolom dengan transformasi sederhana atau tanpa transformasi. - Pengujian Akurasi Data
Proses Pengujian: Pengujian ini dilakukan untuk memastikan bahwa data dimuat secara akurat dan diubah sesuai yang diharapkan. - Pengujian Transformasi Data
Proses Pengujian: Pengujian transformasi data dilakukan karena dalam banyak kasus hal ini tidak dapat dicapai dengan menulis satu sumber SQL query dan membandingkan output dengan target. Beberapa kueri SQL mungkin perlu dijalankan untuk setiap baris guna memverifikasi aturan transformasi. - Pengujian Kualitas Data
Proses Pengujian:Tes Kualitas Data mencakup tes sintaksis dan referensi. Untuk menghindari kesalahan karena tanggal atau nomor pesanan selama proses bisnis, pengujian Kualitas Data dilakukan.
Tes Sintaks: Ini akan melaporkan data kotor, berdasarkan karakter yang tidak valid, pola karakter, urutan huruf besar atau kecil yang salah, dll.
Tes Referensi: Ini akan memeriksa data sesuai dengan model data. Misalnya: ID Pelanggan
Pengujian kualitas data meliputi pemeriksaan nomor, pemeriksaan tanggal, pemeriksaan presisi, pemeriksaan data, pemeriksaan nol, dll.
- Pengujian ETL tambahan
Proses Pengujian: Pengujian ini dilakukan untuk memeriksa integritas data lama dan data baru dengan penambahan data baru. Pengujian tambahan memverifikasi bahwa penyisipan dan pembaruan diproses seperti yang diharapkan selama proses ETL tambahan. - Pengujian GUI/Navigasi
Proses Pengujian: Pengujian ini dilakukan untuk memeriksa aspek navigasi atau GUI pada laporan front end.
Cara Membuat Kasus Uji ETL
Pengujian ETL adalah konsep yang dapat diterapkan pada berbagai alat dan database dalam industri manajemen informasi. Tujuan pengujian ETL adalah untuk memastikan bahwa data yang dimuat dari sumber ke tujuan setelah transformasi bisnis akurat. Ini juga melibatkan verifikasi data pada berbagai tahap tengah yang digunakan antara sumber dan tujuan.
Saat melakukan pengujian ETL, dua dokumen yang akan selalu digunakan oleh penguji ETL adalah
- Lembar pemetaan ETL :Lembar pemetaan ETL berisi semua informasi tabel sumber dan tujuan termasuk setiap kolom dan pencariannya di tabel referensi. Penguji ETL harus terbiasa dengan kueri SQL karena pengujian ETL mungkin melibatkan penulisan kueri besar dengan banyak gabungan untuk memvalidasi data pada setiap tahap ETL. Lembar pemetaan ETL memberikan bantuan yang signifikan saat menulis pertanyaan untuk verifikasi data.
- Skema DB Sumber, Target: Ini harus selalu berguna untuk memverifikasi setiap detail dalam lembar pemetaan.
Skenario Uji ETL dan Kasus Uji
- Memetakan validasi dokumen
Kasus Uji: Verifikasi dokumen pemetaan apakah informasi ETL terkait disediakan atau tidak. Log perubahan harus disimpan di setiap dokumen pemetaan. - Pengesahan
Kasus Uji:1) Validasi struktur tabel sumber dan target terhadap dokumen pemetaan yang sesuai.
2) Tipe data sumber dan tipe data target harus sama
3) Panjang tipe data di sumber dan target harus sama
4) Verifikasi bahwa jenis dan format bidang data telah ditentukan
5) Panjang tipe data sumber tidak boleh kurang dari panjang tipe data target
6) Validasi nama kolom dalam tabel terhadap dokumen pemetaan. - Validasi Kendala
Kasus Uji: Pastikan batasan ditentukan untuk tabel tertentu seperti yang diharapkan - Masalah konsistensi data
Kasus Uji:1) Tipe data dan panjang untuk atribut tertentu dapat bervariasi dalam file atau tabel meskipun definisi semantiknya sama.
2) Penyalahgunaan batasan integritas - Masalah Kelengkapan
Kasus Uji:1) Pastikan semua data yang diharapkan dimuat ke tabel target.
2) Bandingkan jumlah rekaman antara sumber dan target.
3) Periksa catatan yang ditolak
4) Periksa apakah data tidak terpotong di kolom tabel target
5) Periksa analisis nilai batas
6) Membandingkan nilai unik bidang kunci antara data yang dimuat ke WH dan data sumber - Masalah Kebenaran
Kasus Uji:1) Data yang salah eja atau dicatat secara tidak akurat
2) Data nol, tidak unik, atau di luar jangkauan - Transformasi
Kasus Uji: Transformasi - Kualitas Data
Kasus Uji:1) Pemeriksaan nomor: Perlu pemeriksaan nomor dan validasinya
2) Pemeriksaan Tanggal: Mereka harus mengikuti format tanggal dan harus sama di semua catatan
3) Pemeriksaan Presisi
4) Pemeriksaan data
5) Cek nol - Validasi Nol
Kasus Uji: Verifikasi nilai null, di mana “Bukan Null” ditentukan untuk kolom tertentu. - Pemeriksaan Duplikat
Kasus Uji:1) Perlu memvalidasi kunci unik, kunci utama dan kolom lainnya harus unik sesuai dengan persyaratan bisnis yang memiliki baris duplikat
2) Periksa apakah ada nilai duplikat di kolom mana pun yang mengekstrak dari beberapa kolom di sumber dan menggabungkan menjadi satu kolom
3) Sesuai dengan kebutuhan klien, perlu dipastikan tidak ada duplikat dalam kombinasi beberapa kolom hanya dalam target - Validasi Tanggal
Kasus Uji: Nilai tanggal menggunakan banyak area dalam pengembangan ETL1) Untuk mengetahui tanggal pembuatan baris
2) Identifikasi catatan aktif sesuai perspektif pengembangan ETL
3) Identifikasi catatan aktif sesuai dengan perspektif persyaratan bisnis
4) Kadang-kadang berdasarkan nilai tanggal, pembaruan dan penyisipan dibuat. - Validasi Data Lengkap
Kasus Uji:1) Untuk memvalidasi set data lengkap di tabel sumber dan target dikurangi kueri dalam solusi terbaik
2) Kita perlu sumber dikurangi target dan target dikurangi sumber
3) Jika kueri minus mengembalikan nilai apa pun, maka itu harus dianggap sebagai baris yang tidak cocok
4) Perlu mencocokkan baris antara sumber dan target menggunakan pernyataan intersect
5) Jumlah yang dikembalikan oleh intersect harus sesuai dengan jumlah masing-masing tabel sumber dan target
6) Jika kueri minus mengembalikan baris dan jumlah intersect lebih kecil dari jumlah sumber atau tabel target, maka kita dapat menganggapnya sebagai baris duplikat yang ada. - Kebersihan Data
Kasus Uji: Kolom yang tidak diperlukan harus dihapus sebelum dimuat ke staging area.
Jenis Bug ETL
Jenis Bug | Uraian Teknis |
---|---|
Bug antarmuka pengguna/bug kosmetik |
• Terkait dengan GUI aplikasi • Gaya font, ukuran font, warna, perataan, kesalahan ejaan, navigasi, dan sebagainya |
Bug terkait Analisis Nilai Batas (BVA). | • Nilai minimum dan maksimum |
Bug terkait Partisi Kelas Ekivalensi (ECP). | • Tipe yang valid dan tidak valid |
Bug Masukan/Keluaran |
• Nilai yang valid tidak diterima • Nilai tidak valid diterima |
Bug perhitungan |
• Kesalahan matematika • Hasil akhir salah |
Bug Kondisi Beban |
• Tidak mengizinkan banyak pengguna • Tidak memungkinkan beban yang diharapkan pelanggan |
Bug Kondisi Balapan |
• Sistem crash & hang • Sistem tidak dapat menjalankan platform klien |
Bug kontrol versi |
• Tidak ada logo yang cocok • Tidak ada informasi versi yang tersedia • Hal ini biasanya terjadi di Pengujian Regresi |
bug H/W | • Perangkat tidak merespons aplikasi |
Bug Sumber Bantuan | • Kesalahan dalam dokumen bantuan |
Perbedaan antara Pengujian Basis Data dan Pengujian ETL
Pengujian ETL | Pengujian Basis Data |
---|---|
Memverifikasi apakah data dipindahkan seperti yang diharapkan | Tujuan utama adalah untuk memeriksa apakah data mengikuti aturan/standar yang ditentukan dalam Model Data |
Memverifikasi apakah jumlah di sumber dan target cocok
Memverifikasi apakah data yang diubah sesuai harapan |
Verifikasi bahwa tidak ada catatan yatim piatu dan hubungan kunci utama asing tetap terjaga |
Memverifikasi bahwa hubungan kunci utama asing dipertahankan selama ETL | Memverifikasi bahwa tidak ada tabel yang berlebihan dan database dinormalisasi secara optimal |
Memverifikasi duplikasi dalam data yang dimuat | Verifikasi apakah data hilang di kolom jika diperlukan |
Tanggung jawab Penguji ETL
Tanggung jawab utama penguji ETL dipisahkan menjadi tiga kategori
- Tabel panggung/ SFS atau MFS
- Logika transformasi bisnis diterapkan
- Target pemuatan tabel dari file tahapan atau tabel setelah menerapkan transformasi.
Beberapa tanggung jawab penguji ETL adalah
- Uji perangkat lunak ETL
- Uji komponen gudang data ETL
- Jalankan pengujian berbasis data backend
- Buat, rancang, dan jalankan kasus uji, rencana pengujian, dan rangkaian pengujian
- Mengidentifikasi permasalahan dan memberikan solusi terhadap permasalahan yang mungkin terjadi
- Menyetujui persyaratan dan spesifikasi desain
- Transfer data dan Uji file datar
- Menulis kueri SQL3 untuk berbagai skenario seperti uji hitungan
Pengujian Kinerja di ETL
Pengujian Kinerja di ETL adalah teknik pengujian untuk memastikan bahwa sistem ETL dapat menangani beban banyak pengguna dan transaksi. Tujuan utama ETL Pengujian Kinerja adalah untuk mengoptimalkan dan meningkatkan kinerja sesi dengan mengidentifikasi dan menghilangkan hambatan kinerja. Basis data sumber dan target, pemetaan, sesi, dan sistem mungkin memiliki hambatan kinerja.
Salah satu alat terbaik yang digunakan untuk Pengujian/Penyetelan Kinerja adalah Informatica.
Otomatisasi Pengujian ETL
Metodologi umum pengujian ETL adalah dengan menggunakan skrip SQL atau melakukan “pengamatan” data. Pendekatan pengujian ETL ini memakan waktu, rawan kesalahan, dan jarang memberikan hasil yang lengkap. cakupan tes. Untuk mempercepat, meningkatkan cakupan, mengurangi biaya, meningkatkan Cacat rasio deteksi pengujian ETL di lingkungan produksi dan pengembangan, otomatisasi adalah kebutuhan saat ini. Salah satu alat tersebut adalah Informatica.
Praktik Terbaik untuk Pengujian ETL
- Pastikan data diubah dengan benar
- Tanpa kehilangan data dan pemotongan, data yang diproyeksikan harus dimuat ke dalam gudang data
- Pastikan aplikasi ETL dengan tepat menolak dan mengganti dengan nilai default dan melaporkan data yang tidak valid
- Perlu memastikan bahwa data dimuat di gudang data dalam jangka waktu yang ditentukan dan diharapkan untuk memastikan skalabilitas dan kinerja
- Semua metode harus memiliki pengujian unit yang sesuai, apa pun visibilitasnya
- Untuk mengukur efektivitasnya, semua pengujian unit harus menggunakan teknik cakupan yang sesuai
- Upayakan satu pernyataan per kasus uji
- membuat tes unit pengecualian target itu
Periksa - Pertanyaan & Jawaban Wawancara Pengujian ETL