Negatif senaryoların otomasyonu, kapsamlı bir test sisteminin ayrılmaz bir parçasıdır. Bu, sistemin hatalı eylemlere, yanlış verilere, servislerin arızalarına ve diğer olağandışı durumlara karşı dayanıklılığını doğrulayan testlerdir.
Konu geçmişi:
Geçmişte, olumlu senaryolara (happy paths) odaklanılmıştır çünkü bunları otomatikleştirmek ve sürdürmek daha kolaydır. Ancak kalite gereksinimleri arttıkça, pek çok hata özellikle sınır durumlarında, hatalı veya belirsiz şekilde yanlış koşullarda ortaya çıkmaktadır. Bunların manuel testleri hızla geçerliliğini yitirir, oysa otomasyon bozulmaları takip etme olanağı verir.
Sorunlar:
Çözüm:
Anahtar özellikler:
Negatif testte sadece hangi hataların döndüğünü kontrol etmek yeterli mi?
Hayır. Hatanın içeriğinin yanı sıra, hatadan sonra sistem durumunun değişmediğini de kontrol etmek önemlidir (örneğin, hatalı bir kayıt veritabanına eklenmemelidir).
Tüm olası negatif senaryoları otomatikleştirilmeli mi?
Hayır. Sonsuz sayıda negatif senaryo olabilir; en olası ve kritik olanlar ayrılmalı (Boundary Value, Null/Empty, yanlış tür, SQL enjeksiyonları vb.) ve diğerleri hata geldikçe ele alınmalıdır.
Tüm negatif durumlar için aynı işleme kullanılabilir mi?
Hayır. Farklı negatif senaryolar farklı kontroller, istisna işlemleri ve rollback'ler gerektirir; şablon assert'ler yeterli değildir.
Sistemde yalnızca geçerli kayıt senaryoları test edilmektedir. Boş bir e-posta ile kayıt otomatik test edilmemektedir. Sonuç olarak, boş bir e-posta ile kullanıcı kaydının yapılabileceği sorunu yalnızca canlı ortamda fark edilir.
Artılar:
Eksiler:
Her negatif senaryo (e-posta yok, yanlış format, sql enjeksiyonu) için yeni bir hesabın oluşmadığını ve hata mesajının içeriğini açıkça kontrol eden otomatik bir test bulunmaktadır.
Artılar:
Eksiler: