Dinamik Test Nedir? Türler, Teknikler ve Örnekler

Dinamik Test

Dinamik Test yazılım kodunun dinamik davranışını test etmek için kullanılan bir yazılım test yöntemidir. Dinamik testin temel amacı, yazılım davranışını dinamik değişkenlerle veya sabit olmayan değişkenlerle test etmek ve yazılım çalışma zamanı ortamında zayıf alanları bulmaktır. Dinamik davranışı test etmek için kodun çalıştırılması gerekir.

Hepimiz Testin doğrulama ve doğrulama olduğunu ve testin tamamlanması için 2 V'nin gerektiğini biliyoruz. 2 V'den Doğrulama Statik test olarak adlandırılır ve diğer "V" olan Doğrulama Dinamik test olarak bilinir.

Dinamik Test Örneği

Dinamik Testin nasıl yapıldığını bir örnekle anlayalım:

Diyelim ki “Kullanıcı Adı” ve “Şifre” diye iki alanın bulunduğu ve Kullanıcı Adının Alfasayısal ile sınırlı olduğu bir Giriş Sayfasını test ettiğimizi varsayalım.

Kullanıcı Kullanıcı Adını “Guru99” olarak girdiğinde sistem bunu kabul eder. Kullanıcı Guru99@123 olarak girdiğinde uygulama bir hata mesajı verir. Bu sonuç kodun dinamik davrandığını göstermektedir. kullanıcı girdisine dayanmaktadır.

Dinamik test, bir girdi sağlayarak ve uygulamanın gerçek davranışını beklenen davranışla karşılaştırarak gerçek sistemle çalıştığınız zamandır. Başka bir deyişle, sistemle hataları bulma amacıyla çalışmak.

Yukarıdaki ifadelere dayanarak dinamik testin, doğru yazılımı oluşturmak için yazılım uygulamalarını farklı ortamlarda son kullanıcı olarak doğrulama süreci olduğunu söyleyebiliriz veya bu sonuca varabiliriz.

Dinamik test ne işe yarar?

Dinamik testlerin temel amacı, yazılımın kurulumu sırasında ve sonrasında yazılımın düzgün çalışmasını sağlamak ve herhangi bir büyük kusur olmaksızın istikrarlı bir uygulama sağlamaktır (bu açıklama, hiçbir yazılımın hatasız olmadığı, yalnızca testlerin kusurların varlığını gösterebileceği ve yokluk değil)

Dinamik testin temel amacı yazılımın tutarlılığını sağlamaktır; bunu bir örnekle tartışalım.

Bankacılık Uygulamasında Hesaplarım Bölümü, Fon Transferi, gibi farklı ekranlar buluyoruz. Bill Ödeme vb. Tüm bu ekranlarda bazı karakterlerin kabul edildiği miktar alanı bulunmaktadır.

Hesaplarım alanının tutarı şu şekilde gösterdiğini varsayalım: 25,000 ve Fon Transferi $25,000 ve Bill ödeme ekranı $25000 miktar aynı olmasına rağmen miktarın görüntülenme şekli aynı değildir, dolayısıyla yazılım tutarsız hale gelir.

Tutarlılık sadece işlevsellikle sınırlı olmayıp performans, kullanılabilirlik, uyumluluk gibi farklı standartları da ifade ettiğinden Dinamik Testin yapılması çok önemli hale gelmektedir.

Dinamik Test Türleri

Dinamik Test iki kategoriye ayrılır

  • Beyaz Box Test yapmak
  • ZENÇI Box Test yapmak

Aşağıdaki resimli gösterim bize Dinamik Test türleri, Test Seviyeleri vb. hakkında fikir vermektedir.

Dinamik Test Türleri

Her test türünü ve amaçlanan amacını kısaca tartışalım.

