Veritabanı Testi - Türler
Bir veritabanının işlevi ve yapısına bağlı olarak, DB testi üç kategoriye ayrılabilir -
Structural Database Testing - Tablo ve sütun testi, şema testi, depolanan prosedürler ve görünüm testleri, tetikleyicileri kontrol etme vb. İle ilgilenir.
Functional Testing- Veritabanının işlevselliğini kullanıcı açısından kontrol etmeyi içerir. En yaygın İşlevsel test türü Beyaz kutu ve kara kutu testidir.
Nonfunctional Testing - Yük testi, veritabanında risk testi, stres testi, minimum sistem gereksinimleri ve veritabanının performansı ile ilgilenir.
Yapısal Veritabanı Testi
Yapısal veritabanı testi, son kullanıcılara açık olmayan veritabanı bileşenlerinin doğrulanmasını içerir. Verileri depolamak için kullanılan ve son kullanıcılar tarafından değiştirilmeyen deponun tüm bileşenlerini içerir. SQL saklı yordamlarına ve diğer kavramlara hakim olan veritabanı yöneticileri normalde bu testi gerçekleştirir.
Yapısal Test ile ilgili olarak test edilen ortak bileşenler tartışılmıştır -
Şema / Haritalama Testi
Veritabanı nesne eşlemesi ile ön uç uygulamasının nesnelerinin doğrulanmasını içerir.
Şema Testinde -
Bazen, son kullanıcı uygulama nesnelerinin doğru şekilde eşlenmemesi veya veritabanı nesneleriyle uyumlu olmaması olur. Bu nedenle, veritabanları ile ilişkili çeşitli şema formatlarının doğrulanmasının kontrol edilmesi gerekir.
Veritabanında tablolar, görünümler, sütunlar gibi eşlenmemiş nesnelerin bulunması gerekir.
Piyasada, şemalarda nesne haritalaması yapmak için kullanılabilecek çeşitli araçlar vardır.
Example - Microsoft SQL Server'da, bir test uzmanı veritabanındaki şemaları kontrol etmek ve doğrulamak için basit sorgular yazabilir.
Test uzmanı bir tablo yapısında değişiklik yapmak isterse, tüm stored bu tabloya sahip prosedürler bu değişiklikle uyumludur.
Saklanan Prosedürler ve Görünümlerin Testi
Bu testte, bir test cihazı, depolanan prosedürlerin ve görünümlerin manuel olarak yürütülmesinin gerekli sonucu vermesini sağlar.
Test cihazı şunları sağlar:
Gerekli tetikleyicilerin beklendiği gibi yürütülmesini sağlarsa.
Geliştirme ekibi prosedürlerdeki uygulamalara girdi aktararak tüm döngüleri ve koşulları kapsamışsa.
Veritabanında kullanılmayan saklı yordamlar varsa.
Veri, veritabanındaki gerekli tablolardan alındığında TRIM işlemleri düzgün bir şekilde uygulanır.
Test edilen uygulamanın gereksinimlerine göre saklı yordam modüllerinin genel entegrasyonunun doğrulanması.
İstisna ve hata işleme mekanizmaları takip edilir.
Depolanan yordam testlerini gerçekleştirmek için kullanılan en yaygın araçlar şunlardır: LINQ, SP Test tool, vb.
Tetik Testi
Tetik testinde, test uzmanının aşağıdakileri sağlaması gerekir:
Tetikleyicilerin kodlama aşamasında kodlama kurallarına uyulup uyulmadığı.
Yürütülen tetikleyicilerin gerekli koşulları karşıladığını görün.
Tetikleyicinin, yürütüldükten sonra verileri doğru şekilde güncelleyip güncellemediği.
Güncelleme / Ekleme / Silme işlevinin doğrulanması, test altındaki uygulama işlevselliğini tetikler.
Tablolar ve Sütun testi
Bu testte kapsanan temel alanlar şunlardır:
Veritabanındaki veri türlerini ön uç uygulamadaki alan değerlerine doğrulama.
Veritabanındaki veri alanının uzunluğunu uygulamadaki veri türlerinin uzunluğuna göre doğrulama.
Veritabanında uygulama alanı nesnelerinden herhangi bir eşlenmemiş tablo veya sütun olup olmadığının kontrol edilmesi.
Veritabanı tablolarının ve sütunlarının adlandırma kuralları, iş gereksinimine uygun olup olmadıkları doğrulanır.
Veritabanındaki Anahtarların ve Dizinlerin doğrulanması, yani tablolardaki birincil ve yabancı anahtarlar ihtiyaca göre tanımlanır.
Birincil anahtarların ve bunlara karşılık gelen yabancı anahtarların iki tabloda aynı olup olmadığını kontrol edin.
Anahtarların Unique ve NOT NULL özelliklerinin korunduğunu kontrol edin.
Anahtarların ve dizinlerin uzunluğu ve veri türü ihtiyaca göre korunur.
Veritabanı Sunucusu Kontrolü
Veritabanı Sunucusu kontrolü, doğrulamayı içerir -
Veritabanı sunucusu, iş gereksinimine göre beklenen sayıda işlemi halledebilirse.
Veritabanı sunucularının yapılandırma ayrıntıları iş gereksinimlerini karşılıyorsa.
Kullanıcı yetkisi gereksinime göre korunursa.
Fonksiyonel test
Fonksiyonel testler, son kullanıcı bakış açısı akılda tutularak gerçekleştirilir; son kullanıcılar tarafından yürütülen gerekli işlem ve işlemlerin iş şartnamelerine uygun olup olmadığı.
Kara Kutu Testi
Kara Kutu Testi, işlevselliği kontrol etmek için veri tabanının entegrasyonunun doğrulanmasını içerir. Test senaryoları basittir ve gelen verileri ve işlevden giden verileri doğrulamak için kullanılır.
Veritabanının işlevselliğini test etmek için neden sonuç grafikleme tekniği, eşdeğerlik bölümleme ve sınır-değer analizi gibi çeşitli teknikler kullanılmaktadır.
Onun advantages aşağıdaki gibidir -
- Oldukça basittir ve gelişimin ilk aşamalarında gerçekleştirilir.
- Test senaryoları geliştirme maliyeti, beyaz kutu testine kıyasla daha azdır.
Dezavantajları aşağıdaki gibidir -
- Birkaç hata tespit edilemez
- Ne kadar programın test edilmesi gerektiği bilinmemektedir.
Beyaz Kutu Testi
Beyaz Kutu Testi, veritabanının dahili yapısıyla ilgilenir ve spesifikasyon ayrıntıları kullanıcılardan gizlenir. Veritabanını yeniden düzenlemeyi destekleyecek olan veritabanı tetikleyicilerinin ve mantıksal görünümlerin test edilmesini içerir.
Veritabanı işlevlerinin, tetikleyicilerin, görünümlerin, SQL sorgularının vb. Modül testlerini gerçekleştirir. Bu tür testler veritabanı tablolarını, veri modellerini, veritabanı şemasını vb. Doğrular. Bilgi bütünlüğünün kurallarını kontrol eder. Veritabanı tutarlılığını kontrol etmek için varsayılan tablo değerlerini seçer.
Beyaz kutu testi gerçekleştirmek için kullanılan en yaygın teknikler durum kapsamı, karar kapsamı, ifade kapsamı vb.
Beyaz kutu testinde kodlama hataları tespit edilebilir, böylece veritabanındaki dahili hatalar ortadan kaldırılabilir. Beyaz kutu testinin sınırlaması, SQL ifadelerinin kapsanmamasıdır.
İşlevsel Olmayan Test
İşlevsel olmayan testler, yük testi, stres testi, iş özelliklerini karşılamak için minimum sistem gereksinimlerinin kontrol edilmesi, veri tabanının risk bulma ve performans optimizasyonunu içerir.
Yük Testi
Yük testinin birincil hedefi, çalışan işlemlerin çoğunun veritabanı üzerinde performans etkisinin olup olmadığını kontrol etmektir.
Yük testinde, test cihazı şunları kontrol eder:
- Birden çok uzak kullanıcı için işlemleri yürütmek için yanıt süresi.
- Veritabanının belirli kayıtları getirmek için harcadığı süre.
Examples of load testing in different testing types -
- Veritabanı sisteminin performansını görmek için en çok kullanılan işlemi tekrar tekrar çalıştırmak.
- İnternetten bir dizi büyük dosya indirme.
- Bir bilgisayarda veya sunucuda aynı anda birden fazla uygulama çalıştırmak.
Stres testi
Sistem kesme noktasını belirlemek için stres testi yapılır. Bu testte uygulama, sistemin bir noktada başarısız olacağı şekilde yüklenir. Bu nokta denirbreakpoint veritabanı sistemi.
Veritabanı işlemlerinin durumunu belirlemek önemli miktarda çaba gerektirir. Zaman ve maliyete dayalı sorunlardan kaçınmak için uygun planlama gereklidir.
En yaygın kullanılan stres testi araçları LoadRunner ve WinRunner.
Bir alalım exampleStres Testi. Bir CRM uygulaması, maksimum 50000 eşzamanlı kullanıcı yükünü alabilir. Yükü 51000'e çıkardığınızı ve kayıtları güncelleme veya giriş ekleme gibi bazı işlemler yaptığınızı varsayalım. İşlemi yaptığınız anda uygulama veritabanı sistemi ile senkronize olabilir. Dolayısıyla, bir sonraki test 52000 kullanıcı yükü ile gerçekleştirmektir. Bazen Stres Testi de denir.Fatigue Testing.