Duman Testi Nedir?
İngilizce: Smoke Testing
Yayın: · Son güncelleme:
Duman Testi Nedir? Kısaca
Duman testi (smoke test), yeni bir yazılım sürümünün en temel işlevlerinin çalışıp çalışmadığını hızlıca kontrol eden kısa testtir. Ayrıntılı testlere geçmeden önce sürümün test edilmeye değer olup olmadığını gösterir.

Duman testi nedir?
Duman testi, yazılımın "nefes alıp almadığını" kontrol eder. Uygulama açılıyor mu, giriş yapılabiliyor mu, ana sayfa yükleniyor mu? Cevap hayırsa daha ayrıntılı test yapmanın anlamı yoktur.
Adı donanım dünyasından gelir. Yeni monte edilen bir devreye ilk kez elektrik verildiğinde duman çıkıp çıkmadığına bakılırdı. Duman çıkmıyorsa diğer testlere geçilirdi.
Örnek ve kullanım alanları
Bir online bankacılık uygulamasında duman testi birkaç dakikalık bir kontrol listesidir:
- Uygulama açılıyor ve giriş ekranı geliyor.
- Test kullanıcısıyla giriş yapılabiliyor.
- Hesap özeti ekranı veri gösteriyor.
- Çıkış yapılabiliyor.
Bu adımların hepsi geçerse sürüm daha kapsamlı testlere gönderilir. Biri bile başarısız olursa sürüm reddedilir ve geliştiriciye geri döner. Duman testleri özellikle her deploy sonrasında, yeni sürümün canlıda ayağa kalktığını doğrulamak için de kullanılır.
Neden işe yarar?
Zaman kazandırır. Temel bir hata yüzünden çalışmayan bir sürümü saatlerce test etmek, test ekibinin emeğini boşa harcar.
Duman testlerini kısa tutun. Amaç her şeyi değil, yalnız en kritik akışları kontrol etmektir; on beş dakikayı aşan bir duman testi artık başka bir şeye dönüşmüştür. Bu testleri otomatikleştirmek kolaydır ve getirisi yüksektir. Sürekli entegrasyon hattında her build sonrası ilk adım olarak çalıştırılabilirler.
Sıkça Sorulan Sorular
Duman testi ile sağlık kontrolü testi aynı şey mi?
Benzerdir ve bazen birbirinin yerine kullanılır. Duman testi genelde yeni bir sürümün temel akışlarını kontrol eder. Sağlık kontrolü (sanity test) ise belirli bir düzeltme ya da değişiklik sonrası ilgili alanın mantıklı çalıştığını hızlıca doğrular.
Smoke test kimin işidir?
Otomatik smoke testler CI/CD hattında kendiliğinden çalışır. Elle yapılanlar ise genelde test uzmanı ya da yayını yapan geliştirici tarafından, yeni sürüm kurulduktan hemen sonra uygulanır.