Dinamik Test Nedir? Türler, Teknikler ve Örnekler
⚡ Akıllı Özet
Dinamik test, uygulamayı çalıştırır ve çalışan kodun gerçek girdilerle nasıl davrandığını gözlemler; böylece test uzmanları, hiçbir doküman incelemesinin ortaya çıkaramayacağı işlevselliği, performansı ve kararlılığı doğrulayabilirler.
Dinamik Test Nedir?
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ı, sabit olmayan değişkenler olan dinamik değişkenlerle yazılım davranışını incelemek ve yazılım çalışma ortamındaki zayıf noktaları bulmaktır. Dinamik davranışı test etmek için kodun çalıştırılması gerekir.
Test şu şekildedir: doğrulama ve onaylamaTest işleminin tamamlanması için her iki doğrulama (V) da gereklidir. Doğrulama, gereksinimleri, tasarım belgelerini ve kodu çalıştırmadan inceleyen statik testlerle yapılır. Geçerlilik ise, derlemeyi çalıştıran ve uygulamanın gerçekte ne yaptığını, yapması gerekenle karşılaştıran dinamik testlerle yapılır.
Aşağıdaki tablo, ikisi arasındaki farkı bir bakışta ortaya koymaktadır.
| Görünüş | Statik test (doğrulama) | Dinamik test (doğrulama) |
| Code infaz | Yok hayır | Evet |
| Tipik aktiviteler | Revincelemeler, detaylı incelemeler, denetimler, statik analiz | Tüm test seviyelerinde test senaryosu yürütülmesi |
| Soru cevap | Ürünü doğru mu üretiyoruz? | Doğru ürünü mü üretiyoruz? |
| Bulunan hatalar | Belirsiz gereksinimler, kodlama standardı ihlalleri, ölü kod | Yanlış çıktı, bellek sızıntıları, zamanlama hataları, entegrasyon hataları |
| Başlangıç | Bir eser var olur olmaz | Çalıştırılabilir bir derleme oluşturulduktan sonra |
| Bir onarımın göreceli maliyeti | Daha düşük, çünkü kusurlar daha erken tespit ediliyor. | Daha yüksek, çünkü kusurlar daha sonra ortaya çıkıyor. |
Dinamik Test Örneği
Kısa bir örnek olay incelemesi, dinamik testlerin pratikte nasıl işlediğini göstermektedir.
Bir giriş sayfasının test edildiğini varsayalım. Bu sayfada Kullanıcı Adı ve Şifre olmak üzere iki alan bulunuyor ve Kullanıcı Adı alanı yalnızca alfanümerik karakterlerle sınırlandırılmış durumda.
Kullanıcı Kullanıcı Adı olarak “ girdiğindeGuru"99" girdiğinde sistem bunu kabul eder. Kullanıcı "Guru"99@123" ifadesinde uygulama bir hata mesajı veriyor. Bu sonuç, kodun kullanıcı girdisine göre dinamik olarak hareket ettiğini gösteriyor.
Dolayısıyla dinamik test, gerçek sistemle çalışmak, bir girdi sağlamak ve uygulamanın gerçek davranışını beklenen davranışla karşılaştırmak anlamına gelir; başka bir deyişle, hataları bulma amacıyla sistemle çalışmaktır.
Dolayısıyla dinamik test, doğru yazılımı oluşturmak için bir yazılım uygulamasını farklı ortamlarda, son kullanıcının bakış açısıyla doğrulamak sürecidir.
Dinamik test ne işe yarar?
Dinamik testlerin temel amacı, yazılımın kurulum sırasında ve sonrasında düzgün çalışmasını sağlayarak, büyük kusurlar içermeyen istikrarlı bir uygulama sunmaktır. Hiçbir yazılım tamamen hatasız değildir ve testler kusurların varlığını gösterebilir, ancak yokluğunu asla gösteremez.
Dinamik testler, bu örnekte de görüldüğü gibi, yazılım genelinde tutarlılığı da sağlar.
Bir bankacılık uygulamasında, Hesaplarım, Para Transferi gibi çeşitli ekranlar bulunur. Bill Ödeme yapın. Hepsinin bir tutar alanı var.
Diyelim ki "Hesaplarım" alanında tutar 25,000 olarak, "Para Transferi" alanında da 25,000 dolar olarak gösteriliyor ve Bill Ödeme ekranında 25000 dolar görünüyor. Miktar aynı, ancak görüntülenme şekli farklı, bu da yazılımı tutarsız hale getiriyor.
Tutarlılık yalnızca işlevsellikle sınırlı değildir. Performans, kullanılabilirlik ve uyumluluk gibi standartları da kapsar; bu nedenle dinamik testler çok önemlidir.
Dinamik Test Türleri
Dinamik testler iki kategoriye ayrılır.
- Beyaz Box Test yapmak
- Siyah Box Test yapmak
Aşağıdaki diyagram, iki kategoriyi, altlarında yer alan test seviyeleriyle eşleştirmektedir.
Her tür ve kullanım amacı aşağıda açıklanmıştır.
Beyaz Box Test yapmak — İç yapısı ve tasarımı test uzmanı tarafından bilinen bir yazılım test yöntemidir. Temel amacı, sistemin koda göre nasıl performans gösterdiğini kontrol etmektir. Genellikle geliştiriciler veya programlama bilgisine sahip beyaz kutu test uzmanları tarafından uygulanır.
Siyah Box Test yapmak — İç yapısı, kodu ve tasarımı test edenin bilmediği bir test yöntemidir. Temel amacı, test edilen sistemin işlevselliğini doğrulamaktır. Bu test türü, tüm test paketinin çalıştırılmasını gerektirir, çoğunlukla test uzmanları tarafından yapılır ve programlama bilgisi gerektirmez.
Kara kutu testleri de yine iki türe ayrılır.
- Fonksiyonel Testler
- İşlevsel Olmayan Testler
Fonksiyonel Testler
Fonksiyonel test Geliştirilen tüm özelliklerin işlevsel özelliklere uygun olup olmadığını doğrulamak için gerçekleştirilir. Bu işlem, işlevsel kodun çalıştırılmasıyla yapılır. test senaryoları Kalite kontrol ekibi tarafından yazılmıştır. Bu aşamada, sisteme girdi verilerek, çıktı doğrulanarak ve gerçek sonuçlar beklenen sonuçlarla karşılaştırılarak sistem test edilir.
Fonksiyonel testlerin farklı seviyeleri vardır ve bunların en önemlileri aşağıda belirtilen dört seviyedir.
- Birim Testi — Birim, test edilebilir küçük bir kod parçasıdır. Birim testi, yazılımın tek bir birimi üzerinde geliştiriciler tarafından gerçekleştirilir.
- Entegrasyon Testi — Birim testlerinden sonra, test edilebilir ayrı birimlerin birleştirilmesiyle gerçekleştirilir. Geliştiriciler veya test uzmanları tarafından yapılabilir.
- Sistem Testi — Sistemin gereksinimlere uygun şekilde davrandığından emin olmak için gerçekleştirilir. Genellikle, sistemin tamamı hazır olduğunda, test uzmanları tarafından, sürüm QA ekibine teslim edildikten sonra yapılır.
- Kabul testleri — Sistemin iş gereksinimlerini karşılayıp karşılamadığını ve kullanıma veya devreye almaya hazır olup olmadığını doğrulamak için gerçekleştirilir. Genellikle son kullanıcılar tarafından yapılır.
İşlevsel Olmayan Testler
İşlevsel olmayan testler İşlevsel yönlere odaklanmayan ve bunun yerine bellek sızıntıları, performans veya sağlamlık gibi sistemin işlevsel olmayan özelliklerine yoğunlaşan bir test tekniğidir. İşlevsel olmayan test, tüm test seviyelerinde gerçekleştirilir.
İşlevsel olmayan test tekniklerinin birçok çeşidi vardır ve bunların en önemlileri aşağıda belirtilen beş tanesidir.
- Performans testi — Sistem yanıt süresinin, istenen ağ yükü altında, gereksinimlere uygun olarak normal olup olmadığını kontrol eder.
- Kurtarma Testi — Sistem çökmelerinden ve donanım arızalarından ne kadar iyi kurtulduğunu doğrular.
- Uyumluluk Testi — Sistemin farklı ortamlarda nasıl davrandığını doğrular.
- Güvenlik Testi — Uygulamanın sağlamlığını doğrular ve yalnızca yetkili kullanıcıların ve rollerin sisteme erişebilmesini sağlar.
- Kullanılabilirlik testi — Sistemin son kullanıcılar tarafından kullanılabilirliğini ve bu kullanıcıların sistemle ne kadar rahat olduklarını doğrular.
Dinamik Test Teknikleri
Türler belirlendiğine göre, bir sonraki soru dinamik bir test döngüsünün gerçekte nasıl yürütüleceğidir.
Dinamik test teknikleri STLC Dinamik test, testler için gereksinim analizi, test planlaması, test senaryosu tasarımı ve uygulaması, test ortamı kurulumu, test senaryosu yürütülmesi, hata raporlaması ve son olarak testin kapatılması gibi görevlerden oluşur. Dinamik testteki her görev, test sürecindeki bir önceki görevin tamamlanmasına bağlıdır.
STLC (Yazılım Test Yaşam Döngüsü) içerisinde, gerçek dinamik test süreci test senaryosu tasarımıyla başlar. Aşağıdaki diyagram, her biri daha sonra açıklanan faaliyetlerin sırasını göstermektedir.
Sürece başlamadan önce, dinamik test için izlenecek strateji üzerinde anlaşmaya varılmalıdır.
Bir test stratejisi öncelikle mevcut kaynaklara ve zaman dilimine odaklanmalıdır. Bu iki faktöre dayanarak, testin amacı, testin kapsamı, testin aşamaları veya döngüleri, ortam türü, karşılaşılabilecek varsayımlar veya zorluklar ve risklerin tümü belgelenmelidir.
Strateji belirlenip yönetim tarafından kabul edildikten sonra, asıl test senaryosu tasarım süreci başlar.
Test tasarımı ve uygulaması
Bu aşamada ekip aşağıdakileri belirler.
- Test edilecek özellikler
- Bu özelliklerden türetilen test koşulları
- Test koşullarından türetilen kapsama maddeleri
- Kapsama öğelerinden türetilen test senaryoları
Siyah kutu test tasarım teknikleri eşdeğerlik bölümlendirmesi, sınır değer analizi gibi karar tablosu testi hem de durum geçiş testi Bunlar, bir test koşulunu somut bir yürütülebilir durum kümesine dönüştüren unsurlardır.
Test ortamı kurulumu
MKS test ortamı Bu aşama her zaman üretim ortamına benzer olmalıdır. Bu aşamada, derleme işlemi tamamlanır ve test makineleri yönetilir ve yapılandırılır.
Test yürütme
Bu aşamada test senaryoları manuel olarak veya başka bir yolla fi fiilen yürütülür. otomasyonVe elde edilen sonuçlar, beklenen sonuçlarla karşılaştırılır.
Hata raporu yakalandı
Testin yürütülmesi sonucunda beklenen ve gerçekleşen sonuçlar aynı değilse, test senaryosu Başarısız olarak işaretlenmeli ve bir hata kaydı oluşturulmalıdır. kusur yönetimi proses.
Dinamik Testin Avantajları
- Dinamik testler, tespit edilmesi çok zor veya karmaşık olarak kabul edilen ve statik analizin hiç kapsayamadığı kusurları ortaya çıkarır.
- Yazılım uçtan uca çalıştırılır, bu da hem ürünün hem de projenin kalitesini artırır.
- Dinamik test, çalışan bir sistemdeki güvenlik tehditlerini tespit etmenin temel bir yoludur.
- Bellek sızıntıları, zamanlama sorunları ve entegrasyon hataları gibi yalnızca çalışma zamanında ortaya çıkan hatalar burada ve başka hiçbir yerde görülmez.
Dinamik Testin Dezavantajları
- Dinamik testler zaman alıcıdır çünkü uygulamanın veya kodun çalıştırılması büyük miktarda kaynak gerektirir.
- Bu durum projenin maliyetini artırır çünkü yazılım yaşam döngüsünün başlarında başlamaz ve daha sonraki aşamalarda düzeltilen sorunların onarımı daha pahalıya mal olur.
- Üretim ortamına benzer bir ortam ve gerçekçi test verileri ön koşuldur ve bunların oluşturulması ve sürdürülmesi çaba gerektirir.


