Sobes.tech
Junior

Test sırasında nasıl hata (istisna) alınabilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Hatalar aşağıdaki yollarla elde edilebilir:

  1. Fonksiyonellik araştırması:

    • Negatif testler: Yanlış veri girişi, izin verilen sınırların dışına çıkma, yanlış biçimlendirme.
    • Sınır testi: Minimum ve maksimum izin verilen değerlerin kullanımı.
    • Stres testi: Sistem üzerinde aşırı yük.
    • Güvenlik testi: Enjeksiyon girişimleri, yetkisiz erişim.
    • Bağımlılıkların araştırılması: Dış servislerin devre dışı bırakılması veya hatalı çalışması.
    • Uyumluluk testi: Farklı tarayıcılar, işletim sistemleri, cihazlar kullanımı.
  2. Log analizi ve izleme:

    • Sunucu loglarının, uygulama loglarının incelenmesi.
    • Hataları ve arızaları gerçek zamanlı tespit etmek için izleme sistemlerinin kullanımı.
  3. Otomatik testler:

    • Birim testleri: Kodun bağımsız bileşenlerinin hata kontrolü.
    • Entegrasyon testleri: Modüllerin etkileşiminin kontrolü.
    • Uçtan uca testler: Kullanıcı eylemlerinin taklidi ile hataların bulunması.
    • Yük testleri: Yük altında hataların tespiti.
    • Fuzzing: Rastgele veya yarı-rastgele giriş verileri üreterek çökmeleri ve açıkları bulma.
    # Sıfıra bölme hatası oluşturabilecek bir test örneği
    def divide(a, b):
        return a / b
    
    # Test: ZeroDivisionError bekleniyor
    import pytest
    
    def test_divide_by_zero():
        with pytest.raises(ZeroDivisionError):
            divide(10, 0)
    
  4. Manuel testler:

    • Sistematik ve keşifsel testler, belirsiz senaryoların tespiti için.
    • Kullanılabilirlik testleri, belirsiz senaryoların hatalara yol açabileceği durumlar.
  5. Kod analiz araçlarının kullanımı:

    • Potansiyel hataları ve açıkları bulmak için statik kod analizi.
    • Çalışma sırasında hataları tespit etmek için dinamik analiz.
  6. Gereksinimler ve spesifikasyonların analizi:

    • Beklenen ve gerçek davranış arasındaki farkların tespiti.
  7. Retrospektif analiz:

    • Geçmişte bulunan hataların incelenmesi, kalıpların ve gözden kaçan senaryoların belirlenmesi.