Yazılım Testi Metodolijileri – Yazılım Test Metodları

 

Yazılım testi kullanmak, yazılım geliştirme yaşam döngüsünün önemli parçalarından biridir. Etkin ve efektif test kodu oldukça önemlidir. Peki yazılım testi ne demektir ?

Yazılım testi, önceden belirtilen gereksinimleri karşılayıp karşılamadığını, doğru çıktıyı üretip üretmediğinikontrol eden yapıdır. Çok sayıda test durumu ve test stratejisi hazırlanır, bu testlerin hepsi belirli hedefleri (tüm sorunları kaldırmak,yazılımın hatasız çalışmasını sağlamak ve en iyi çıktıyı elde etmek) için uğraşır. Çok sayıda test tekniği ve metodolojisi bulunur. Yazılım test metodolojisi, yazılım testi tekniklerinden farklıdır.

 

 

Yazılım Test Metodları

Black-Box Test

Black-box test kod ya da tasarım ile ilgilenmez. Testler gereksinim ve fonksiyonellik üzerinedir. Black-box test aynı zamanda, Fonksiyonellik testi, Closed Box testi ya da Opaque testi olarak adlandırılır.

Black-Box testi, fonksiyonelliğe uygun veri seçimine ve seçilen verinin programın normal ve ya anormal davranış gösterimini izleme temeline dayanır.

Black-Box test stratejisinde, kullanıcı sistemin gereksinimlerini ve bu gereksinimlere nasıl cevap vereceğini bilmelidir. Black-Box testlerini iki gruba ayırabiliriz, bunlardan biri kullanıcı gereksinimi duymayan testler, diğeri ise kullanıcının gerekli olduğu testlerdir.

 

Kullanıcı Gereksinimi Duymayan Test Metodları

  • Fonksiyonellik Testi: Fonksiyonel gereksinimleri test etmek için yazılmıştır.Eğer uygulama beklendiği gib davranırsa,testlerin yazılmasına sıralı bir şekilde devam edilir.

 

  • Stres Testi: Çok sayıda veri girişi,büyük nümerik değerler,çok sayıda sorgu olduğu zaman kullanılır ve uygulamanın dayanıklılığını belirler.

 

  • Yükleme Testi: Bir sistemin performansını derecelendirmek ve ya ağır yükler ve çok sayıda veri girişinde sistemin hangi noktada çakılacağını tespit etmek için kullanılır.

 

  • Ad-Hoc Testi: Geçerli bir test yaratılmadan önceden kullanım için uygundur. Bu test diğer testlerin kapsama alanını ve diğer testlerin süresinin belirlenmesinde yararlı olur.

 

  • Araştırma Testi: Ad-Hoc testine benzer ve uygulamayı öğrenmemizi sağlar. Uygulama hakkkında ön bilgimiz olur.

 

  • Kullanılabilirlik Testi: Kullanıcı dostu test olarakta bilinir. Eğer kullanıcı arayüzü önemli bir yere sahipse ve ihtiyaçlar belirli bir kullanıcıya göre belirleniyorsa uygundur.

 

  • Duman Testi: Mantık testi olarakta bilinir.Bu test,uygulamanın büyük testlere hazır olup olmadığını belirler ve küçük testleri başarı ile geçtiğini gösterir.

 

  • Yenilenme Testi: Uygulamanın herhangi bir hataya karşı ne kadar sürede eski haline geleceğini test eder.Sistem gereksinimlerine göre,tip ve yenileme hızı belirlenir.

 

  • Seviye Testi: Uygulamanın etkinliği ile ilgilenir.Uygulama tarafından çok büyük veri işlemi yapılırken, sistemin uç limitlerini kontrol eder.

 

 

Kullanıcının Gerekli Olduğu Testler

  • Kullanıcı Kabul Testi: Kullanıcının sistemi test edip, gereksinimleri karşılayıp karşılamadığının incelenmesini sağlar.

 

  • Alfa Testi: Kullanıcı geliştirme merkezine çağrılır. Geliştiriciler programı kullanır ve program hakkında not alır ya da kullanıcı işlemleri gerçekleştirir.

 

  • Beta Testi: Kullanıcılara beta versiyon dağıtılır ve test etmesine izin verilir. Kullanıcılar sistemi inceler,herhangi bir sorun bulduğunda,geliştiriciye bildirir.

 

 

White-Box Test

Uygulamanın kodunu temel almaktadır.Kodun koşullarını, alanlarını ve açıklamalarını temel alır. White-Box testi, cam, açık kutu, temiz kutu olarak adlandırılmaktadır. Bu testte, testi yapan kişi sorunlu kısmı bulmak için kodu incelemelidir.

 

 

Avantajları

  • Kodun optimizasyonunu sağlar.
  • Ekstra kod parçasını kaldırır ve tek bakışta gözükmeyen sorunları ortaya çıkarır.
  • Hangi verinin kodu en iyi şekilde test edeceğini tespit eder.

 

 

Dezavantajları

  • Belirli özelliklere sahip test yapıldığında maliyet artar.
  • Kodun inceleyip tek tek hata bulmak çok zor bir işlemdir.

 

 

White-Box Test Metodları

  • Birim Test: Çalışan bir kod parçası ya da modül için, geliştiriciler tarafından gerçekleştirilir.Düşük seviyede işlem gerçekleştirir.

 

  • Statik ve Dinamik Analiz: Statik analiz kodu sıralı bir şekilde inceler ve hataları araştırır. Dinamik analiz,kodun çalışmasını ve çıktıyı analiz eder.

 

  • Açıklama Kapsamı: Açıklamaların test edilmesiyle ilgilenir.Her bir açıklama en az bir kez test edilir. Tüm açıklamaların sorun yaşamadan çalıştığını garanti altına alır.

 

  • Sınıf Kapsamı: Hiçbir yazılım uygulaması sürekli olarak kodlanmaz, bazı noktalarda, kodun dağılışı incelemeli ve belirli bir fonksiyonu çalıştırılmalıdır. Tüm sınıflar doğrulanmasına yardım eder ve uygulamanın anormal davranış göstermesini engeller.

 

  • Güvenlik Testi: Sistemin izinsiz erişimler, kod bozulması, hacklenme gibi olaylardan nasıl korunacağı ile ilgilenir. Karmaşık test metotları gerekir.

 

  • Değişim Testi: Belirli bir hata düzeltildikten sonra yapılan bir testtir.Hangi kodun, stratejinin geliştirmeye yardımcı olacağını belirlemeyi sağlar.

 

 

Bazı testler hem White-Box hem de Black-Box kapsamında incelenebilir. Bunlara örnek verecek olursak;

 

  • Fonksiyonellik Testi:Kodla birlikte fonksiyonelliği test eder.

 

  • Birleştirme Testi:Uygulamaya yeni eklenen kod ile işbirliği yapar.

 

  • Performans ve Yükleme Testi:Kodun hangi kısmının sistemin kaynaklarını yönettiğini ve performansı verilişini belirler.

Ahmet Sami Küçük

Kaynak:http://www.iztim.com/Blog/YazilimTeknolojisi/YAZILIM-METODOLOJI