7 Kasım 2016 Pazartesi

Yazılım Metrikleri


Yazılımların ölçülebilen veya yapılan ölçümlere göre hesaplanan değerlerine yazılım metrikleri denir. Bu bilgileri elde etmek için yazılım metriklerini otomatik olarak hesaplayan araçlar kullanılabilmektedir. Bu sayede milyonlarca kod satırından oluşan bir yazılım projesi ve bu projenin çalışma alanı hakkında detaylı bilgilere ulaşılabilmektedir.



Bu kapsamda Source Monitor programı ücretsiz olarak yazılımlar ile ilgili metriklere ulaşabileceğimiz yararlı bir program. Çoklu dil desteği olan program sayesinde  oluşturduğunuz farklı dillerdeki yazılımların kaç satırdan oluştuğu, karmaşıklık değeri, yazılımın derinliği, yeteri kadar yorum satırı bulunup bulunmadığı gibi çok sayıda hesaplanan yazılım ölçütünü kolayca görebilirsiniz. 

Program içerisinde ayrıca yazılımın ölçütleri kullanılarak hazırlanan Kiviat grafiğini, Block histogram çubuk grafiğine de bakabilirsiniz.

Eğer yazılımınızın kodlarından elde edilen yazılım metrikleri Kiviat grafiğindeki yeşil alanı içerisinde değilse o kodları tekrardan inceleye bilirsiniz. Yine aynı şekilde yazılım kalitesi için Block Histogramda 9+ alanda bir karmaşıklık değerine sahip kodlarınız varsa o kodları tekrar yazmak isteyebilirsiniz.




Bir Kara Kutu Test Örneği

Arama rutin özellikler

procedure Search (Key : INTEGER ; T: array 1..N of INTEGER;
       Found : BOOLEAN; L: 1..N) ;

Ön Koşul
    -- En azından bir değere sahip olmalı
    1 <= N
Sonraki durum
    --
    ( Found and T (L) = Key)
    Yada
    -- Eğer değer eşleşmiyorsa
    ( not Found and
           not (exists i, 1 >= i >= N, T (i) = Key ))





Girişleri olan ön koşullar uygundur. Giriş Burada bir ön koşul tutmaz. Girişleri nerede kilit unsur dizinin üyesidir. Girişleri kilit unsur dizinin bir üyesi değildir nerede.



Garbage-In Garbage-Out

“Garbage-In = Garbage-Out” yazılım testler içerisinde kullanılan bir terimdir.
Bize yazılımın başarısız olduğundan başka bir ifadesi yoktur.
İyi kurulum doğru geçerlileme
Kötü veri için sistem toleransı
Sistemlerin ara yüzleri ve özelliklerinin sağlam olması gerektiğinden. Doğru ve etkili  veri girişi ve doğrulama kontrolleri olmalıdır.

Sınır Giriş verileri.


Sınır koşulları yazılımın planlı çalışma limitlerini kenarında durumlardır.
Örnek: negatif sayılar, giriş alanı uzunluğu aşan, pozitif sayılar.
Sınır değerlerine sahip olan veri datalarını seç(Eşitlik üstlük değerlerini de kullan)
Geçerli test verisi sınır değerlerini içersin.
Son geçerli değerler ile test et.
Sınır değerlerinin üzerinde olan veriler ile test işlemini gerçekleştir.
Buffer overflow saldırıları gibi güvenlik açıklarına karşı dizi tampon sınırları yararlanabilir.

Veri Testi

Eğer bir programı bir fonksiyon gibi düşünüyorsanız, Programın girişi onun etki alanıdır.
Veri giriş örnekleri
Resim dosyaları
Word belgeleri
Excele girilen veriler
DB-Dosyaları


Veri Test Örnek (Syntax Testing)

Sistem veri girişleri tekrardan onaylanmalıdır. Dahili ve harici girişler ve formatları ile uyumlu hale getirilmelidir.
Kullanıcıların veri giriş metin biçimi.
Dosya formatları.
Veritabanı şemaları.
Data biçimleri kolay bir şekilde test programları vasıtası ile dönüştürülerek veri testleri yapılabilir.

Denklik Bölümlendirme

Denklik Bölümlerdirme: Program içerisine girilen değerler ile çıkış değerlerinin karşılaştırılmasına denir.






Test to Pass & Test to Fail


Tamamlanan Test: Yazılımın belirlenen test senaryolarında başarılı olduğunu gösteren durum.
Programın temel anlamda çalıştığından emin olmak.
Kapasitesini zorlamamak
Yapısını kolay ve yapıyı çok zorlamayan test durumları ile test etmek.
Programı çökertmeye çalışmamak.
Tamamlanamayan Test:
Yazılımın çalışmasını bozmak için daha komplike test durumları oluşturmak.
Yazılımın güçsüz olduğu noktaları seçmek ve buralara saldırmak.


Tartışma

Neden yazılımcı teste test to  pass ile başlar?
Zaman kaybı değil mi?
 Tess To pass’ın bize ne kazandırır?
Yazılım test uzmanı tess to pass yapmalımı?

Dinamik Black box Testi

Dinamik çünkü program çalıştırılırken yapılıyor.
Kara kutu çünkü kod ile ilgili hiçbir bilgi bilinmeden gerçekleştiriliyor.
Bu test davranış testi olarakta bilinmektedir.
Test için gerekenler
Çalışan bir program ve tanımlamalar( Kullanıcı klavuzu)
Belirlenmiş test durumları( Giriş ve değer testleri gibi)

Test Datası ve Test Durumları

Test Datası:Sistem için belirlenmiş ve seçilmiş olan  veriler.
Test Case(Durum): Belirlenmiş test senaryolarını kullanarak yazılımları çalıştırmak. Elde edilen verilere bakılarak durumları değerlendirmek.

Kara kutu testinin karakteristiği

Test Planı erkenden olmalı.
Program bir kara kutu gibi ele alınmalı.
Uygulamanın detayları sorun olmamalı.
İsterler son kullanıcı düşünülerek yapılmalı.
Kriterler kesin olamaz.