Veritabanı testi - Database testing

Veritabanı testi genellikle kullanıcı arabirimi (UI) katmanı, iş katmanı, veri erişim katmanı ve veritabanının kendisini içeren katmanlı bir süreçten oluşur . UI katmanı, veritabanının arayüz tasarımıyla ilgilenirken, iş katmanı iş stratejilerini destekleyen veritabanları içerir .

Amaçlar

Veritabanları , bir sunucuda birbirine bağlı dosyaların toplanması, bilgilerin depolanması, aynı tür verilerle uğraşmayabilir , yani veritabanları heterojen olabilir . Sonuç olarak, büyük veritabanı sistemlerinde, sistemin performansını, güvenilirliğini, tutarlılığını ve güvenliğini olumsuz etkileyen birçok türde uygulama ve entegrasyon hatası meydana gelebilir. Bu nedenle, bir veritabanı yönetim sisteminin ACID özelliklerini (Atomisite, Tutarlılık, İzolasyon ve Dayanıklılık) karşılayan bir veritabanı sistemi elde etmek için test etmek önemlidir .

En kritik katmanlardan biri, iletişim sürecinde doğrudan veri tabanlarıyla ilgilenen veri erişim katmanıdır. Veritabanı testi esas olarak bu katmanda gerçekleşir ve ürün veritabanlarının kalite kontrolü ve kalite güvencesi gibi test stratejilerini içerir. Bu farklı katmanlarda test, genellikle aşağıdaki örneklerde görülen veritabanı sistemlerinin tutarlılığını korumak için kullanılır:

  • Veriler, iş açısından kritiktir. Veri depolamayla ilişkili Google veya Symantec gibi şirketlerin dayanıklı ve tutarlı bir veritabanı sistemine sahip olması gerekir. Ekleme, silme ve güncelleme gibi veritabanı işlemleri , önce veritabanını tutarlılık açısından test etmeden gerçekleştirilirse, şirket tüm sistemde bir çökme riski taşır.
  • Bazı şirketlerin farklı veri tabanları ve ayrıca farklı hedefleri ve görevleri vardır. Söz konusu hedeflere ulaşmak için bir işlevsellik düzeyine ulaşmak için, veritabanı sistemlerini test etmeleri gerekir.
  • Mevcut test yaklaşımı, geliştiricilerin veritabanlarını resmi olarak test etmeleri için yeterli olmayabilir. Ancak, veritabanı geliştiricilerinin iletişim boşlukları nedeniyle test sürecini yavaşlatması muhtemel olduğundan, bu yaklaşım yeterince etkili değildir. Ayrı bir veritabanı test ekibi tavsiye edilebilir görünüyor.
  • Veritabanı testi, temel olarak veritabanlarındaki hataları ortadan kaldıracak şekilde bulmakla ilgilidir. Bu, veri tabanının veya web tabanlı sistemin kalitesini artıracaktır.
  • Veritabanı testi, veritabanı çökmeleri, bozuk eklemeler, silmeler veya güncellemeler gibi diğer sorunların üstesinden gelmek için stratejilerden ayırt edilmelidir. Burada, veritabanı yeniden düzenleme , uygulanabilecek evrimsel bir tekniktir.

Test türleri ve süreçler

Image
Veritabanı testinde kara kutu ve beyaz kutu testi

Şekil, kara kutu testi ve beyaz kutu testi gibi farklı veritabanı test yöntemleri sırasında yer alan test alanlarını gösterir .

Siyah kutu

Kara kutu testi, test arayüzlerini ve aşağıdakileri içeren veri tabanının entegrasyonunu içerir:

  1. Verilerin eşlenmesi ( meta veriler dahil )
  2. Gelen verileri doğrulama
  3. Sorgu işlevlerinden giden verileri doğrulama
  4. Neden-sonuç grafikleme tekniği, denklik bölümleme ve sınır-değer analizi gibi çeşitli teknikler .

Bu tekniklerin yardımıyla veritabanının işlevselliği kapsamlı bir şekilde test edilebilir.

Kara kutu testinin artıları ve eksileri şunları içerir: Kara kutu testinde test senaryosu oluşturma oldukça basittir. Nesilleri, yazılım geliştirmeden tamamen bağımsızdır ve geliştirmenin erken bir aşamasında yapılabilir. Sonuç olarak, programcı veritabanı uygulamasının nasıl tasarlanacağı konusunda daha iyi bilgiye sahip olur ve hata ayıklama için daha az zaman kullanır. Kara kutu test senaryolarının geliştirme maliyeti, beyaz kutu test senaryolarının geliştirilmesinden daha düşüktür. Kara kutu testinin en büyük dezavantajı, programın ne kadarının test edildiğinin bilinmemesidir. Ayrıca belirli hatalar tespit edilemez.

Beyaz kutu

