Tutorial Pengujian ETL
โก Ringkasan Cerdas
Pengujian ETL memvalidasi bagaimana data mengalir dari sistem sumber melalui logika transformasi ke gudang data target, memastikan keakuratan, kelengkapan, dan keandalannya. Sumber daya ini menjelaskan tahapan proses, jenis pengujian, kategori bug umum, pendekatan otomatisasi, dan praktik terbaik praktis yang dibutuhkan oleh penguji pemula dan menengah.

Apa itu ETL?
ETL singkatan Extract-Transformasi-Beban, dan ini menjelaskan bagaimana data berpindah dari sistem sumber ke gudang data. Data tersebut adalah...tracData diambil dari basis data OLTP, diubah agar sesuai dengan skema gudang data, dan dimuat ke dalam basis data gudang. Banyak gudang data juga menggabungkan data dari sistem non-OLTP seperti file teks, aplikasi lama, dan spreadsheet.
Sebagai contoh, sebuah toko ritel mungkin memiliki departemen-departemen terpisah seperti penjualan, pemasaran, dan logistik. Setiap departemen menangani informasi pelanggan secara independen, dan cara masing-masing departemen menyimpan data tersebut berbeda. Departemen penjualan mungkin menyimpan catatan berdasarkan nama pelanggan, sementara departemen pemasaran menggunakan ID pelanggan.
Jika tim bisnis ingin meninjau riwayat pembelian lengkap pelanggan di berbagai kampanye pemasaran, data yang terpisah-pisah membuat hal itu sangat melelahkan. Solusinya adalah menggunakan... datawarehouse Untuk menyimpan informasi dari berbagai sumber dalam struktur yang seragam menggunakan ETL. ETL dapat mengubah kumpulan data yang berbeda menjadi struktur yang terpadu, sehingga alat BI nantinya dapat menghasilkan wawasan dan laporan yang bermakna.
Diagram berikut menunjukkan alur proses Pengujian ETL dan konsep inti yang akan Anda gunakan sepanjang panduan ini:
1) Contohtract
- Extracdata relevan dari satu atau lebih sistem sumber.
2) Transformasi
- Ubah data ke format DW (Data Warehouse).
- Membangun kunci: kunci adalah satu atau lebih atribut data yang secara unik mengidentifikasi suatu entitas. Berbagai macam jenis kunci Kunci-kunci tersebut meliputi primary key, alternate key, foreign key, composite key, dan surrogate key. Data warehouse memiliki kunci-kunci ini dan tidak pernah mengizinkan entitas lain untuk menugaskannya.
- Pembersihan data: setelah data diekstraksitracSetelah itu, proses berlanjut ke fase pembersihan dan penyesuaian. Pembersihan memperbaiki kekurangan dan mengidentifikasi kesalahan. Penyesuaian menyelesaikan konflik antara kumpulan data yang tidak kompatibel sehingga dapat digunakan dalam gudang data perusahaan. Sistem ini juga membuat metadata yang membantu mendiagnosis masalah sistem sumber dan meningkatkan kualitas data.
3) Beban
- Muat data ke dalam DW (Gudang Data).
- Membangun agregat: agregat meringkas dan menyimpan data dari suatu sumber. tabel fakta untuk meningkatkan kinerja kueri pengguna akhir.
Apa itu Pengujian ETL?
Pengujian ETL dilakukan untuk memastikan bahwa data yang dimuat dari sumber ke tujuan, setelah transformasi bisnis, akurat. Pengujian ini juga melibatkan verifikasi data di berbagai tahap perantara antara sumber dan tujuan. Karena ETL merupakan singkatan dari Execution, maka ETL adalah proses yang melibatkan verifikasi data di berbagai tahap perantara antara sumber dan tujuan.tracPengujian ETL (Transform-Load) mencakup ketiga tahapan ini dan titik-titik di mana data berpindah di antara tahapan tersebut.
Mengapa Pengujian ETL Penting?
Setelah Anda memahami apa itu Pengujian ETL, pertanyaan selanjutnya adalah mengapa organisasi menginvestasikan begitu banyak upaya ke dalamnya. Keputusan bisnis bergantung pada data yang benar, lengkap, dan dapat dipercaya, sehingga satu kesalahan transformasi saja dapat berdampak pada laporan keuangan, analisis pelanggan, dan pengungkapan peraturan.
Poin-poin berikut menjelaskan nilai praktis dari pengujian ETL yang kuat:
- Akurasi data: Hal ini menegaskan bahwa nilai-nilai yang diubah oleh aturan bisnis sesuai dengan peta yang didokumentasikan.ping spesifikasi, mencegah korupsi diam-diam.
- Pelaporan yang dapat diandalkan: Dasbor dan alat BI bergantung pada gudang data, sehingga pipeline ETL yang terverifikasi melindungi setiap laporan dan KPI hilir.
- Kepatuhan terhadap peraturan: Industri seperti perbankan, perawatan kesehatan, dan asuransi harus membuktikan bahwa asal usul dan integritas data terjaga dari ujung ke ujung.
- Pengurangan pengerjaan ulang: Mendeteksi kerusakan di lingkungan produksi tingkat rendah menghindari biaya tambahan untuk pengisian ulang produksi, rekonsiliasi manual, dan kesalahan yang dihadapi pelanggan.
- Jaminan kinerja: Pengujian ETL mengukur jendela pemuatan, throughput, dan hambatan sehingga gudang data terus berkembang seiring bertambahnya volume data.
Dengan motivasi yang jelas ini, bagian selanjutnya akan membahas proses terstruktur yang diikuti oleh penguji ETL dalam proyek nyata.
Proses Pengujian ETL
Sama seperti proses pengujian lainnya, ETL juga melalui berbagai fase. Fase-fase berbeda dari proses Pengujian ETL adalah sebagai berikut:
Pengujian ETL dilakukan dalam lima tahap:
- Mengidentifikasi sumber data dan persyaratan
- Data akuisisi
- Menerapkan logika bisnis dan pemodelan dimensional.
- Membangun dan mengisi data
- Membangun laporan
Dengan memahami proses tingkat tinggi tersebut, mari kita lihat jenis-jenis pengujian spesifik yang sesuai dalam siklus hidup ini.
Jenis Pengujian ETL
- Pengujian Validasi Produksi
Proses Pengujian: Disebut juga โpenyeimbangan tabelโ atau โrekonsiliasi produksi,โ jenis pengujian ETL ini dilakukan pada data saat data tersebut masuk ke sistem produksi. Untuk mendukung keputusan bisnis, data produksi harus dalam urutan yang benar. Informatika Opsi Validasi Data menyediakan otomatisasi pengujian ETL dan kemampuan manajemen sehingga sistem produksi tidak terganggu oleh data yang buruk. - Sumber ke Target Pengujian (Pengujian Validasi)
Proses Pengujian: Jenis pengujian ini memvalidasi apakah nilai data yang ditransformasikan sesuai dengan nilai target yang diharapkan. - Aplikasi Upgrades
Proses Pengujian: Jenis pengujian ETL ini dapat dihasilkan secara otomatis, sehingga menghemat waktu pengembangan pengujian secara signifikan. Pengujian ini memeriksa apakah data yang dieksportracData yang diambil dari aplikasi atau repositori lama cocok dengan data di aplikasi atau repositori baru. - Pengujian Metadata
Proses Pengujian: Pengujian metadata mencakup pemeriksaan tipe data, pemeriksaan panjang data, dan pemeriksaan indeks atau batasan. - Pengujian Kelengkapan Data
Proses Pengujian: Pengujian kelengkapan data memverifikasi bahwa semua data yang diharapkan dimuat dari sumber ke target. Tes umum meliputi membandingkan dan memvalidasi jumlah catatan, agregat, dan data aktual antara kolom sumber dan target ketika transformasi sederhana atau tidak ada. - Pengujian Akurasi Data
Proses Pengujian: Pengujian ini memastikan bahwa data dimuat dan ditransformasikan secara akurat sesuai harapan. - Pengujian Transformasi Data
Proses Pengujian: Pengujian transformasi data seringkali tidak dapat dicapai hanya dengan satu sumber. SQL kueri dan perbandingan output. Beberapa kueri SQL mungkin diperlukan untuk setiap baris guna memverifikasi aturan transformasi. - Pengujian Kualitas Data
Proses Pengujian:Pengujian kualitas data meliputi pengujian sintaksis dan pengujian referensi. Pengujian ini mencegah kesalahan proses bisnis yang disebabkan oleh tanggal atau nomor pesanan yang salah.
Pengujian sintaks melaporkan data yang tidak akurat berdasarkan karakter yang tidak valid, pola karakter, dan urutan huruf besar atau kecil yang salah.
Tes referensi memeriksa data terhadap model data. Misalnya: ID Pelanggan.
Pengujian kualitas data juga mencakup pengecekan angka, pengecekan tanggal, pengecekan presisi, pengecekan data, dan pengecekan nilai kosong.
- Pengujian ETL Inkremental
Proses Pengujian: Pengujian ini memeriksa integritas data lama dan data baru dengan penambahan data baru. Pengujian inkremental memverifikasi bahwa penyisipan dan pembaruan diproses sesuai harapan selama proses ETL inkremental. - Pengujian GUI/Navigasi
Proses Pengujian: Pengujian ini memeriksa navigasi dan aspek GUI dari laporan front-end.
Cara Membuat Kasus Uji ETL
Pengujian ETL adalah konsep yang dapat diterapkan pada berbagai alat dan basis data dalam industri manajemen informasi. Tujuan dari Pengujian ETL adalah untuk memastikan bahwa data yang dimuat dari sumber ke tujuan setelah transformasi bisnis adalah akurat. Hal ini juga mencakup verifikasi data di berbagai tahapan perantara antara sumber dan tujuan.
Saat melakukan pengujian ETL, dua dokumen selalu digunakan oleh penguji ETL:
- Peta ETLping lembaran: Peta ETLping Lembar kerja 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 join untuk memvalidasi data di setiap tahap. Peta ETLping Lembar kerja memberikan bantuan yang signifikan saat menulis kueri untuk verifikasi data.
- Skema basis data sumber dan target: Sebaiknya peta ini selalu disimpan agar mudah digunakan untuk memverifikasi detail apa pun yang ada di peta.ping seprai.
Skenario Uji ETL dan Kasus Uji
- Lokasiping validasi dokumen
Kasus Uji: Verifikasi apakah informasi ETL yang sesuai tersedia di dalam peta.ping Dokumen. Catatan perubahan harus dipelihara di setiap peta.ping doc - Pengesahan
Kasus Uji:1) Validasi struktur tabel sumber dan target terhadap peta yang sesuai.ping doc
2) Tipe data sumber dan tipe data target harus sama.
3) Panjang tipe data di sumber dan target harus sama.
4) Pastikan tipe dan format kolom data telah ditentukan.
5) Panjang tipe data sumber tidak boleh kurang dari panjang tipe data target.
6) Verifikasi nama kolom dalam tabel dengan petaping doc - Validasi Kendala
Kasus Uji: Pastikan batasan (constraints) telah didefinisikan untuk tabel tertentu sesuai yang diharapkan. - Masalah konsistensi data
Kasus Uji:1) Tipe data dan panjang untuk atribut tertentu dapat bervariasi di berbagai file atau tabel, bahkan ketika definisi semantiknya sama.
2) Penyalahgunaan batasan integritas. - Masalah Kelengkapan
Kasus Uji:1) Pastikan semua data yang diharapkan telah dimuat ke dalam tabel target.
2) Bandingkan jumlah rekaman antara sumber dan target.
3) Periksa apakah ada catatan yang ditolak.
4) Periksa apakah data tidak terpotong di kolom tabel target.
5) Periksa analisis nilai batas.
6) Bandingkan nilai unik dari kolom-kolom kunci antara data yang dimuat ke dalam gudang data dan data sumber. - Masalah Kebenaran
Kasus Uji:1) Data yang salah eja atau dicatat secara tidak akurat.
2) Data null, tidak unik, atau di luar rentang. - Transformasi
Kasus Uji: Validasi bahwa setiap aturan bisnis dan logika transformasi ada di dalam peta.ping Dokumen diterapkan dengan benar ke data sumber sebelum sampai ke target. - Kualitas Data
Kasus Uji:1) Pemeriksaan angka: memvalidasi format dan nilai numerik.
2) Pemeriksaan tanggal: tanggal harus mengikuti format yang sama dan konsisten di seluruh catatan.
3) Pemeriksaan presisi.
4) Pemeriksaan data.
5) Pemeriksaan null. - Validasi Nol
Kasus Uji: Verifikasi nilai null di mana โTidak Nullโ ditentukan untuk kolom tertentu. - Pemeriksaan Duplikat
Kasus Uji:1) Validasi kunci unik, kunci utama, dan kolom lain yang harus unik sesuai persyaratan bisnis untuk memastikan tidak ada baris duplikat.
2) Periksa apakah ada nilai duplikat di kolom mana pun, misalnyatracDiambil dari beberapa kolom sumber dan digabungkan menjadi satu kolom.
3) Sesuai persyaratan klien, pastikan tidak ada duplikat dalam kombinasi beberapa kolom di dalam target. - Validasi Tanggal
Kasus Uji: Nilai tanggal digunakan di banyak area pengembangan ETL:1) Untuk mengetahui tanggal pembuatan baris.
2) Mengidentifikasi active records dari perspektif pengembangan ETL.
3) Mengidentifikasi catatan aktif dari perspektif persyaratan bisnis.
4) Terkadang, berdasarkan nilai tanggal, pembaruan dan penyisipan akan dihasilkan. - Validasi Data Lengkap
Kasus Uji:1) Validasi seluruh kumpulan data pada tabel sumber dan target menggunakan kueri minus sebagai solusi terbaik.
2) Anda perlu melakukan perhitungan sumber dikurangi target dan target dikurangi sumber.
3) Jika kueri pengurangan mengembalikan nilai apa pun, baris-baris tersebut harus dianggap tidak cocok.
4) Cocokkan baris antara sumber dan target menggunakan pernyataan intersect.
5) Jumlah yang dikembalikan oleh intersect harus sesuai dengan jumlah masing-masing tabel sumber dan tabel target.
6) Jika kueri pengurangan mengembalikan baris dan jumlah irisan kurang dari jumlah sumber atau target, berarti ada baris duplikat. - Kebersihan Data
Kasus Uji: Kolom yang tidak diperlukan harus dihapus sebelum dimuat ke staging area.
Jenis Bug ETL
Meskipun dengan kasus uji yang kuat, pipeline ETL dapat gagal dengan berbagai cara. Gambar di bawah ini merangkum kategori bug yang harus Anda perhatikan, dan tabel berikut menjelaskan masing-masing kategori tersebut.
| Jenis Bug | Uraian Teknis |
|---|---|
| Bug antarmuka pengguna/bug kosmetik |
โข Terkait dengan GUI aplikasi โข Gaya huruf, ukuran huruf, 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 mengizinkan beban yang diharapkan pelanggan |
| Bug Kondisi Balapan |
โข Sistem mengalami kerusakan dan macet โข Sistem tidak dapat menjalankan platform klien |
| Bug kontrol versi |
โข Tidak ada logo yang cocok โข Tidak ada informasi versi yang tersedia โข Biasanya terjadi pada Pengujian Regresi |
| bug H/W | โข Perangkat tidak merespons aplikasi |
| Bug Sumber Bantuan | โข Kesalahan dalam dokumen bantuan |
Pengujian Gudang Data
Pengujian Gudang Data Pengujian gudang data adalah metode pengujian di mana data di dalam gudang data diuji integritas, keandalan, akurasi, dan konsistensinya agar sesuai dengan kerangka kerja data perusahaan. Tujuan utama pengujian gudang data adalah untuk memastikan bahwa data terintegrasi di dalam gudang cukup andal bagi perusahaan untuk mengambil keputusan. Sementara Pengujian ETL berfokus pada pergerakan data, Pengujian Gudang Data mencakup lapisan penyimpanan dan pelaporan yang lebih luas yang pada akhirnya diumpankan oleh ETL.
Perbedaan antara Pengujian Basis Data dan Pengujian ETL
Meskipun kedua disiplin ilmu ini bekerja dengan data terstruktur, keduanya menjawab pertanyaan yang berbeda. Tabel di bawah ini menyoroti perbedaan praktisnya:
| Pengujian ETL | Pengujian Basis Data |
|---|---|
| Memverifikasi apakah data dipindahkan sesuai harapan. | Tujuan utamanya adalah untuk memeriksa apakah data tersebut mengikuti aturan dan standar yang telah ditetapkan dalam model data. |
| Memverifikasi apakah jumlah dalam sumber dan target cocok, dan bahwa data yang ditransformasikan sesuai dengan yang diharapkan. | Memverifikasi bahwa tidak ada catatan yatim piatu dan bahwa hubungan kunci utama asing dipertahankan. |
| Memverifikasi bahwa relasi primary key asing dipertahankan selama proses ETL. | Memverifikasi bahwa tidak ada tabel yang berlebihan dan bahwa basis data dinormalisasi secara optimal. |
| Memverifikasi adanya duplikasi dalam data yang dimuat. | Memverifikasi apakah data hilang di kolom yang membutuhkannya. |
Pengujian Kinerja di ETL
Pengujian Kinerja di ETL ETL adalah teknik pengujian yang memastikan sistem ETL dapat menangani beban banyak pengguna dan transaksi. Tujuan utama ETL adalah... Pengujian Kinerja Tujuannya adalah untuk mengoptimalkan dan meningkatkan kinerja sesi dengan mengidentifikasi dan menghilangkan hambatan kinerja. Basis data sumber dan target, pemetaanpings, sesi, dan sistem itu sendiri semuanya dapat mengandung hambatan.
Salah satu alat terbaik yang digunakan untuk Pengujian dan Penyetelan Kinerja adalah Informatica.
Tanggung jawab Penguji ETL
Tanggung jawab utama seorang penguji ETL terbagi menjadi tiga kategori:
- Meja panggung / SFS atau MFS
- Logika transformasi bisnis diterapkan
- Target Pemuatan tabel dari file sementara atau tabel setelah menerapkan transformasi.
Beberapa tanggung jawab sehari-hari seorang penguji ETL meliputi:
- Uji perangkat lunak ETL
- Komponen pengujian gudang data ETL
- Jalankan pengujian berbasis data di sisi backend.
- Membuat, mendesain, dan mengeksekusi. kasus uji, rencana pengujian, dan perlengkapan pengujian
- Mengidentifikasi masalah dan memberikan solusi untuk potensi masalah.
- Menyetujui persyaratan dan spesifikasi desain
- Validasi transfer data dan uji file teks biasa.
- Tulis kueri SQL untuk berbagai skenario seperti pengujian penghitungan.
Otomatisasi Pengujian ETL
Metodologi umum pengujian ETL adalah menggunakan skrip SQL atau pengamatan visual data. Pendekatan ini memakan waktu, rawan kesalahan, dan jarang memberikan hasil yang lengkap. cakupan tesUntuk mempercepat pelaksanaan, meningkatkan cakupan, mengurangi biaya, dan meningkatkan kinerja. cacat Dalam hal deteksi di lingkungan produksi dan pengembangan, otomatisasi sangat dibutuhkan saat ini. Salah satu alat tersebut adalah Informatica.
Tim modern juga memadukan otomatisasi tradisional dengan bantuan AI yang menyarankan pengujian transformasi, menghasilkan data sumber sintetis, dan menandai penyimpangan skema, sehingga penguji dapat fokus pada logika bisnis yang kompleks daripada pemeliharaan skrip yang berulang.
Praktik Terbaik untuk Pengujian ETL
- Pastikan data diubah dengan benar.
- Tanpa kehilangan atau pemotongan data apa pun, data yang diproyeksikan harus dimuat ke dalam gudang data.
- Pastikan aplikasi ETL menolak data yang tidak valid dengan tepat, menggantinya dengan nilai default jika memungkinkan, dan melaporkannya.
- Konfirmasikan bahwa data dimuat ke dalam gudang data dalam jangka waktu yang ditentukan dan diharapkan untuk memvalidasi skalabilitas dan kinerja.
- Semua metode harus memiliki pengujian unit yang sesuai terlepas dari visibilitasnya.
- Untuk mengukur efektivitasnya, semua pengujian unit harus menggunakan teknik cakupan yang tepat.
- Usahakan agar setiap kasus uji memiliki satu pernyataan.
- membuat tes unit yang menargetkan pengecualian.
Periksa - Pertanyaan & Jawaban Wawancara Pengujian ETL





