İçeriğe geç
parazade

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?
İçindekiler
  1. Duman testi nedir?
  2. Örnek ve kullanım alanları
  3. Neden işe yarar?

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.

İlgili terimler

Regresyon Testi(Regression Testing)Regresyon testi, yazılıma yapılan yeni bir değişiklikten sonra daha önce sorunsuz çalışan özelliklerin hâlâ doğru çalıştığını doğrulamak için yapılan tekrar testidir. Amaç, düzeltilen ya da eklenen bir şeyin başka yeri bozmadığından emin olmaktır.Yazılım Testi(Software Testing)Yazılım testi, bir programın beklendiği gibi çalışıp çalışmadığını kontrol etmek ve hataları kullanıcıya ulaşmadan bulmak için yapılan sistemli denemelerin bütünüdür. Elle ya da otomatik araçlarla yapılabilir.BuildBuild, yazılımın kaynak kodunun derlenip bağımlılıklarıyla birleştirilerek çalıştırılabilir ya da dağıtılabilir bir pakete dönüştürülmesidir. Aynı kelime, bu işlem sonucunda ortaya çıkan paketi anlatmak için de kullanılır.HotfixHotfix, canlı ortamda kullanıcıları etkileyen kritik bir hatayı düzenli sürüm takvimini beklemeden acilen düzelten küçük yazılım değişikliğidir. Türkçede sıcak düzeltme ya da acil yama olarak da anılır.Deploy(Deployment)Deploy (deployment), yazılımın hazırlanan sürümünün bir sunucuya ya da platforma kurularak çalışır ve erişilebilir hâle getirilmesidir. Türkçede dağıtım, yayına alma ya da canlıya alma olarak geçer.Sürekli Entegrasyon(Continuous Integration)Sürekli entegrasyon (Continuous Integration, CI), geliştiricilerin kod değişikliklerini gün içinde sık sık ortak depoya birleştirdiği ve her birleştirmede otomatik derleme ile testlerin çalıştığı yazılım geliştirme pratiğidir.