Home / MAKALELER / Veri Ambarı / Datawarehouse Sistemlerinde Test Aşamaları

Datawarehouse Sistemlerinde Test Aşamaları

Datawarehouse sistemlerinde  ETL yaşam döngüsünde test aşamasının önemi bir hayli fazladır.Yazılım hataları veya ETL döngüsünde oluşan bir hata bize katlanarak geliyor.

Bundan dolayı ETL aşamalarında bazı test metodlarının iyi bilinmesi ve bu aşamlardan güvenli bir şekilde geçilmesi gerektiğini düşünüyorum.

Dünya da çeşitli test aşamaları vardır.Bunları kısaca gözden geçirelim;

1-Veri Bütünlüğü Testi :

 

 

Veri bütünlüğü, bir tabloda veri güncelleme, silme veya ekleme gibi işlemler
yapılırken diğer tablo ya da tablolardaki verilerin birbirleriyle uyum içinde olması, dolayısıyla veri tutarlılığının kaybolmamasının garanti altına alınması demektir.Tanımlanabilir ve Programsal veri bütünlüğü olarak ayırabiliriz.

ETL sürecimizde, gerekli tüm verilerin yüklendiğinden emin olmalıyız.Bozuk ,tutarsız verilerin girişi veya mevcut verilerin üzerinde değişiklik yaparken verilerin  bozulmasını engellemeliyiz.Source ve target karşılaştırılmaları yapılarak veri ambarında gereksiz veya fazla veriler veri bütünlüğünü bozacağını düşünerek testlerimizi yapmalıyız.Kaynak sistemlere veriler yüklenirken gerekli ilişkisel keylerin doğru olup olmadığını kontrol etmemiz ve modellememizin buna göre oluşup oluşmadığına bakmamız gerekir.

Yanlış, tutarsız ve çelişkili verilerle elde edilen bilgiler şirketleri yanlış alınan kararlara, risklere, yükselen maliyetlere, kaybolan müşterilere ve kaybedilen işlere maruz bırakmaktadır. Temiz, nitelikli ve bütünsel veriler karar vericilerin işleriyle ilgili daha doğru karar vermesine yardımcı olur ve potansiyel risklerden kurtarır.

2-Veri Dönüşümü  Testi:

 

 

Tüm veriler,iş kuralları ve/veya tasarım özelliklerine göre doğru bir dönüşüm uygulanması gerekmektedir.Bir çok veri dönüşüm algoritması vardır(logaritmik,karekökü,1/y..vb).Bu dönüşümlerin birçoğu embedded  olarak gelir ve bizim yapacağımız tek şey kullanılacak veri dönüşüm toolunun ayarlarıyla oynaktırJ Kendi mimarimize özgü veri dönüşüm algoritmaları yazmak istiyorsak bu konuda matematik ve algoritma bilgimizin hayli yüksek olması gerekmektedir.

Veri dönüşümünde null kayıtların veya istenmeyen formattaki dataların kullanımı gruplar arası verilerin yaygınlığını ve dağılımını olumsuz etkileyecektir.Test yaparken bunların target tablolarımıza nasıl gideceğini bilmeli ve source sistemimizden load aşamasında bu adımlara dikkat etmeliyiz.Yapılacak veya unutulacak küçük bir veri dönüşümü kaybı bizi olası bilgiyi bulmamızı engeller ve eksik istatistik oluşturmamıza neden olur.

3- Veri Kalitesi Testi :

 

Büyük kapasitelerde arşiv bilgisine sahip olan,koplex yapıya sahip çok sayıda müşteriye sahip olan olan şirketler için veri kalitesinin önemi büyüktür.Veri kalitesinin alt başlıkları ;Veri Doğrulama (Data Validation), Veri Madenciliği (Data Mining), Veri Temizleme (Data Cleansing), Veri Optimizasyonu (Data Optimization)  ve son olarak Kontrollerin  İzlenmesi/Takibi (Monitoring Controls) dir.Bunlar ayrı ayrı veya projeye göre birlikte de kullanılabilir.