Beyaz Box Test yapmak - Beyaz Box Test yapmak iç yapının/tasarımın test uzmanı tarafından bilindiği bir yazılım test yöntemidir. Beyaz'ın asıl amacı Box test, Sistemin koda göre nasıl performans gösterdiğini kontrol etmektir. Esas olarak Geliştiriciler veya White tarafından gerçekleştirilir. Box Programlama konusunda bilgisi olan test uzmanları.

ZENÇI Box Test yapmak - ZENÇI Box Test yapmak iç yapının/kodun/tasarımın belirlendiği bir test yöntemidir. DEĞİL testçi tarafından bilinir. Bu testin ana amacı, test edilen sistemin işlevselliğini doğrulamaktır ve bu tür test, tüm test paketinin yürütülmesini gerektirir ve esas olarak Test Uzmanları tarafından gerçekleştirilir ve herhangi bir programlama bilgisine ihtiyaç yoktur.

MKS ZENÇI Box Testler yine iki türe ayrılır.

Bunlar

  • Fonksiyonel Testler
  • İşlevsel Olmayan Testler

Fonksiyonel test:

Fonksiyonel test, geliştirilen tüm özelliklerin fonksiyonel spesifikasyonlara uygunluğunu doğrulamak için yapılır ve fonksiyonel test aşamasında QA ekibi tarafından yazılan fonksiyonel test senaryolarının çalıştırılmasıyla gerçekleştirilir, girdi sağlanarak, çıktı doğrulanarak ve sistem test edilerek test edilir. Gerçek sonuçların beklenen sonuçlarla karşılaştırılması.

Fonksiyonel Testin farklı Seviyeleri vardır ve bunlardan en önemlileri şunlardır:

  • Birim Testi – Genellikle Birim test edilebilir küçük bir kod parçasıdır, Birim Testi ayrı yazılım biriminde gerçekleştirilir ve geliştiriciler tarafından gerçekleştirilir
  • Entegrasyon Testi - Entegrasyon Testi Birim Testi sonrasında gerçekleştirilen ve test edilebilir tüm birimlerin birleştirilmesiyle gerçekleştirilen ve geliştiriciler veya testçiler tarafından gerçekleştirilen testtir.
  • Sistem Testi - Sistem Testi Sistemin gereksinimlere uygun şekilde çalışıp çalışmadığını doğrulamak için gerçekleştirilir ve genellikle tüm sistem hazır olduğunda gerçekleştirilir, Derleme veya kod QA ekibine yayınlandığında test uzmanları tarafından gerçekleştirilir.
  • Kabul testleri – Kabul testi, sistemin iş gereksinimlerini karşılayıp karşılamadığının ve kullanıma veya dağıtıma hazır olup olmadığının doğrulanması amacıyla yapılır ve genellikle son kullanıcılar tarafından gerçekleştirilir.

İşlevsel Olmayan Testler: İşlevsel Olmayan test, işlevsel yönlere odaklanmayan ve temel olarak sistemin bellek sızıntıları, performansı veya sistemin sağlamlığı gibi işlevsel olmayan özelliklerine odaklanan bir test tekniğidir. İşlevsel Olmayan testler tüm test seviyelerinde gerçekleştirilir.

Pek çok İşlevsel Olmayan Test Tekniği vardır; bunlardan en önemlileri şunlardır:

  • Performans testi - Performans testi İstenilen ağ yükü altında sistemin ihtiyaçlara göre tepki verme süresinin normal olup olmadığının kontrol edilmesi amacıyla yapılır.
  • Kurtarma Testi – Kurtarma testi, bir sistemin çökmelerden ve donanım arızalarından ne kadar iyi kurtulabildiğini doğrulamaya yönelik bir yöntemdir.
  • Uyumluluk Testi – Sistemin farklı ortamlarda nasıl davrandığını doğrulamak için uyumluluk testleri gerçekleştirilir.
  • Güvenlik testi - Güvenlik testi uygulamanın sağlamlığını doğrulamak, yani sisteme yalnızca yetkili kullanıcıların/rollerin eriştiğinden emin olmak için gerçekleştirilir
  • Kullanılabilirlik testi - Kullanılabilirlik testi Kullanıcıların sistem konusunda ne kadar rahat olduklarını doğrulamak için sistemin son kullanıcılar tarafından kullanılabilirliğini doğrulamaya yönelik bir yöntemdir.

