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şkenler veya sabit olmayan değişkenler ile test etmek ve yazılım çalışma zamanı ortamında zayıf alanlar bulmaktır. Dinamik davranışı test etmek için kod yürütülmelidir.
Hepimiz Testin doğrulama ve onaylama olduğunu biliyoruz ve testin tamamlanması 2 Vs alır. 2 V'nin dışında, Doğrulama Statik test olarak adlandırılır ve diğer "V", Doğrulama Dinamik test olarak bilinir.
Dinamik Test Örneği
Dinamik Testin nasıl yapılacağını bir örnekle anlayalım:
"Kullanıcı Adı" ve "Şifre" yazan iki alanımızın olduğu ve Kullanıcı Adının Alfasayısal ile sınırlı olduğu bir Oturum Açma Sayfasını test ettiğimizi varsayalım.
Kullanıcı Kullanıcı Adı "Guru99" olarak girdiğinde, sistem aynısını kabul eder. Kullanıcı Guru99 @ 123 olarak girdiğinde uygulama bir hata mesajı verir. Bu sonuç, kodun kullanıcı girdisine göre dinamik olarak hareket ettiğini gösterir .
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. Diğer bir deyişle, hata bulma amacıyla sistemle çalışmak.
Dolayısıyla, yukarıdaki ifadelere dayanarak, dinamik testin, doğru yazılımı oluşturmak için farklı ortamlarda bir son kullanıcı olarak yazılım uygulamalarını doğrulama süreci olduğunu söyleyebilir veya 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 herhangi bir büyük kusur olmaksızın kararlı bir uygulama sağlayarak düzgün çalışmasını sağlamaktır (bu ifade, hiçbir yazılım hatasız olmadığı için yapılır, testler yalnızca kusurların varlığını gösterebilir ve yokluk değil)
Dinamik testin temel amacı, yazılıma tutarlılık sağlamaktır; bunu bir örnekle tartışalım.
Bir Bankacılık Uygulamasında Hesaplarım Bölümü, Para Transferi, Fatura Ödemesi gibi farklı ekranlar buluyoruz. Tüm bu ekranlarda bazı karakterlerin kabul edildiği miktar alanı bulunmaktadır.
Diyelim ki Hesaplarım alanında tutar 25.000 ve Fon Transferi 25.000 $ ve Fatura ödeme ekranı 25.000 $ olarak görünüyor, ancak tutar aynı olsa da, tutarın görüntülenme şekli aynı olmadığından yazılımı tutarsız hale getiriyor.
Tutarlılık sadece işlevsellikle sınırlı değildir, aynı zamanda performans, kullanılabilirlik, uyumluluk vb. Gibi farklı standartları da ifade eder, bu nedenle Dinamik Test yapmak çok önemli hale gelir.
Dinamik Test Türleri
Dinamik Test iki kategoriye ayrılır
- Beyaz Kutu Testi
- Kara Kutu Testi
Aşağıdaki resimli gösterim bize Dinamik Test türleri, Test Seviyeleri vb. Hakkında fikir verir.
Her test türünü ve amaçlanan amacını kısaca tartışalım
Beyaz Kutu Testi - Beyaz Kutu Testi, iç yapının / tasarımın test cihazı tarafından bilindiği bir yazılım test yöntemidir. Beyaz Kutu testinin temel amacı, Sistemin koda dayalı olarak nasıl performans gösterdiğini kontrol etmektir. Esas olarak, programlama hakkında bilgi sahibi olan Geliştiriciler veya Beyaz Kutu Test Uzmanları tarafından gerçekleştirilir.
Black Box Test - Black Box Test iç yapı / kod / tasarım edildiği test yöntemidir DEĞİL test bildiği. Bu testin temel amacı, test edilen sistemin işlevselliğini doğrulamaktır ve bu tür testler, tüm test paketinin yürütülmesini gerektirir ve esas olarak Test Uzmanları tarafından gerçekleştirilir ve herhangi bir programlama bilgisine gerek yoktur.
Kara Kutu Testi tekrar iki sınıfa ayrılır.
Onlar
- Fonksiyonel test
- İşlevsel Olmayan Test
Fonksiyonel test:
Geliştirilen tüm özelliklerin fonksiyonel spesifikasyonlara uygun olduğunu doğrulamak için fonksiyonel test yapılır ve QA ekibi tarafından yazılan fonksiyonel test senaryoları gerçekleştirilerek gerçekleştirilir, fonksiyonel test aşamasında sistem girdi sağlanarak, çıktı doğrulanarak ve gerçek sonuçların beklenen sonuçlarla karşılaştırılması.
En önemlileri olan farklı İşlevsel Test Düzeyleri vardır.
- Birim Testi - Genel olarak Birim, test edilebilir küçük bir kod parçasıdır, Birim Testi, yazılımın ayrı biriminde gerçekleştirilir ve geliştiriciler tarafından gerçekleştirilir.
- Entegrasyon Testi - Entegrasyon Testi, Birim Testinden sonra yapılan ve test edilebilen ve geliştiriciler veya testçiler tarafından yapılan tüm bağımsız birimlerin birleştirilmesiyle gerçekleştirilen testtir.
- Sistem Testi - Sistem Testi, sistemin gereksinimlere göre performans gösterip göstermediğinden emin olmak için gerçekleştirilir ve genellikle tüm sistem hazır olduğunda gerçekleştirilir, Yapı veya kod QA ekibine yayınlandığında testçiler tarafından gerçekleştirilir.
- Kabul Testi - Kabul testi, sistemin iş gereksinimlerini karşılayıp karşılamadığını ve kullanıma hazır veya dağıtım için hazır olup olmadığını doğrulamak için gerçekleştirilir ve genellikle son kullanıcılar tarafından gerçekleştirilir.
İşlevsel Olmayan Test : İşlevsel olmayan test, işlevsel yönlere odaklanmayan ve esas olarak bellek sızıntıları, sistemin performansı veya sağlamlığı gibi sistemin işlevsel olmayan özelliklerine odaklanan bir test tekniğidir. İşlevsel olmayan test, tüm test seviyelerinde gerçekleştirilir.
En önemlileri olan birçok Fonksiyonel Olmayan Test Tekniği vardır.
- Performans Testi - Performans Testi, istenen ağ yükü altındaki gereksinimlere göre sistemin yanıt süresinin normal olup olmadığını kontrol etmek için yapılır.
- Kurtarma Testi - Kurtarma testi, bir sistemin çökmelerden ve donanım arızalarından ne kadar iyi kurtulabildiğini doğrulamak için kullanılan bir yöntemdir.
- Uyumluluk Testi - Uyumluluk testi, sistemin farklı ortamlarda nasıl davrandığını doğrulamak için gerçekleştirilir.
- Güvenlik testi - Uygulamanın sağlamlığını doğrulamak için, yani yalnızca yetkilendirilmiş kullanıcıların / rollerin sisteme eriştiğinden emin olmak için güvenlik testi gerçekleştirilir.
- Kullanılabilirlik testi - Kullanılabilirlik testi, kullanıcıların sistemle ne kadar rahat olduklarını doğrulamak için sistemin son kullanıcılar tarafından kullanılabilirliğini doğrulama yöntemidir.
Dinamik Test Teknikleri
STLC'deki Dinamik Test Teknikleri , testler için Gereksinim Analizi, Test Planlama, Test senaryosu tasarımı ve uygulaması, Test ortamı kurulumu, Test senaryosu yürütme, Hata raporlama ve son olarak Test kapatma gibi farklı görevlerden oluşur. Dinamik test tekniklerindeki tüm görevler, test sürecinde önceki görevin tamamlanmasına bağlıdır.
STLC'de gerçek Dinamik Test Sürecinin Test Vaka Tasarımından başladığını söyleyebiliriz, hadi her bir aktiviteyi detaylı olarak tartışalım.
Sürece başlamadan önce Dinamik Test için izlenmesi gereken stratejiyi tartışalım.
Test Stratejisi esas olarak mevcut kaynaklara ve zaman dilimine odaklanmalıdır. Bu faktörlere bağlı olarak, 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,
- Test edilecek özellikler
- Test Koşullarını Türetin
- Kapsam kalemlerini türetmek
- 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ı gerçekten yürütülür.
Hata raporu alındı
Yürütmeye bağlı olarak Beklenen ve Gerçek Sonuçlar aynı değilse, Test vakası Başarısız olarak işaretlenmeli ve bir Hata kaydedilmelidir.
Dinamik Testin Avantajları
- Dinamik Test, çok zor veya karmaşık olduğu düşünülen ve statik Analiz ile giderilemeyen ortaya çıkarılan kusurları ortaya çıkarabilir.
- Dinamik Testte, yazılımı uçtan uca uygulayarak hatasız yazılım sağlayarak ürün ve projenin kalitesini artırıyoruz.
- Dinamik Test, herhangi bir güvenlik Tehdidini tespit etmek için önemli bir Araç haline gelir
Dinamik Testin Dezavantajları
- Dinamik Test, çok miktarda Kaynak gerektiren uygulamayı / yazılımı veya kodu yürüttüğü için Zaman Tüketmektir.
- Dinamik Test, yazılım yaşam döngüsünde erken başlamadığı için proje / ürün maliyetini artırır ve bu nedenle sonraki aşamalarda düzeltilen herhangi bir sorun maliyette artışa neden olabilir.
Sonuç:
Yazılım Mühendisliğinde, Doğrulama ve Doğrulama, yazılım ürününün gereksinim özelliklerini karşılayıp karşılamadığını kontrol etmek için kullanılan iki ölçüdür. 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 makale Radhika Renamala tarafından hazırlanmıştır.