SIZMA TESTLERİ

Rıdvankaya

Uzman Üye
Katılım
21 Eyl 2023
Mesajlar
95
Tepkime puanı
42
Puanları
18
Yaş
31
Konum
Midyat/Mardin
Web sitesi
github.com
SIZMA TESTLERİ
Bilişim alanında güvenlik uzmanlarının kullandığı üç çeşit sızma testi bulunmaktadır.
1. Beyaz Kutu (White Box) Testi
Herhangi bir sistemin veri akışını doğrulamak, kullanılabilirliğini ve güvenliğini geliştirmek için güvenlik uzmanlarının yazılımın yapısını, tasarımını ve kodlamasını kontrol ettiği test tekniğidir. Sızılacak sistem hakkında her türlü bilgi ve erişim izni mevcuttur.
Güvenlik uzmanına kurum tarafından sistemin kodları verilir ve bu kodlar görülerek test yapılır.
Beyaz kutu test tekniği hem kod geliştiriciler hem de güvenlik uzmanları tarafından kullanılır. Diğer
sızma testi çeşitlerine göre maliyeti en ucuz testtir. Bu test çeşidinde kontrol edilen durumlar
aşağıda verilmiştir.
• Kodlama yapılırken yanlış veya fazla yazılan bölümler
• Kod aracılığıyla belirli girdilerin akışı ve çalışması
• Veri girişleri sonrasında almak istenilen çıktılar
• Programda kullanılan döngülerin çalışması
• Çalışan her kod blokunun ve görevinin test edilmesi
Beyaz Kutu Testinin Avantajları ve Dezavantajları
Beyaz kutu testinin avantajları şunlardır:
• Yazılım geliştirilirken tasarlanıp yapıldığı için testlere erken sürelerde müdahale edilebilmek tedir.
• Yazılım geliştiriciler kendi kod parçacıklarını defalarca gözden geçirdikleri için kodun güvenilirliği yüksektir.
Beyaz kutu testinin dezavantajları şunlardır:
• Kod okumayı bilen nitelikli bir yazılım test uzmanı bulmak zor ve maliyetlidir.
• Yazılım geliştirici kendi testini kendi yaptığı için gözden kaçabilen noktalar olabilir.
• Testler çok kapsamlı ve ayrıntılı olduğu için uzun zaman alabilir.
Beyaz Kutu Testinin Yapım Aşamaları
Herhangi bir sistem için beyaz kutu sızma tekniği kullanılırken bildirim aşaması, döngülerin incelenmesi aşaması ve yol aşaması olmak üzere üç aşamadan bahsedilebilir.
Bildirim Aşaması: Programda kullanılan kodların en az bir kere çalıştırılıp çalıştırılmadığının kontrol edilmesi işlemidir.
Döngülerin Kontrol Edilmesi Aşaması: Programda döngülerle oluşturulan dallanmaların kontrol edilmesi işlemidir. Döngülerin çalışıp çalışmadığının anlaşılabilmesi için değerler verilir ve
programın istenen sonuçları üretip üretmediği kontrol edilir.
Yol Aşaması: Programın bütün çalışma yollarının test edilmesidir. Bu teknik büyük ve karmaşık programları test etmeye elverişlidir.
Beyaz Kutu Test Araçları
Yaygın olarak kullanılan açık kaynak kodlu beyaz kutu test araçları (programları) şunlardır:
JUnit: Java programlama dilini kullanan yazılım test uzmanları için bir birim test aracıdır.
HtmlUnit: Yazılım test uzmanlarının kullandığı tarayıcı işlevselliğini programlı olarak simüle eden, HTTP çağrıları yapmasına izin veren Java tabanlı bir test aracıdır. Çoğunlukla web tabanlı
uygulamalarda JUnit gibi diğer birim test araçlarının üzerinde uyum testleri yapmak için kullanılır.
PyUnit: Python programlama dilini kullanan yazılım test uzmanları için bir birim test aracıdır.
Selenium: Çeşitli platformlarda ve tarayıcılarda web uygulamalarını otomatik olarak doğrulamak için kullanılan test araçları paketidir. Python, C# ve JavaScript dâhil olmak üzere çok çeşitli programlama dillerini destekler.
Beyaz Kutu Testi
Aşağıdaki işlem adımlarına göre herhangi bir programlama dilinde yazılan kod blokunda
değişkenlere değer vererek beyaz kutu testini yapınız.
GİRİŞ A & B
C = A + B
EĞER C>100
"BİTTİ" YAZDIR
1. Adım: Yukarıdaki kod satırlarını kontrol etmek için A=40 ve B=70 gibi rastgele değerler veriniz. Programın bütün kod satırlarının düzgün çalıştığını, C değerinin 100 rakamından büyük olduğunu ve ekranda “BİTTİ” yazdığını görünüz.
2. Adım: Bu kod satırlarını kontrol etmek için A=33 ve B=45 gibi değerler giriniz. C=A+B
işleminin sonucunda C=78>100 ifadesinin yanlış olduğunu görünüz. Bu sonuç çıktığında program
bir işlem yapamayacaktır. Böyle bir durum için programa biraz kod satırı ekleyiniz.
GİRİŞ A & B
C = A + B
EĞER C>100
"BİTTİ" YAZDIR
BAŞKA
“BEKLEMEDE” YAZDIR
Bu programdaki kod satırlarının kontrolü sağlanırken A=33 ve B=45 gibi değerlerde program
istenilen şartı sağlamadığı için ekranda “BEKLEMEDE” yazar.
Bu program örneğinde görüldüğü gibi güvenlik uzmanının verilen kod blokunun çalışma ihtimallerini düşünerek programın eksik yönlerini görüp düzeltmesi beyaz kutu test çalışmasıdır.
Gri Kutu (Gray Box) Testi
Bu test tekniği, siyah kutu testi ile beyaz kutu testinin bir kombinasyonudur.
Çalışma yapılacak sistem hakkında temel bilgiler ve erişim izni mevcuttur. Hedef IP listesi, sunucular vb. bilgiler güvenlik uzmanına verilir. Siyah kutu test yöntemine göre daha kısa zaman
alır. Bu test tekniğinin temel amacı, uygulamanın kodlama hatası veya yanlış kullanımı nedeniyle oluşan sorunları bulmaktır.
Gri Kutu Testinin Avantajları ve Dezavantajları
Gri kutu testinin avantajları şunlardır:
• Büyük kod bölümleri için iyi çalışır.
• Test kullanıcılarının uygulamayı test etmek için programlama dilini veya yöntemlerini çok iyi
bilmesi gerekmez.
• Programlama koduna erişim şart değildir.
• Test sırasında kullanıcılar ve geliştiriciler için açıkça tanımlanmış roller sağlar.
• Test, tasarımcıdan ziyade kullanıcının bakış açısına dayanır.
Gri kutu testinin dezavantajları şunlardır:
• Çoğu test senaryosunun tasarlanması zordur.
• Sadece birkaç test senaryosu bulunduğu için sınırlı kapsama alanı vardır.
• Test uzmanları süreç hakkında sınırlı bilgiye sahiptir. Bu nedenle etkili bir test yöntemi olarak değerlendirilmemektedir.
Gri Kutu Test Araçları
Gri kutu testleri yapmak için aşağıda listelenmiş araçlar kullanılır.
Selenium: Çeşitli platformlarda ve tarayıcılarda web uygulamalarını otomatik olarak doğrulamak için kullanılan test araçları paketidir. Python, C# ve JavaScript dâhil olmak üzere çok çeşitli programlama dillerini destekler.
Appium: Mobil uygulamalar için test otomasyonu olan Appium 2013 yılında çıkmıştır. IOS,
Android ve Windows uygulamalarının test edilmesini sağlar.

