130 likes | 317 Views
Chapter 16 Testing Your Data Warehouse. KELOMPOK Yan Catur Amboro ( 06.2011.1.05754 ) M Samsuri ( 06.2011.1.05826 ) Wahyu Hidayat ( 06.2011.1.05898 ) Wahyu Frediansyah ( 06.2011.1.05919 ). Data Warehouse ETL Testing.
E N D
Chapter 16Testing Your Data Warehouse KELOMPOK Yan CaturAmboro ( 06.2011.1.05754 ) M Samsuri ( 06.2011.1.05826 ) WahyuHidayat ( 06.2011.1.05898 ) WahyuFrediansyah ( 06.2011.1.05919 )
Data Warehouse ETL Testing • Pengujian ETL penting karena ETL membawa data dari source system ke dalam data warehouse. • Pada dasarnya, sebuah sistem data warehouse memiliki tiga komponen utama: ETL, penyimpanan data, dan aplikasi. • ETL = +/- 60-80% • Storage = +/- 25% • Applikasi = +/- 25% • Persentase bervariasi tergantung pada seberapa kompleks aplikasi
Tujuan utama dari pengujian ETL adalah sebagai berikut: • Untuk memastikan mendapatkan semua data yang dibutuhkan, dengan kata lain, tidak melewatkan update suatu data dalam source system • Untuk memastikan data yang benar dimasukkan ke dalam data warehouse.yaitu, dimuat dalam tabel yang tepat, pada kolom yang tepat, dalam format yang tepat, pada waktu yang tepat • Untuk memastikan ETL tambahan bekerja sesuai dengan desain, terlepas dari apakah itu adalah batch architecture, a push architecture, ataua service-oriented architecture. • Untuk memastikan script bulk load (jika Anda memilikinya) dengan benar memuat data ke dalam data warehouse.
Fungtional Testing • Pengujian fungsional adalah tentang memastikan bahwa semua kebutuhan bisnis terpuaskan. • Kemampuan Datayang diperlukan user dari data warehouse untuk melakukan tugas-tugas bisnis mereka, seperti kemampuan untuk menganalisis aktivitas pelanggan tertentu dengan kriteria tertentu, kemampuan untuk melihat data tertentu untuk jangka waktu tertentu, dan kemampuan untuk menelusuri data ke tingkat tertentu untuk mengidentifikasi masalah bisnis. Performance Testing • Performace testing memverifikasi bahwa semua persyaratan teknis yang terkait dengan platform, kapasitas, latency, dan waktu respon terpuaskan. • Performancetestingini penting karena ketika mengembangkan proses ETL, penggunaan sejumlah kecil data.Fokus pada pemastian fungsi proses ETL yang benar. Sekarang itu dikembangkan, harus dijalankan dalam kondisi operasional dalam hal beban kerja, waktu, jumlah data dimuat, dan jumlah data yang sudah ada di tabel sasaran, hardware, indeks, partisi, jumlah user, jenis dan jumlah query, kali kubus-pengolahan, jumlah variabel dalam data mining dan analisis prediktif, dan sebagainya.
Tujuan melakukan performance test adalah untuk memenuhi persyaratan performa. Beberapa persyaratan yang berlaku untuk sistem data warehouse keseluruhan (sebut persyaratan performa umum), sedangkan persyaratan lainnya hanya berlaku untuk unsur-unsur tertentu dari sistem (sebut persyaratan performa tertentu). Pada dasarnya ada tiga langkah untuk melakukan performance test pada proses ETL: • mengkonfigurasi lingkungan pengujian • jalankan proses pemuatan • menjalankan proses tambahan.
mengkonfigurasi server uji data warehouse sesuai konfigurasi produksi. membuat menyimpan data dan mengatur proses ETL.yaitu, migrasi paket SSIS dari development untuk menguji Server. Kemudian menghubungkan server tes untuk menguji versi source system (kadang-kadang dikenal sebagai QA) dan mengatur semua konektivitas dan akses yang diperlukan. memuat data uji ke lingkungan QA. menjalankan seluruh proses ETL dari ujung ke ujung menggunakan beban kecil untuk memverifikasi bahwa lingkungan pengujian telah dikonfigurasi dengan benar. • menjalankan proses initial load ETL (baik itu T-SQL script atau paket SSIS) untuk mengisi warehouse dan mengukur performa mereka.yaitu, ketika setiap tugas dalam proses initial / bulk load ETL dimulai dan ketika masing-masing selesai. • Salah satu cara untuk mengukur performa adalah dengan memanfaatkan log ETL dan kolom timestamp dari tabel yang dimuat. ETL log tabel atau file di mana sistem ETL dituliskan. Hal ini dikenal sebagai tabel audit atau file.Kolom timestamp berisi waktu baris dimuat atau dimodifikasi.
Cara lain untuk mengukur performa adalah menggunakan SQL Server Profiler. mengatur SQL Server Profiler untuk log waktu setiap pernyataan SQL dijalankan. juga dapat memanfaatkan SSIS logging. • SSIS log runtime seperti yang dijalankan dalam SSISperlu mengaktifkan logging pada setiap tugas dalam semua paket SSIS dalam proses bulk load. • Menjalankan ETL batch! apakah itu setiap hari, jam, atau mingguan-dalam urutan tertentu sesuai dengan skenario pengujian disiapkan dan mengukur performa mereka (kecepatan). Dalam tambahan ETL, juga dapat menggunakan metode yang sama / instrumen sebagai bulk load untuk mengukur performa: log ETL, timestamp, SQL Server Profiler, dan SSIS logging. Untuk real-time ETL, perlu untuk mengukur jeda waktu juga, yaitu, berapa menit setelah transaksi dibuat dalam source code data yang tiba di data warehouse?
Security testing • Security testing adalah tentang memastikan bahwa hanya orang-orang dan aplikasi yang diijinkan untuk mengakses data warehouse dan benar-benar dapat mengaksesnya. • Sebuah data warehouse terdiri dari beberapa store data, dan dalam setiap menyimpan data Anda memiliki beberapa objek data, seperti tabel, view, dan prosedur yang tersimpan. • Menyiapkan security sistemkarena Data warehouse harusdapatdiaksesdarimanasaja, termasukjikadibutuhkandari External ( Internet ) makaperludirancangsebuah security dimanatidaksemua orang yang dapatmengakses.
User Acceptance Testing • disebut user acceptance test (UAT) adalah di mana beberapa key user menggunakan data warehouse dan aplikasinya untuk mengetahui apakah memenuhi kebutuhan mereka. User juga menguji user friendliness. • menjelaskan semua fungsi dari data warehouse dan aplikasinya kepada user. Anda membimbing mereka melalui sistem, menjelaskan komponen dan arsitektur aliran data, untuk memastikan bahwa mereka memahami cara masuk dan keluar di sekitar sistem. • mengisi data warehouse dengan data pengujian yang memenuhi skenario UAT, yang dapat dari produksi atau source system QA. Data pengujian mungkin perlu disesuaikan sesuai dengan skenario tertentu. kemudian meminta user untuk melakukan skenario tertentu menggunakan aplikasi dan meminta mereka untuk mencatat hasil. membiarkan user menggunakan sistem untuk menguji fungsionalitas, user friendly, dan penampilan dan minta mereka menuliskan komentar mereka.
End-to-End Testing • Pada tahap ini, data warehouse hampir siap untuk disebarkanke dalamproduksi. Tugas ETL telah diverifikasi dalam tes ETL. Semua fungsi telah diuji dalam fungtional test. Masalah kinerja telah disortir dalam Performance test. Keamanan telah diperiksa dalam Security test. Para user telah meninjau data warehouse, dan semua permintaan mereka telah diproses. Sebelum menyebarkan data warehouse ke dalam produksi, ada satu tes lagi yang harus dilakukan: end-to-end test di mana prosesmemverifikasi seluruh sistem dari ujung ke ujung. • Membiarkan proses data warehouse ETL berjalan selama beberapa hari untuk mensimulasikan kondisi operasional. • memeriksa bahwa tidak ada transaksi yang hilang, pelanggan, atau data lain. memeriksa bahwa kualitas data bekerja dengan baikmemeriksa bahwa tabel audit terisi.memeriksa bahwa tabel ODS terisi benar , memeriksa bahwa semua fact table dan dimensional table di DDS terisidengan benar. memeriksa bahwa staging dengan benar digunakan dan dibersihkan,memeriksa aplikasi, laporan, cube, dan model mining, Ini seperti melakukan cek akhir dari segala sesuatu, tapi kali ini ETL berjalan secara otomatis, inputdata ke dalam data warehouse setiap waktu dan kemudian sesuai dengan jadwal (harian, per jam, mingguan, dan sebagainya). • Setelah menyelesaikan pengujian end-to-end memuaskan, makasekarang telah siap untuk bermigrasi ke produksi.
Migrating to Production • Prepare the production environment (Siapkan lingkungan produksi): memastikan bahwa lingkungan produksi siap. Hal ini diperlukan agar penyebaran store data dan proses ETL ke dalam produksi berjalan dengan baik. • Coordinate with the help desk for first-line support (Berkoordinasi dengan help desk untuk dukungan line pertama): Pastikan bahwa meja personil bantuan dapat mendukung data warehouse dan aplikasinya. Hal ini diperlukan untuk memastikan bahwa user data warehouse akan mendapatkan dukungan yang tepat dari help desk. • Hand over the data warehouse system to the operation team (Serahkan sistem data warehouse untuk tim operasi): mentransfer pengetahuan dan tanggung jawab dari tim pengembangan (tim proyek) kepada tim operasi. Hal ini diperlukan untuk memastikan bahwa ketika tim proyek tidaklagiada(setelah proyek ditutup), user akan mendapatkan dukungan yang tepat untuk memecahkan masalah operasional dan peningkatan permintaan. • Train users and create documentation(Melatih user dan membuat dokumentasi): melatih user akhir dan membuat instruksi manual. Hal ini diperlukan untuk memastikan bahwa user memiliki pengetahuan yang tepat untuk menggunakan aplikasi dan mengquery data warehouse.
Liaise with the DBA (Berhubungan dengan DBA): membahas persyaratan administrasi basis data dengan DBA. Hal ini diperlukan untuk memastikan bahwa database data warehouse akan didukung dengan baik oleh DBA. • Create the data warehouse portal (Buat warehouse Portal Data): Hal ini diperlukan untuk memastikan bahwa user memiliki jalur akses tunggal untuk laporan data warehouse dan aplikasi, serta buku petunjuk dan membantu nomor tabel. Mengkonfigurasi dan mengatur warehouse Portal data dengan benar sesuai dengan struktur yang diperlukan user. Jangan lupa untuk mengatur pengaturan keamanan juga.