joomla templates Data Warehouse Türkiye

Fri09092011

Last update07:32:32 PM GMT

Back Kategoriler Oracle Tarihe göre etiket öğelerini görüntüle: test
Tarihe göre etiket öğelerini görüntüle: test
Pazartesi, 30 Mayıs 2011 06:49

Yazılım Test Tekniklerinde Gri Kutu Testi

Test sistemlerinde genel bir anlayış olan Kara Kutu ve Saydam Kutu testleri günümüz test sistemlerinde ayrı ayrı düşünüldüğünde birçok eksikliğinin olduğu düşünülerek birleştirilmiş ve Gri Kutu testi adını almıştır. Gri kutu testinin ne olduğunu anlamak için öncelikle Kara kutu ve Saydam kutu testlerinin ne anlama geldiğini, avantajlarını ve dezavantajlarını kısaca gözden geçirmemiz gerekiyor.

Test edilecek yazılım veya sistemin iç işleyişi dikkate alınmaksızın gerçekleştirilen testlere Kara Kutu testleri denir. Test edilecek yazılım veya sistemin sonucu bilinir ve bu sonuca göre girdi çıktı değerlerleri karşılaştırılır. Bu sistemin Kara Kutu ismini almasının nedeni; testin iç dinamikleriyle kesinlikle ilgilenilmemesidir.

Kara Kutu testinde testçi yazılımın girdi ve çıktılarını bilir. Fakat bu çıktıya nasıl ulaşacağımız bilgisini bilmez. Yazılımın iç işleyişiyle ilgilenilmez. Yazılımdaki hataların bulunması için etkin bir test sistemidir. Testçi, sistem hakkında teknik ayrıntıları bilmesine gerek yoktur bu yüzden yazılım ekibiyle beraber çalışmasına gerek yoktur. Yazılıma kullanıcı gözüyle bakıldığı için pek çok hatanın ve eksikliklerin görülmesini sağlayacaktır. Fakat Kara Kutu testinde yazılımın genel işleyişi ve genel çıktısı incelendiğinden birçok hata tespit edilmeden kalır. Ayrıca sadece belli bir sayıda girdi ve çıktı incelendiği için birçok girdi ve çıktıda test edilmeden kalır.

Saydam Kutu testinde ise yazılım veya sistemin içyapısı bilinerek test edilir. Bundan dolayı test edecek kişinin yazılımın veya sistemin içyapısını bilmesi gerekir. Yazılımın içyapısındaki hatalar araştırılarak sistemdeki genel hataların düzeltilmesi amaçlanır.

Saydam Kutu testinde dinamik ve statik analizler yapılır. Oluşturulan birim testlerle bilgi akışı, kodlama ve veri kontrolü ayrıntılı bir şekilde gerçekleştirilebilir. Kod içerisindeki yazılım hataları ve kodun çalıştırıldıktan sonraki çıktısı ayrıntısıyla analiz edilir. Kod içerisindeki her bir ifade ayrıca çalıştırılır. Kodun yan etkileri ve etkilediği sistemler araştırılır. Kod içerisindeki gereksiz veya ölü parçalar bulunarak ayıklanır. Testçi, yazılımcının kodunu destekleyerek sistemin veya yazılımın daha güçlü olmasını sağlar. Saydam Kutu testinin bu kadar faydasının yanı sıra bazı zararları da vardır. Yazılımı test eden kişi yazılımın ayrıntılarını bilmesi gerektiğinden maliyet artar. Yazılımın iç dinamikleriyle ilgilenildiğinden tüm resme bakma ve genel hataları görmek zorlaşır.

İşte bu noktada Gri kutu testi, kara kutu ve saydam kutu testinin dezavantajlarını manipüle ederek kendine özgü temelde kullandığımız test sistemini oluşturur. Gri kutu testi, yazılımın temel dinamiklerini ve işleyişini bilerek ona göre davranır. Gri kutu testinde sistem girdi ve çıktılarıyla analiz edilerek her bir kod parçacığının; performans, etkilediği  sistemler veya hataları tespit edilir.

Kategori Data warehouse
Çarşamba, 13 Nisan 2011 07:45

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.

Kategori Data warehouse

 

 

 

Flashback database özelliği, database’ i zaman içerisinde sisteminizin kapasitesi elverdiği ölçüde zamanda ileri veya geri götürmektir diye tanımlayabiliriz. Bu özellik özellikle test database’ leri için ciddi kolaylıklar getirmektedir. Çoğu test ortamları için, çeşitli sebeblerden dolayı test yapıldıkdan sonra da eski haline tekrar çekmek gerekiebiliyor. Test başarısız olduğunda yeni bir test için başlangıç duruma geçmek gerekebiliyor. Şimdi bu işlemi nasıl yapabileceğimizden bahsedelim biraz;

Flashbackle ile ilgili diğer yazılarımda database’ in flashback modda olup olmadığından nasıl kontrol edeceğimizden, flashback modda değil ise nasıl flashback moda alacağımızdan ve hangi parametrelerini set edeceğimizden bahsetmiştik, dolayısıyla burda tekrar bu kısımlardan bahsetmeyeceğim.

Flashback database ile yapılacak operasyonları 3 şekilde yapabiliriz. Birincisi SCN ile, ikincisi adını bizim belirlediğimiz bir restore point noktası ile, üçüncüsü ise tarih belirterek flashback database komutunu çalıştırabiliriz.

Kategori Dba

Veriambarı bir organizasyonun elektronik olarak saklanan datasının deposudur.Veri 

ambarları raporlama ve analizi kolaylaştırmak için dizayn edilmişlerdir. Veriambarları analiz ve ilişkili verilerin sorgulanabildiği sistemlerdir.Birden fazla kaynak sistemin işleme tabi tutulmasıyla oluşmuştur.Ayrıca bu şekilde anlık işlemlerin gerçekleştiği veritabanlarındaki tutarsızlıkların ve kirli verilerin filtrelenerek analiz ve raporların etkilenmemesi sağlanmıştır.

Kategori Data warehouse