Beyaz kutu testi, temel olarak veritabanının iç yapısıyla ilgilenir. Spesifikasyon ayrıntıları kullanıcıdan gizlidir.

  1. Veritabanını yeniden düzenlemeyi destekleyecek veritabanı tetikleyicilerinin ve mantıksal görünümlerin test edilmesini içerir .
  2. Veritabanı işlevlerinin, tetikleyicilerin, görünümlerin, SQL sorgularının vb. Modül testlerini gerçekleştirir .
  3. Veritabanı tablolarını, veri modellerini, veritabanı şemasını vb. Doğrular.
  4. Bilgi tutarlılığının kurallarını kontrol eder .
  5. Veritabanı tutarlılığını kontrol etmek için varsayılan tablo değerlerini seçer.
  6. Beyaz kutu testinde kullanılan teknikler durum kapsamı, karar kapsamı, ifade kapsamı, döngüsel karmaşıklıktır .

Veritabanı testinde beyaz kutu testinin ana avantajı, kodlama hatalarının tespit edilmesi ve böylece veritabanındaki dahili hataların ortadan kaldırılabilmesidir. Beyaz kutu testinin sınırlaması, SQL ifadelerinin kapsanmamasıdır.

WHODATE yaklaşımı

Image
SQL ifadesi dönüşümü için WHODATE yaklaşımı

Veritabanı testi için test senaryoları oluştururken, SQL ifadesinin anlambiliminin test senaryolarına yansıtılması gerekir. Bu amaçla WHite bOx Veri Tabanı Uygulama Tekniği "(WHODATE)" adı verilen bir teknik kullanılmaktadır. Şekilde gösterildiği gibi, SQL ifadeleri bağımsız olarak GPL ifadelerine dönüştürülür ve ardından SQL semantiğini içeren test senaryoları oluşturmak için geleneksel beyaz kutu testi yapılır.

Dört aşama

  • Fikstürü Ayarla
  • Test sürüşü
  • Sonuç doğrulama
  • Sökmek

Bir set fikstür, teste girmeden önce veritabanının ilk durumunu açıklar. Fikstürleri ayarladıktan sonra, veritabanı davranışı, tanımlanan test senaryoları için test edilir. Sonuca bağlı olarak, test senaryoları ya değiştirilir ya da olduğu gibi tutulur. "Yırtma" aşaması, testin sonlandırılmasına veya diğer test durumlarına devam edilmesine neden olur.

Başarılı bir veritabanı testi için, her bir test tarafından yürütülen aşağıdaki iş akışı genellikle yürütülür:

  1. Veritabanını temizleyin: Test edilebilir veriler veritabanında zaten mevcutsa, veritabanının boşaltılması gerekir.
  2. Fikstürü Kurun: PHPUnit gibi bir araç daha sonra armatürleri yineler ve veritabanına eklemeler yapar.
  3. Testi çalıştırın, Sonucu doğrulayın ve ardından Parçalayın: Veritabanını boş olarak sıfırladıktan ve armatürleri listeledikten sonra test çalıştırılır ve çıktı doğrulanır. Çıktı beklendiği gibiyse, yırtma süreci takip eder, aksi takdirde test tekrarlanır.

Temel teknikler

  • SQL Query Analyzer, Microsoft SQL Server kullanırken yardımcı bir araçtır .
  • Yaygın olarak kullanılan bir işlev, create_input_dialog["label"] çıktıyı kullanıcı girdileriyle doğrulamak için kullanılır.
  • Otomatik veritabanı testi için formların tasarımı, ön uç ve arka uç, veritabanı bakım çalışanları için yararlıdır.
  • Veri yükleme testi :
    • Veri yükü testi için, kaynak veritabanı ve hedef veritabanı hakkında bilgi gereklidir.
    • Çalışanlar, DTS paketini kullanarak kaynak veritabanı ile hedef veritabanı arasındaki uyumluluğu kontrol eder .
    • Kaynak veritabanını güncellerken, çalışanlar onu hedef veritabanıyla karşılaştırdıklarından emin olurlar.
    • Veritabanı yük testi, veritabanı sunucusunun sorguları işleme kapasitesinin yanı sıra veritabanı sunucusu ve istemcisinin yanıt süresini ölçer.
  • Veritabanı testinde atomiklik, tutarlılık, izolasyon, dayanıklılık, bütünlük, tetikleyicilerin yürütülmesi ve kurtarma gibi sorunlar genellikle dikkate alınır.
  1. Veritabanı testi kurulumu maliyetli ve bakımı karmaşıktır çünkü veritabanı sistemleri beklenen ekleme, silme ve güncelleme işlemleriyle sürekli olarak değişmektedir.
  2. Veritabanı işlemlerinin durumunu belirlemek için fazladan ek yük söz konusudur.
  3. Veritabanını temizledikten sonra yeni test senaryoları tasarlanmalıdır.
  4. SQL anlambilimini veritabanı test durumlarına dahil etmek için SQL deyimlerini dönüştürmek için bir SQL üreteci gereklidir.


Ayrıca bakınız

Referanslar

Dış bağlantılar