Smoke Test Hizmeti

smoke test

Yeni bir sürüm yayınlandı. Peki uygulama gerçekten test edilmeye hazır mı?

Bir yazılımın yeni versiyonunda yüzlerce test senaryosunu çalıştırmadan önce, en temel işlevlerin çalıştığından emin olmak gerekir.

Smoke Test, yeni bir yazılım sürümünün veya build’in daha detaylı testlere devam edilebilecek kadar stabil olup olmadığını hızlı şekilde değerlendiren test yaklaşımıdır.

Vidius Project olarak kritik kullanıcı akışlarını kontrol ederek, yeni sürümün kapsamlı test sürecine geçmeye uygun olup olmadığını bağımsız bir gözle değerlendiriyoruz. Çünkü bazen saatler sürecek bir test çalışmasının sonunda değil, ilk birkaç dakikada test edilemeyecek bir sürümle karşı karşıya olduğunuzu anlayabilirsiniz.

Smoke Test Nedir?

Smoke Test, bir yazılımın temel ve kritik fonksiyonlarının çalışıp çalışmadığını kontrol etmek amacıyla gerçekleştirilen kısa ve odaklı bir test sürecidir. Amaç uygulamadaki bütün özellikleri detaylı şekilde test etmek değildir. Öncelikle yazılımın temel işlevlerinin ayakta olup olmadığı kontrol edilir.

Örneğin bir e-ticaret uygulamasında:

  • Uygulama açılıyor mu?
  • Kullanıcı giriş yapabiliyor mu?
  • Ürünler görüntülenebiliyor mu?
  • Ürün sepete eklenebiliyor mu?
  • Sepet açılabiliyor mu?
  • Ödeme adımına geçilebiliyor mu?

gibi kritik kontroller gerçekleştirilir. Temel akışlardan biri çalışmıyorsa, daha detaylı testlere geçmek yerine problemin giderilmesi beklenebilir. Buradaki temel soru şudur: “Bu sürümü daha detaylı test etmeye değer mi?”

Smoke Test Hangi Durumlarda Yapılır?

Smoke Test özellikle sık sürüm çıkarılan ve hızlı geri bildirim gerektiren projelerde önemli bir test katmanıdır.

Şu durumlarda uygulanabilir:

  • Yeni bir build yayınlandığında: Build’in temel fonksiyonlarını hızlıca doğrulamak için.
  • Yeni sürüm test ortamına alındığında: Detaylı testlere başlamadan önce ortamın ve uygulamanın temel olarak çalıştığını kontrol etmek için.
  • Canlıya çıkış öncesinde: Kritik kullanıcı akışlarının çalıştığından emin olmak için.
  • Büyük bir geliştirme sonrasında: Yapılan değişikliklerin uygulamanın temel fonksiyonlarını bozup bozmadığını hızlıca görmek için.
  • Hata düzeltmeleri sonrasında: Yeni build’in temel işlevlerinin kullanılabilir durumda olup olmadığını değerlendirmek için.
  • CI/CD süreçlerinde: Yeni build’lerin daha kapsamlı test aşamasına geçmeden önce hızlı bir kalite kontrolünden geçirilmesi için.

Smoke Testte Nelere Bakılır?

Smoke Testin kapsamı projenin yapısına göre değişir. Ancak genellikle uygulamanın çalışması için kritik olan temel fonksiyonlara odaklanılır.

Uygulamanın Açılması

Uygulamanın veya ilgili modülün erişilebilir ve kullanılabilir durumda olup olmadığı kontrol edilir.

Temel Kullanıcı Akışları

Kullanıcının ürünü kullanmaya başlayabilmesi için gerekli kritik akışlar test edilir. Örneğin giriş, kayıt, ürün görüntüleme, arama, sepete ekleme veya ödeme gibi temel işlemler.

Kritik Fonksiyonlar

Uygulamanın temel değerini oluşturan fonksiyonların çalışıp çalışmadığı kontrol edilir.

Temel Navigasyon

Kritik sayfalar arasında geçiş yapılabildiği ve temel menülerin çalıştığı doğrulanır.

Kritik Entegrasyonlar

Projenin yapısına göre ödeme, API, kimlik doğrulama veya benzeri kritik entegrasyonların temel seviyede çalışıp çalışmadığı kontrol edilebilir. Amaç her entegrasyonu ayrıntılı şekilde test etmek değil, kritik akışın çalışmasını engelleyen belirgin bir sorun olup olmadığını görmektir.

Smoke Test Süreci Nasıl İlerler?

Smoke Test hızlı sonuç almak üzere tasarlanır. Bu nedenle test kapsamı, uygulamanın kritik fonksiyonlarına odaklanacak şekilde belirlenir.

1. Build ve ortamı kontrol ederiz

Test edilecek sürümün doğru ortamda ve erişilebilir durumda olduğunu doğrularız.

2. Kritik fonksiyonları belirleriz

Uygulamanın temel kullanıcı akışlarını ve test sürecini engelleyebilecek kritik fonksiyonları belirleriz.

3. Temel kontrolleri gerçekleştiririz

Belirlenen kritik akışları hızlı ve kontrollü şekilde test ederiz.

4. Sonucu değerlendiririz

Temel fonksiyonlarda kritik bir sorun bulunup bulunmadığını değerlendirerek sürümün detaylı testlere devam etmeye uygun olup olmadığını belirleriz.

5. Bulguları raporlarız

Test sırasında tespit edilen kritik sorunları, tekrar üretim adımları ve görsel kanıtlarla birlikte raporlarız.

Smoke Test Başarısız Olursa Ne Olur?