NUnit: Açık kaynak kodlu .Net platformundaki bütün dilleri destekleyen, yazılımlara birim
testi yapmak için kullanılan bir Framework’tür.
Gri Kutu Testinin Uygulanışı
Aşağıdaki işlem adımlarına göre gri kutu testini yapınız.
1. Adım: Maillere bakmak için öncelikle oturum açma sayfasında adresi ve şifreyi doğru
şekilde yazınız. Giriş başarılı ise kullanıcıya ne gibi haklar verildiğini inceleyiniz.
2. Adım: Maillere bakmak için oturum açma sayfasında adres veya şifreden herhangi biri yanlış yazıldığında kullanıcıya nasıl bir mesaj verildiğini inceleyiniz.
İki adımdan oluşan bu çalışma bir gri kutu test örneğidir. Test kullanıcısı, oturum açma sayfasında şifresini ve mail adresini yazarak bu bilgilerin işlevselliğini test etmeye çalışır. Bir başka deyişle test kullanıcısı gerekli bilgileri girer ve veri tabanındaki bilgilerle bunların doğruluğunu
karşılaştırır. Kullanıcı bu şekilde sistem davranışını kontrol eder.
3. Siyah Kutu (Black Box) Testi
Hedef sistem hakkında hiçbir bilgi mevcut değildir. Bilgi toplamak çok zaman alır. Güvenlik uzmanı olan kişi, hacker gibi düşünerek sistem hakkında bir açık bulabilmek için çok sayıda araç
(program) ve yöntem denemek zorundadır.
Siyah Kutu Testinin Avantajları ve Dezavantajları
Siyah kutu testinin avantajları şunlardır:
• Test uzmanları tarafından yapıldığı için kod bilgisine ihtiyaç duyulmaz.
• Kodu geliştiren kişi ve test eden kişi farklı olduğu için farklı bakış açılarıyla test edilebilir ve
görünmeyen hatalar bile kolaylıkla bulunabilir.
• Testler hızlı ve etkin bir biçimde uygulanabilir.
• Gereksinimlerin belirlenmesinin hemen ardından test senaryoları oluşturulabilir.
• Büyük ölçekli sistemlerde bu yöntem kullanıldığında oldukça yüksek verim alınır.
Siyah kutu testinin dezavantajları şunlardır:
• Sistemin yapısı bilinmediği için kaynak kod içinde kümelenmiş hataların bulunması zorlaşır.
• Yazılım geliştiricinin kendi yaptığı testler ile tekrara düşülebilir.
• Karmaşık kod blokları içeren yazılımlarda kullanılamaz.
• Bütün olasılıkları kontrol etmek mümkün değildir. Bu nedenle test edilmemiş fonksiyonlar olabilir.
Siyah Kutu Test Yöntemleri
Programlardaki bir dizi işlevi sistematik olarak test etmek için test senaryoları tasarlanmalıdır.
Test uzmanları aşağıdaki siyah kutu testi yöntemlerini kullanarak test senaryoları oluşturabilir.
Eşit Bölümlere Ayırma: Bu yöntemle sisteme veya uygulamaya giriş değerleri sonuçtaki benzerliğine göre farklı sınıflara veya gruplara ayrılır.
Sınır Değer Analizi: Bu yöntem tüm test seviyelerinde uygulanabilir. Bu yöntemin uygulaması kolay, hata bulma becerisi yüksektir.
Karar Tablosu: Karmaşık iş kurallarına sahip sistemlerin test edilmesinde kullanılan yöntemdir.
Karar tablosu yönteminin en büyük avantajı, test sırasında gözden kaçabilecek olasılıkların net bir
şekilde listelenerek gözden kaçırma riskinin en düşük seviyelere indirilmesidir.
Durum Geçişi: Belli iş kurallarına bağlı şartların oluşması ve bir durumdan diğerine geçilerek bir noktada sonlanması durumunu test etmektir.
Hata Tahmini: Kodda geçerli olabilecek hatayı tahmin etmeye yönelik bir çalışmadır. Hata tahmin tekniği herhangi bir özel kurala uymaz.
Grafik Tabanlı: Tüm nesneler belirlenir ve grafik hazırlanır. Bu nesne grafiğinden her nesne ilişkisi belirlenir ve hataları keşfetmek için test senaryoları yazılır.
Karşılaştırma: Bu yöntemde test etmek için aynı yazılımın farklı bağımsız sürümleri birbirleriyle karşılaştırılır.
Siyah Kutu Testi
İnternetteki herhangi bir alışveriş sitesinin işlevselliğini kontrol etmek için aşağıdaki işlem
adımlarına göre siyah kutu testini yapınız.
1. Adım: Web sitesine giriş yapınız ve bir kullanıcı girişi oluşturunuz.
2. Adım: Alınacak ürünleri seçiniz ve sepete ekleyiniz.
3. Adım: Sepete gidiniz ve seçilen ürünleri kontrol ediniz.
4. Adım: Ödeme seçeneklerine bakınız.
5. Adım: Uygun ödeme seçeneğini işaretleyiniz. Gerekli ödeme bilgilerini giriniz.
6. Adım: Ödeme işlemini gerçekleştiriniz.
7. Adım: Kullanıcı girişi oluşturmadan ürün seçiniz, sepete gidiniz ve ödeme seçeneklerini kontrol ediniz.
8. Adım: Web sitesinde olmayan bir ürünü arayınız ve sitenin hangi hatayı verdiğini kontrol ediniz.
9. Adım: Ürün seçiniz, sepete gidiniz ve ödeme seçeneklerinin çalışıp çalışmadığı kontrol ediniz.
 
Üst