Kurumların yapacakları planlama,pazarlama ve performans ölçümü gibi iş zekası aktivitelerini arttırmak için veri kalitesinin önemi hayli büyüktür.Çok boyutlu analizler yapılarak sorunlu kısımlarda iyi bir data cleaning yapılması gerekmektedir.Bunun ETL sürecine dahil edilip edilmemesi gerektiği  tamamen o anlık iş tanımına göre olabiliyor.O anlık datanın kalitesi arttırılabilip sonuca odaklı çözümde geliştirilebilir fakat bu aktivitelerin seviyesi bi hayli düşük olacaktır.Bu yüzden Veri kalitesi testi bizim normal sürecimizde olması gereken bir case olarak düşünüp buna göre testlerimizi oluşturmalıyız.

4- Performans ve Ölçeklenebilirlik Testi:

 

Ölçeklenebilirlik işlerimizde zaman kazandıran en önemli etkenlerden biridir.Bu performansı olumlu veya olumsuz yönden etkileyecektir.Veri miktarı veya kullanıcı sayısı arttıkça uygulamalar daha karmaşık hale gelir.Bu yüzden kullanılabilirlik ve güvenlik hassasiyeti artar.İşte bu noktada  performans ve ölçeklenebilirliğin faydalarını görmeye başlarız.Sistemimizdeki dataların aktarımı,kalitesinin arttırılması,dönüşümlerinin yapılması ne kadar önemliyse performansı ve ölçeklenebilirliği o derecede önemlidir.Ölçekleyemediğimiz datanın önemi yoktur!  Ve ölçekleyemediğimiz datanın performansınıda bilemeyiz.Bundan dolayı yazılan bir kodun veya çalıştığımız sistemin performans testlerinin büyük bir titizlikle yapılması gerekmektedir.Datanın az olduğu durumlar da performansı iyi gibi gözüken sistemler,ilerde bizi çok zorlayabilir.

 

 

 

 

 

 

 

5- Entegrasyon Testi :

İşletim sistemi, dosya sistemi, birimler arasındaki arayüz işlemleri ve donanım gibi değişik parçalar arasındaki etkileşimi test eder.Bu evrede Sistem için gerekli test araçları testerlar tarafından oluşturulur.Test tanımlarının dökümantasyonlarının sürece uygunluğu kontrol edilir.

 

6- Kullanıcı Kabul Testleri :

Kullanıcıların mevcut beklentilerini karşılamalıdır.Sistemin bir bölümüne veya tamamına güven tesis edilmelidir.Defect tespit edilmesi kabul testinin asıl ana amacı değildir.Burada sistemin sürüm ve kullanım için hazır olduğunun değerlendirilmesini bekleriz.Aynı zamanda sistem yöneticileri tarafından sistem kabulu olmalıdır.Bu kabuller için yedekleme,geri yükleme,bakım,periyodik kontroller,sözleşme..vb konularında mutabık kalınmak zorundayız

7- Regresyon Testi :

 

Sistemde yapılan değişikliklerin bozulmalara neden olup olmadığı test edilir.Bunun için sistemin altyapısının herzaman hazır olması gerekmektedir. Örneğin Test öncesi gerekli bilgi bankası silinerek, test için gerekli veriler tekrar yüklenebilir.

About Yusuf Arslan

Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünü bitirdikten sonra kariyerine Datawarehouse-Database Uzmanı olarak devam etmektedir Sitenin kurucusu ve yazarıdır. yusufarslanbm@gmail.com adresinden bana ulaşabilirsiniz.

İlginizi Çekebilir

Udemy Online Veri Ambarı Eğitimi

Yoğun emekler sonucunda “Türkçe” Veri Ambarı Eğitimi Udemy’de yayın hayatına başladı.Ömür boyu erişim,soru cevap bölümleri …

Bir Cevap Yazın