Smoke Testin en önemli amacı, test ekibinin zamanını kullanılamayacak bir build üzerinde harcamasını önlemektir. Örneğin kullanıcı girişi çalışmıyor, uygulama ana sayfada hata veriyor veya kritik bir API yanıt vermiyorsa detaylı testlere devam etmek anlamlı olmayabilir. Bu durumda build “test edilebilir durumda değil” olarak değerlendirilebilir ve sorunların giderilmesi için geliştirme ekibine geri bildirim verilir. Sorunlar giderildikten sonra yeni build üzerinde Smoke Test tekrar uygulanabilir. Böylece kapsamlı test sürecine ancak temel fonksiyonların çalıştığı doğrulandıktan sonra geçilir.

Smoke Test ile Regresyon Testi Arasındaki Fark Nedir?

Smoke Test ve Regresyon Testi farklı amaçlara hizmet eder.

Smoke Test, bir sürümün temel olarak çalışıp çalışmadığını ve detaylı testlere geçmeye uygun olup olmadığını hızlıca kontrol eder.

Regresyon Testi ise yapılan değişikliklerin mevcut çalışan fonksiyonları bozup bozmadığını daha kapsamlı şekilde değerlendirir.

Kısaca: Smoke Test: “Bu build test edilebilir durumda mı?” Regresyon Testi: “Bu değişiklik mevcut sistemi bozdu mu?”

Bu nedenle bir sürümde önce Smoke Test uygulanıp ardından kapsamlı fonksiyonel veya regresyon testlerine geçilmesi oldukça yaygın bir yaklaşımdır.

Smoke Test Sonunda Neler Teslim Edilir?

Smoke Testin kapsamına göre aşağıdaki çıktıları sunabiliriz:

  • Test edilen kritik fonksiyonların listesi
  • Test sonucu ve kapsam özeti
  • Başarılı ve başarısız kontroller
  • Detaylı hata (bug) raporları
  • Hataların tekrar üretim adımları
  • Ekran görüntüleri ve gerektiğinde ekran kayıtları
  • Hata önem ve kritiklik seviyeleri
  • Build’in detaylı testlere uygunluk değerlendirmesi

Amacımız, test ekibinin ve geliştirme ekibinin sürümün mevcut durumu hakkında hızlı ve net bir fikir edinmesini sağlamaktır.

Smoke Test ile Sanity Test Aynı Şey mi?

Hayır, ancak iki kavram pratikte zaman zaman birbirinin yerine kullanılabilir.

Smoke Test genellikle yeni bir build veya sürümün temel fonksiyonlarının çalışıp çalışmadığını ve daha kapsamlı testlere hazır olup olmadığını değerlendirmek için kullanılır.

Sanity Test ise çoğunlukla belirli bir değişiklik veya hata düzeltmesi sonrasında, ilgili işlevin ve bağlantılı alanların mantıklı şekilde çalıştığını hızlıca kontrol etmeye odaklanır.

Kısaca: Smoke Test → Build’in genel test edilebilirliğine bakar. Sanity Test → Belirli bir değişikliğin veya düzeltmenin sağlıklı çalışıp çalışmadığına odaklanır.

Neden Vidius Project?

Smoke Testin hızlı olması, yüzeysel olması gerektiği anlamına gelmez. Hangi fonksiyonların gerçekten kritik olduğunu doğru belirlemek, kısa bir test süresinde doğru kontrolleri yapabilmek kadar önemlidir.

18 yılı aşkın QA deneyimimizi bağımsız bir bakış açısıyla birleştiriyoruz.

Test sürecine gereksiz kontroller eklemek yerine, ürününüzün temel değerini ve kritik kullanıcı akışlarını dikkate alarak en önemli noktaları önce kontrol ediyoruz. Çünkü bazen iyi bir test, daha fazla şey test etmek değil; doğru şeyleri önce test etmektir.

Sık Sorulan Sorular

Smoke Test nedir?

Smoke Test, yeni bir yazılım sürümünün veya build’in temel fonksiyonlarının çalışıp çalışmadığını ve daha kapsamlı testlere uygun olup olmadığını hızlı şekilde değerlendiren test yaklaşımıdır.

Smoke Test ne zaman yapılır?

Yeni bir build test ortamına alındığında, yeni sürüm yayınlandığında, büyük bir geliştirme sonrasında veya hata düzeltmelerinden sonra uygulanabilir.

Smoke Test ne kadar sürer?

Süre uygulamanın büyüklüğüne ve kritik fonksiyonların sayısına göre değişir. Smoke Testin amacı kapsamlı test yapmak değil, temel sorunları hızlı şekilde tespit etmektir.

Smoke Test başarısız olursa ne olur?

Kritik bir fonksiyon çalışmıyorsa build detaylı testlere uygun olmayabilir. Sorunlar geliştirme ekibine iletilir ve düzeltme sonrasında yeni build üzerinde tekrar Smoke Test uygulanabilir.

Smoke Test manuel yapılabilir mi?

Evet. Smoke Test manuel olarak gerçekleştirilebilir. Projenin yapısına ve test altyapısına bağlı olarak otomasyon da kullanılabilir.

Smoke Test ile Regresyon Testi arasındaki fark nedir?

Smoke Test, build’in temel olarak çalışıp çalışmadığını hızlı şekilde kontrol eder. Regresyon Testi ise yapılan değişikliklerin mevcut çalışan fonksiyonları etkileyip etkilemediğini daha kapsamlı şekilde değerlendirir.

Test sonunda nasıl bir rapor alacağım?

Test edilen kritik fonksiyonların kapsamını, başarılı ve başarısız kontrolleri, tespit edilen hataları ve gerekli görsel kanıtları içeren bir test sonucu raporu sunulur.

Yeni Sürümü Test Etmeden Önce Bir Bakışta Kontrol Edelim

Yeni build’inizi kapsamlı test sürecine almadan önce kritik fonksiyonlarını hızlıca kontrol edelim.