Dinamik Test Teknikleri

Dinamik Test Teknikleri in STLC testler için Gereksinim Analizi, Test Planlama, Test senaryosu tasarımı ve uygulaması, Test ortamı kurulumu, Test senaryosunun yürütülmesi, Hata raporlama ve son olarak Testin kapatılması gibi farklı görevlerden oluşur. Dinamik test tekniklerinde tüm görevler, test sürecinde bir önceki görevin tamamlanmasına bağlıdır.

STLC'de gerçek Dinamik Test Sürecinin Test Durumu Tasarımı ile başladığını söyleyebiliriz, her aktiviteyi detaylı olarak ele alalım.

Dinamik Test Teknikleri

Sürece geçmeden önce Dinamik Test için izlenmesi gereken stratejiyi tartışalım.

Test Stratejisi temel olarak mevcut kaynaklara ve zaman çerçevesine odaklanmalıdır. Bu faktörlere dayanarak testin amacı, testin kapsamı, test aşamaları veya döngüleri, ortam türü, karşılaşılabilecek varsayımlar veya zorluklar, riskler vb. belgelenmelidir.

Strateji tanımlandıktan ve yönetim tarafından kabul edildikten sonra gerçek süreç test senaryosu tasarımı başlar

Test Tasarımı ve Uygulaması Nedir?

Bu aşamada şunları belirleriz:

  • Test edilecek özellikler
  • Test Koşullarını Türetin
  • Kapsam Öğelerini Türetin
  • Test Durumlarını Türetin

Test Ortamı Kurulumu

Test Ortamının her zaman Üretim ortamına benzer olmasını sağlamalıyız; bu aşamada test makinelerini kurmalı ve yönetmeliyiz.

Test uygulaması

Bu aşamada test senaryoları fiilen yürütülür.

Hata raporu yakalandı

Yürütmeye bağlı olarak Beklenen ve Gerçek Sonuçlar aynı değilse Test durumunun Başarısız olarak işaretlenmesi ve bir Hatanın günlüğe kaydedilmesi gerekir.

Dinamik Testin Avantajları

  • Dinamik Test, çok zor veya karmaşık olduğu düşünülen ve statik Analizle kapatılamayan, ortaya çıkarılmamış kusurları ortaya çıkarabilir.
  • Dinamik Testte, yazılımı uçtan uca yürütüyoruz, hatasız bir yazılım sağlıyoruz ve bu da ürünün ve projenin kalitesini artırıyor.
  • Dinamik Test, herhangi bir güvenlik Tehditini tespit etmek için önemli bir Araç haline gelir

Dinamik Testin Dezavantajları

  • Dinamik Test, büyük miktarda Kaynak gerektiren uygulamayı/yazılımı veya kodu çalıştırdığından Zaman Alır
  • Dinamik Test, yazılım yaşam döngüsünün erken aşamalarında başlamadığı için proje/ürün maliyetini artırır ve dolayısıyla daha sonraki aşamalarda düzeltilen herhangi bir sorun maliyet artışına neden olabilir.

Sonuç

In Yazılım MühendisliğiDoğrulama ve Doğrulama, yazılım ürününün gereksinim özelliklerini karşıladığını kontrol etmek için kullanılan iki önlemdir. Statik test doğrulamayı içerirken dinamik test doğrulamayı içerir. Birlikte uygun maliyetli bir Kaliteli Yazılım sunmaya yardımcı olurlar.

Bu yazıyı şu şekilde özetleyin: