Karşılaştırma ve Fark Analizi Smoke Test vs Regresyon Testi
Yazılım test uzmanları, bir uygulamanın veya yazılımın beklendiği gibi çalıştığından emin olmak için çeşitli test türleri kullanır. Hem Smoke Test hem de Regresyon Testi, test uzmanlarının bir uygulamanın her yeni yapısını test etmek için aynı amaçla kullandıkları test türleri olsa da, her biri farklı amaçlara hizmet eder ve yazılım testinin farklı aşamalarında kullanılır. Bu testlerin her ikisinin de ne olduğunu, nasıl farklılaştıklarını ve testlerinizde maksimum kaliteyi sağlamak için ne zaman kullanabileceğinizi öğrenmek istiyorsanız doğru yerdesiniz. Şimdi bu iki testi tanımlayarak başlayalım ve ardından bir karşılaştırma tablosuyla smoke ve regresyon testleri arasındaki farkı keşfedelim.
Smoke Test Nedir?
Bir yazılımın en temel işlevlerinin çalışıp çalışmadığını doğrulamak için kullanılır. Bu testler genellikle kısa sürede tamamlanıp yazılımın dağıtılmaya hazır olup olmadığını belirlemek için kullanılır. Ayrıca smoke testler günlük veya düzenli aralıklarla tekrarlanır. Smoke testler geliştiriciler ve test mühendisleri tarafından yapılır.
Örneğin bir E-Ticaret uygulaması için duman testi yapmanız gerektiğini varsayalım, uygulamanın aşağıdaki fonksiyonları Smoke Testi kapsamında test edilebilir.
• Login Fonksiyonu
• Sepete ürün ekleme/çıkarma
• Favori Listesine ürün ekleme/çıkarma
• Satın Alma İşleminin Tamamlanması
Regresyon Testi Nedir?
Bir yazılımın önceki bir sürümde çalışan bir özelliğinin, yeni bir sürümde de çalışmaya devam ettiğini doğrulamak için kullanılır. Bu testler, yazılımın yeni özelliklerle veya hata düzeltmeleriyle güncellendikten sonra her zaman yapılır. Bir başka deyişle yeni sürümde yapılan değişikliklerin yazılımın geneli üzerinde yan etkilerinin olup olmadığının test edilmesidir. Regression testleri genellikle test mühendisleri tarafından yapılır.
Örneğin bir e-ticaret uygulamasının test edildiği aynı örneği ele alalım ve smoke testinin geçtiğini varsayalım. Dolayısıyla, bu uygulamanın aşağıda belirtilen yönleri veya özellikleri, yeni özelliğin kendi başına ve mevcut özelliklerle birlikte iyi çalıştığından emin olmak için regresyon testi sırasında yapılacak birçok kontrolden sadece birkaçı şunlardır :
• Satın alma sürecini kontrol etmenin yanı sıra, şimdi de ödemenin mevcut tüm seçenekler kullanılarak yapılıp yapılamayacağı kontrol edilebilir.
• Favori listesinin gizlilik ayarlarını değiştirip değiştiremediğimizi, başkalarıyla paylaşılıp paylaşılamadığını ve favori listesine eklenen öğelerin normal arama sonuçlarına da yansıyıp yansımadığı kontrol edilebilir.
• Hesap bilgileri söz konusu olduğunda, birden fazla adres kaydedip kaydetmediğimizi, sipariş geçmişi özelliğini doğrulayıp doğrulamadığımızı, kullanıcının satın alma işlemi için faturayı indirip indiremediği vs. kontrol edilebilir.
1) Amaç: Her iki test türü kullanım amaçları itibariyle zaman zaman birbirlerine karıştırılsalar da temelde farklı amaçlara hizmet ederler.
• Smoke Test : Smoke Testin amacı bir yazılımın en temel ve en sık kullanılan işlevlerinin çalışıp çalışmadığını doğrulamaktır.
• Regression Test : Yazılımın yeni bir sürümü veya güncellemesi sonrasında, mevcut işlevselliğin hala düzgün çalıştığından emin olmak amacıyla yapılır. Mevcut fonksiyonlar üzerinde yapılan değişikliklerin diğer fonksiyonlara olan etkilerini kontrol eder.
2) Kapsam: Her iki test türünün kapsam açısından da farklılık göstermektedir.
• Smoke Test : Smoke Testi yazılımın en temel, kritik ve önemli işlevlerini test eder.
• Regression Test : Regression Testi yazılımın tüm işlevlerini test edebilir.
3) Zamanlama : Her iki test türünün uygulama zamanları da farklılık göstermektedir.
• Smoke Test : Yazılım geliştirme sürecinin erken aşamalarında başlayıp, her aşamasında gerçekleştirilir. Bu test, hızlı geri bildirim almak için kullanılır.
• Regression Test : Yazılımın yeni özellik veya hata düzeltmeleri ile güncellenmesinden sonra yapılır. Yani, mevcut işlevselliğin sürekli olarak kontrol edilmesi için düzenli olarak uygulanır.
SMOKE TEST
• Temel fonksiyonları kontrol etmek ve büyük hataları tespit etmek amacıyla yapılır.
• Yazılım geliştirme sürecinin erken aşamalarında başlayıp, her aşamasında gerçekleştirilir.
• Genellikle daha dar bir kapsama sahiptir ve temel fonksiyonları kapsar.
• Genellikle geliştirme ekibi veya test mühendisleri tarafından yapılır.
• Zaman ve insan gücü gereksinimi Regresyon Testinden daha azdır.
REGRESSION TEST
• Yazılımın yeni bir sürümü veya güncellemesi sonrasında, mevcut işlevselliğin hala düzgün çalıştığından emin olmak amacıyla yapılır.
• Yazılımın her yeni sürümü veya güncellemesi sonrasında yapılır. Yani, mevcut işlevselliğin sürekli olarak kontrol edilmesi için düzenli olarak uygulanır.
• Daha geniş bir kapsama sahiptir ve yazılımdaki değişikliklerin genel etkilerini yazılımın tümüyle değerlendirir.
• Genellikle test mühendisleri tarafından yapılır.
• Zaman ve insan gücü gereksinimi Smoke Testinden daha fazladır.
Yazar: Ebubekir Sarıgül