İçeriğe geç
parazade

Regresyon Testi Nedir?

İngilizce: Regression Testing

Yayın: · Son güncelleme:

Regresyon Testi Nedir? Kısaca

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.

Regresyon Testi nedir?
İçindekiler
  1. Regresyon testi nedir?
  2. Ne zaman yapılır?
  3. Otomasyon neden şart?

Regresyon testi nedir?

Regresyon, "geriye gitme" anlamına gelir. Yazılımda, eskiden çalışan bir özelliğin yeni bir değişiklik yüzünden bozulmasına regresyon denir. Regresyon testi de bu geri gidişi yakalamak için yapılır.

Her geliştirici bu durumu yaşamıştır. Bir hatayı düzeltirsiniz, başka bir yerde yenisi ortaya çıkar.

Ne zaman yapılır?

Kod her değiştiğinde. Yeni bir özellik eklendiğinde, bir hata düzeltildiğinde, bir kütüphane güncellendiğinde ya da sunucu ayarları değiştiğinde regresyon riski doğar.

Örneğin bir muhasebe programında fatura ekranına yeni bir döviz seçeneği eklendiğini düşünün. Değişiklik yalnız fatura ekranına dokunuyor gibi görünse de ortak bir hesaplama fonksiyonunu etkilediyse raporlardaki toplamlar da kayabilir. Regresyon testi, faturayla birlikte raporları, ödeme takibini ve dışa aktarmayı da yeniden kontrol eder.

Otomasyon neden şart?

Elle yapılan regresyon testi zamanla büyür ve yorucu hâle gelir. Uygulama büyüdükçe her sürümde yüzlerce adımı yeniden denemek günler alabilir. Bu tekrar eden iş, test otomasyonu için en uygun alandır.

Pratik bir yaklaşım şudur: bulunan her hata için onu yakalayan bir test yazın ve regresyon setine ekleyin. Böylece aynı hata bir daha geri gelirse anında fark edilir. Tüm seti her değişiklikte çalıştırmak çok uzun sürüyorsa, kritik akışlardan oluşan kısa bir seti her seferinde, tam seti ise gece çalıştırabilirsiniz.

Sıkça Sorulan Sorular

Regresyon testi ile yeniden test aynı şey mi?

Değil. Yeniden test, düzeltilen bir hatanın gerçekten giderildiğini kontrol eder. Regresyon testi ise o düzeltmenin başka yerleri bozmadığını kontrol eder. İkisi genelde birlikte yapılır.

Regresyon testleri kim yapar?

Genelde QA ekibi ya da test uzmanları sorumludur. Otomatik regresyon testleri ise CI/CD hattında her değişiklikte kendiliğinden çalışır.

İlgili terimler

Test Otomasyonu(Test Automation)Test otomasyonu, yazılım testlerinin bir insan tarafından elle yapılması yerine önceden yazılmış betikler ve araçlar aracılığıyla otomatik olarak çalıştırılması ve sonuçların raporlanmasıdı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.Duman Testi(Smoke Testing)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.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.Kütüphane(Library)Yazılımda kütüphane (library), belirli işleri yapmak için önceden yazılmış ve tekrar kullanılabilir kod koleksiyonudur. Geliştirici, aynı işi sıfırdan yazmak yerine kütüphanenin fonksiyonlarını çağırarak zaman kazanır.Fatura(Invoice)Fatura, satılan mal ya da yapılan hizmet karşılığında müşterinin borçlandığı tutarı göstermek üzere satıcı tarafından düzenlenip alıcıya verilen ticari ve vergisel belgedir. Vergi Usul Kanununda düzenlenir.Döviz(Foreign Currency)Döviz, bir ülkenin kendi parası dışındaki yabancı paraları ve bu paralar cinsinden düzenlenmiş çek, havale gibi ödeme araçlarını ifade eder. Türkiye için ABD doları, euro ve sterlin en bilinen dövizlerdendir.