Regresyon Testi Nedir?

Regresyon Testi Nedir?

Regresyon Testi Nedir?

Gerileme testi yeni bir program veya kod değişikliğinin mevcut özellikleri olumsuz etkilemediğini doğrulamak için yapılan bir tür yazılım testi olarak tanımlanır. Ayrıca bunun, mevcut işlevlerin iyi çalışmasını sağlamak için yeniden yürütülen, önceden yürütülmüş test senaryolarının tam veya kısmi bir seçiminden başka bir şey olmadığını da söyleyebiliriz.

Bu tür testler, yeni kod değişikliklerinin mevcut işlevler üzerinde herhangi bir yan etkisi olmadığından emin olmak için yapılır. En son kod değişiklikleri yapıldıktan sonra eski kodun hala çalışmasını sağlar.

Neden Regresyon Testi?

Regresyon testi süreci test kapsamında esastır. Kod değişikliklerinin veya geliştirmelerinin yeni kusurlara yol açıp açmadığını veya mevcut işlevsel testleri bozup bozmadığını tespit edebildiği için.

Regresyon testi süreci olmadan, küçük kod değişikliklerinin bile maliyetli hatalara yol açma şansı olabilir. Bu nedenle yazılım kalitesinin korunmasına yardımcı olacak sistematik bir uygulamadır. Bu yöntem, bilinen sorunların tekrarının önlenmesine yardımcı olur ve yazılıma olan güveni artırır.

Regresyon Testini ne zaman yapabiliriz?

Regresyon testi sürecini uygulayabileceğiniz senaryolar aşağıda verilmiştir.

Uygulamaya yeni işlevler eklendi: Bu, bir uygulamada veya web sitesinde yeni özellikler veya modüller oluşturulduğunda meydana gelir. Yeni özelliğin eklenmesiyle mevcut özelliklerin her zamanki gibi çalışıp çalışmadığını görmek için regresyon gerçekleştirilir.

Değişiklik gerekliliği halinde: Sistemde önemli bir değişiklik meydana geldiğinde regresyon testi kullanılır. Bu test, bu değişikliklerin mevcut özellikleri etkileyip etkilemediğini kontrol etmek için yapılır.

Bir kusur giderildikten sonra: Geliştiriciler herhangi bir işlevsellikteki hatayı düzelttikten sonra regresyon testi gerçekleştirir. Bu, hatayı düzeltirken yapılan değişikliklerin diğer ilgili mevcut özellikleri etkileyip etkilemediğini belirlemek için yapılır.

Performans sorunu giderildikten sonra: Herhangi bir performans sorununu düzelttikten sonra, mevcut diğer işlevsel testleri etkileyip etkilemediğini görmek için regresyon testi süreci tetiklenir.

Yeni bir harici sistemle entegrasyon sırasında: Ürün yeni bir harici sistemle entegre olduğunda uçtan uca regresyon testi süreci gereklidir.

Yazılım Testinde Regresyon Testi Nasıl Yapılır?

Daha önce tartıştığımız gibi, regresyon testi yazılımda yapılan herhangi bir değişikliğe göre tetiklenir. Bu bir hata düzeltmesi, yeni özellik entegrasyonu vb. olabilir. Bu tür bir çalışma gerçekleştiğinde, QA ekibi aşağıda verilen şu aktiviteleri gerçekleştirir. Bu görevler, regresyon testi yürütme döngüsünü başlatmadan önce gerçekleştirilir.

  • Değişim sırasında değinilen belirli modüller ve kitaplıklar hakkında geliştirme ekibiyle görüşün
  • Yeni özellikteki değişiklik hakkında ürün sahibiyle görüşün ve bu değişikliğin diğer işlevleri nasıl etkilediğini veya nasıl etkilediğini öğrenin.
  • Mevcut özellikleri geriletmek için test uzmanlarının yürütmesi gereken mevcut test paketindeki testleri belirleyin.

Etkili yazılım kalite güvencesi için çeşitli regresyon testi teknikleri gerçekleştirilebilir:

Yazılım Testinde Regresyon Testi

Tümünü Yeniden Test Et

Bu, özellikle bir regresyon test paketi kullanan Regresyon Testi yöntemlerinden biridir. Bu durumda mevcut test kümesindeki veya paketindeki tüm testlerin yeniden yürütülmesi gerekir. Bu pahalı bir yöntemdir çünkü çok fazla zaman ve kaynak gerektirir.

Regresyon Testi Seçimi

Regresyon Testi Seçimi, bir test grubundan seçilen bazı test senaryolarının yürütüldüğü bir tekniktir. Değiştirilen kodun yazılım uygulamasını etkileyip etkilemediğinin test edilmesine yardımcı olur. Burada test senaryoları iki bölüme ayrılmıştır. Yeniden kullanılabilir test senaryoları daha sonraki regresyon döngülerinde kullanılabilirken eski test senaryoları sonraki döngülerde kullanılamaz.

Test Senaryolarının Önceliklendirilmesi

Test senaryolarının önceliklendirilmesi iş etkisine, kritikliğe ve sık kullanılan işlevsel testlere bağlıdır. Ayrıca, önceliğe dayalı olarak test senaryolarının önceliklendirilmesi, regresyon testlerini yürütme çabasını büyük ölçüde azaltır.

Regresyon testi için test senaryolarının seçilmesi

Sektör verilerinden, müşteriler tarafından bildirilen kusurların önemli bir kısmının son dakika hata düzeltmelerinden kaynaklandığı tespit edildi. Bu, yan etkilere neden oldu, bu nedenle Test Durumları regresyon testi için kolay bir iş değildir.

Aşağıdaki test vakası türleri seçilerek etkili bir regresyon test takımı oluşturulabilir:

  • Sık sık kusurları olan işlevselliklerden/modüllerden test senaryoları.
  • Kullanıcılar tarafından daha görünür olan işlevler
  • Ürünün temel özelliklerini doğrulayan test senaryoları
  • Daha yeni değişikliklere uğrayan işlevselliklerin test senaryoları.
  • Tüm Entegrasyon kısıtlamaları
  • Tüm karmaşık test vakaları
  • Sınır değeri test durumları
  • Seçilen mutlu yol ve olumsuz test durumları

Regresyon Test Araçları

Yazılımınızda sık sık değişiklik yapılıyorsa regresyon testi maliyetleri artacaktır. Test senaryolarının manuel olarak yürütülmesi, test yürütme süresini ve maliyetleri artırdığından. Regresyon testi senaryolarının otomasyonu bu gibi durumlarda akıllıca bir seçimdir. Otomasyonun kapsamı, ardışık regresyon döngüleri için yeniden kullanılabilir durumda kalan test senaryolarının sayısına bağlıdır.

Yazılım mühendisliğinde hem fonksiyonel hem de regresyon test otomasyonu için kullanılan en önemli araçlar şunlardır:

1) test Titizliği

test Titizliği testleri doğrudan yürütülebilir özellikler olarak sade İngilizce olarak ifade etmenize yardımcı olur. Tüm teknik becerilere sahip kullanıcılar mobil, web ve API adımlarını kapsayan herhangi bir karmaşıklıkta uçtan uca testler oluşturabilir. Test adımları, XPath'ler veya CSS Seçicileri gibi uygulama ayrıntılarına güvenmek yerine son kullanıcı düzeyinde ifade edilir.

test Titizliği

Özellikler:

  • Sonsuza kadar ücretsiz halka açık sürüm
  • Test senaryoları İngilizcedir
  • Sınırsız kullanıcı ve Sınırsız test
  • Otomasyonu öğrenmenin en kolay yolu
  • Web adımları için kaydedici
  • CI/CD ve Test senaryosu yönetimi ile entegrasyonlar
  • E-posta ve SMS testi
  • Tek testte Web + Mobil + API adımları

testRigor'u ziyaret edin >>


2) konu7

konu7 bulut tabanlı, “gerçek kodsuz” bir test otomasyon çözümüdür. Tüm testleri tek bir platformda birleştirir ve herkese otomasyon uzmanı olma olanağı tanır. Bu kullanımı kolay yazılım, regresyon testlerinin hızlı, kolay ve gelişmiş şekilde yazılmasına olanak tanır. Tek bir kod satırına ihtiyaç duymaz ve her gece binlerce test çalıştıran yüksek ölçekli yürütme olanağı sunar.

konu7

Özellikler:

  • Yerel eklentileri, uygulama içi entegrasyonları ve açık API'leri kullanarak DevOps/Agile araçlarıyla kolayca entegre olur.
  • Kurumsal düzeyde güvenlikle bulutta veya şirket içinde yüksek ölçekli paralel yürütme.
  • Sonuçların video kaydıyla kusurların esnek şekilde raporlanması.
  • Finansal öngörülebilirlik sağlayan basit, ölçülmeyen fiyatlandırma.
  • SOC2 Tip2 uyumlu

Subject7'yi ziyaret edin >>

Selenium: Selenium web uygulamalarını otomatikleştirmek için kullanılan en çok kullanılan açık kaynaklı araçtır. Selenium tarayıcı tabanlı regresyon testi için kullanılabilir. Gibi programlama dillerini destekler. JavaYakut, Python, vb.

Hızlı Test Uzmanı (QTP): HP Quick Test Professional, işlevsellik ve regresyon testi senaryolarını otomatikleştirmek için tasarlanmış otomatik bir yazılımdır. Otomasyon için VB Script dilini kullanır. Veriye dayalı, anahtar kelimeye dayalı bir araçtır.

Rational Fonksiyonel Test Cihazı (RFT): IBM'nin rasyonel fonksiyonel test cihazı bir Java yazılım uygulamalarının test durumlarını otomatikleştirmek için kullanılan araç. Bu, öncelikle regresyon test durumlarını otomatikleştirmek için kullanılır ve ayrıca Rational Test Manager ile entegre olur.

Regresyon Testi Türleri

Regresyon Testi Türleri

Farklı regresyon testi türleri şunlardır:

1) Birim Regresyon Testi (URT)

Bu, etki bölgesi yerine yalnızca değiştirilmiş bölümün regresyon testine tabi tutulduğu çok odaklı bir yaklaşımdır. Bu şekilde modülün diğer kısımları etkilenmeden kalır.

Örnek E-posta

Bir olarak Örneğin Derleme 1'de bir sorun bulundu ve geliştiriciye bildirildi.

Oturum açma işlevinde bir hata olduğunu varsayalım. Böylece geliştirici bunu düzeltir, hata düzeltmesini Yapı 2'ye ekler ve gönderir. Test ekibi, diğer özellikleri kontrol etmek yerine yalnızca oturum açma özelliğinin beklendiği gibi çalışıp çalışmadığını kontrol eder.

2) Bölgesel Regresyon Testi (RRT)

Bölgesel regresyon testinde değişiklik ve etki alanları test edilir. Bu alan, herhangi bir güvenilir modülün değişikliklerden etkilenip etkilenmeyeceğini öğrenmek için incelenir.

Örnek: Bu örnekte ilk yapıda A, B, C ve D modülleri geliştirici tarafından test edilmek üzere gönderilmektedir. Test cihazı B modülünde hatalar bulur ve bu nedenle uygulama, hataların düzeltilmesi için geliştiriciye iade edilir.

Geliştirici, modül B'deki ikinci yapıdaki hataları düzelttikten sonra tekrar test mühendisine gönderilir. Test mühendisi, modül B'yi sabitlemenin A ve C'yi etkilediğini öğrenir.

Bu nedenle test cihazı, ikinci sürümdeki modül B'deki değişiklikleri kontrol eder. Daha sonra, nasıl etkilendiklerini belirlemek için A ve C'deki etki bölgelerini de test edin.

Not: Regresyon testi yapılırken aşağıdaki sorunun ortaya çıkması olası bir sorundur.

Sorun:

  • Yapı 1'de istemciler genellikle değişiklik, modifikasyon ve ek özellikler ister.
  • Bu istek daha sonra hem geliştirme hem de test ekiplerine gönderilir.
  • Geliştirme ekibi daha sonra değişiklikleri yapar. Daha sonra, test mühendisi müşteriye değişikliğin hangi alanları etkileyeceğini bildiren bir e-posta gönderir.
  • Test lideri daha sonra etkilenen alanların listesini müşteriden, geliştiricilerden ve test departmanından toplar.
  • Etki listesi daha sonra regresyon testini başlatacak olan test mühendislerine gönderilir.

Bu tür test yöntemi iletişim boşlukları yaratır. Geliştiriciler ve müşteriler her zaman e-postalara geri dönemezler; dolayısıyla etki alanının uygun bir genel görünümü yoktur.

Çözüm: Bu tür bir sorunu ortadan kaldırmak için test ekibi, hata düzeltmeleri, yeni özellikler ve değişikliklerden sonra yeni sürüm geldiğinde bir toplantı düzenleyebilir. Bu toplantıda modüllerin değişikliklerden etkilenip etkilenmediği tartışılacaktır.

Etki listesi oluşturabilmeleri için etkileri bulmak amacıyla bir test turu düzenlenecektir. Test ucu bu listeye etki bölgesindeki maksimum alan sayısını ekler.

Burada sürecin nasıl görüneceği aşağıda açıklanmıştır:

  • Uygulamanın ana yeteneklerini kontrol etmek için "Derleme doğrulama testi".
  • Tüm yeni özelliklerin test edilmesi.
  • Değiştirilen veya değiştirilen özelliklerin incelenmesi.
  • Hataların yeniden test edilmesi.
  • Daha sonra son olarak Bölgesel Regresyon testi kullanılarak etki alanı analizi yapılır.

3) Tam Regresyon Testi (FRT):

Bu test, bir uygulamanın tüm işlevlerini kapsar. Tam regresyon testi genellikle sonraki sürümlerde gerçekleştirilir. Bu nedenle, FRT'yi ilk birkaç sürümden sonra ve lansmandan önceki son test olarak kullanabilirsiniz.

İkinci veya üçüncü yapıda müşteri veya iş sahibi değişiklik isteyebilir. Ayrıca yeni işlevler talep edebilir ve/veya kusurları bildirebilirler. Test ekibi daha sonra etki analizini yürütür, tüm değişiklikleri yapar ve nihai bir eksiksiz ürün testi gerçekleştirir.

Örneğin 4. yapı lansmandan önceki son sürümdür. Dolayısıyla bu yapıda test ekibi, yalnızca etki alanı veya bir özellik yerine ürünün tamamını test eder veya yeniden test eder. Bu, yapı 1, 2 ve 3'teki değişiklikler ve testlerden sonra yapılır.

Tam regresyon testi gerçekleştirmek için şu koşulları göz önünde bulundurmanız gerekir:

  • Uygulamanın temel bileşenlerinde değişiklikler gerçekleştirilir. Örneğin bir uygulamanın kök dosyasında veya çekirdek modüllerinde değişiklik varsa uygulamanın tamamının regresyona tabi tutulması gerekir. Çok sayıda değişiklik yapıldıysa.

4) Düzeltici Regresyon Testi:

Bu test, özelliklerde herhangi bir değişiklik yapılmadığında yapılır. Bu tür testler mevcut vakalarla yapılabilir.

5) Tüm Regresyon Testlerini Yeniden Test Edin:

Bu test biçiminde, uygulamada kaynak veya yapı 1'den itibaren yapılan küçükten büyüğe tüm değişiklikler yeniden test edilir.

Bu test, diğer tüm regresyon testleri sorunların temel nedenini belirlemede başarısız olduğunda yapılır.

6) Seçici Regresyon Testi:

Bu, programa yeni bir kod eklendiğinde kodun nasıl tepki vereceğini kontrol etmek için yapılır. Bu testi gerçekleştirmek için mevcut vakalardan bir alt küme kullanılarak testi verimli ve uygun maliyetli hale getiriyoruz. Bir alt kümeyi seçme kriterleri, değiştirilen kod modüllerine, bağımlılıklara, etkilenen işlevselliğin kritikliğine ve geçmiş hata verilerine dayanır.

7) Aşamalı regresyon testi:

Bu tür regresyon testi, programda belirli değişiklikler yapıldığında ve yeni test senaryoları oluşturulduğunda önemli çıktılar üretir.

En son sürümde eski sürümlerdeki hiçbir bileşenin etkilenmediğinden emin olmanıza yardımcı olur.

8) Kısmi Regresyon Testi:

Kısmi Regresyon Testi, yeni kod değişikliklerinin veya geliştirmelerinin mevcut işlevselliği olumsuz etkilemediğini doğrulamak için kullanılır. Ancak, tüm uygulamanın yeniden test edilmesini içeren tam regresyon testinin aksine, kısmi regresyon testinde, yazılımın yalnızca son değişikliklerden etkilenen belirli bölümlerine odaklanırız.

Bu nedenle kısmi regresyon testinin temel amacı, uygulamanın değişmeyen kısımlarının yeniden test edilmesini önleyerek zamandan ve kaynaklardan tasarruf etmektir. Kısmi regresyon testi için test senaryoları, kod değişikliklerinin etki analizine göre dikkatlice seçilir. Kısmi regresyon test grubuna dahil edilecek doğru test senaryolarının belirlenmesi çok önemlidir. Kritik test senaryolarının eksik olması, sorunların gözden kaçmasına neden olabilir.

Otomatik Regresyon Testi

Daha önce de belirtildiği gibi, birden fazla sürüm olduğunda regresyon testlerinin otomatikleştirilmesi gereklidir. Aynı zamanda çoklu regresyon döngüleri ve çok sayıda tekrarlanan aktivite için de gereklidir. Sürümler arasında birden fazla test döngüsü gerçekleştirmek çok zaman alıcı olduğundan.

Ancak otomasyonla birkaç kez test yapabilirsiniz. Bu, ilgili planlama ve tasarımı gerektiren, yürütülmek üzere otomasyon test komut dosyalarının yazılmasını gerektirir. Bu tür testlerde ekip doğrudan otomasyona başlayamaz. Bu nedenle, bu kapsamı kapsayacak şekilde hem manuel test hem de otomasyon test ekiplerini dahil etmemiz gerekiyor. Otomatik regresyon testi şu şekilde yapılır:

) 1 Adım Manuel test ekibi tüm gereksinimleri kontrol eder ve etki bölgesini belirler. Bu sürecin ardından gereksinim testi paketini otomasyon ekibine veya otomasyon mühendisine iletirler.

) 2 Adım Manuel test ekibi yeni modülleri test etmeye başlarken otomasyon test ekibi komut dosyasını yazar ve test senaryosunu otomatikleştirir.

) 3 Adım Bu regresyon testi yöntemini kullanmadan önce otomasyon ekibi hangi vakaların otomasyonu destekleyeceğini belirler.

) 4 Adım Hangi vakaların otomatikleştirilebileceğine bağlı olarak bu regresyon testlerini komut dosyalarına dönüştürürler.

) 5 Adım Komut dosyası oluşturma işlemi sırasında otomasyon ekibi regresyon testi senaryolarına başvurur. Bunu, ürüne, araca ve uygulama bilgisine sahip olmayabilecekleri için yaparlar.

) 6 Adım Test komut dosyaları tamamlandığında otomasyon ekibi bunları yeni uygulamada yürütecektir.

) 7 Adım Yürütmeden sonra sonuç, testin Başarılı mı yoksa Başarısız mı olduğunu bildirir.

) 8 Adım Testin başarısız olması halinde manuel test yöntemi kullanılarak tekrar kontrol edilir ve sorun mevcutsa ilgili geliştiriciye bildirilir.

Not: Hata düzeltildikten sonra sorun ve etki alanı yeniden test edilmek üzere manuel test cihazına gönderilir ve otomasyon ekibi betiği yeniden çalıştırır.

) 9 Adım Bu süreç, yeni eklenen tüm regresyon özelliklerinin Geçer durumuna gelmesine kadar devam eder.

Otomatik regresyon testinin avantajları şunlardır:

  • Yeniden kullanılabilir: Test komut dosyaları birden fazla sürümde yeniden kullanılabilir.
  • Doğruluk: Otomasyon araçları görevi yedekli olarak gerçekleştirerek hata olasılığını azaltır.
  • Zaman kazandırır: Manuel fonksiyonel test sürecinden daha hızlıdır ve zamandan tasarruf sağlar.
  • Toplu yürütme: Otomatize testlerde tüm scriptlerin aynı anda ve paralel olarak çalıştırılması mümkündür.
  • Kaynak artışına gerek yok: Regresyon testinin her yeni sürümde artması kaçınılmazdır. Ancak otomasyon için yeni kaynaklar eklemenize gerek yoktur.

Regresyon testi için test senaryoları nasıl seçilir?

Regresyon testi için doğru durumu nasıl seçebileceğiniz aşağıda açıklanmıştır.

  • Değişikliklerin kapsamını anlayın ve uygulamanın değiştirilen, eklenen veya düzeltilen kısımlarını belirleyin. Daha sonra regresyon testi için bu alanlara odaklanabilirsiniz.
  • Kritik işlevleri kapsayan ve bunu regresyon testi için temel olarak koruyan bir pakete sahip olun. Daha önce tartışıldığı gibi, bu testlerin otomatik hale getirilmesi önemle tavsiye edilir.
  • İşlevselliğin kritikliğine, son kullanıcı üzerindeki etkisine ve geçmiş hata verilerine göre testleri önceliklendirin.

Regresyon Testi En İyi Uygulamaları

Aşağıda, regresyon testlerini sürdürürken izlemeniz gereken birkaç temel uygulama bulunmaktadır.

Mümkün Olan Her Yerde Otomatikleştirin

Otomatik regresyon testi, test çalışmalarını azaltır ve çok sayıda test senaryosunun hızlı bir şekilde yürütülmesine olanak tanır.

Sürekli Entegrasyon

Regresyon testinin CI/CD işlem hatlarına dahil edilmesi, kod tabanında değişiklik yapıldığında testlerin otomatik olarak çalıştırılmasını sağlar.

Test Senaryosu Seçimi

Temel işlevleri ve yüksek riskli alanları temsil eden bir test senaryoları alt kümesini belirleyin ve sürdürün. Ayrıca, yapılan değişikliklerle doğrudan ilgili olanları da seçebilirsiniz çünkü önceki tüm test senaryolarını çalıştırmak pratik olmayabilir.

Düzenli Uygulama

Regresyon testlerini düzenli olarak, özellikle de her kod değişikliğinden sonra gerçekleştirin. Bu, geliştirme sürecinin erken aşamalarında sorunların belirlenmesine yardımcı olur.

Test Veri Yönetimi

Verilerle ilgili sorunlar test sonuçlarını etkileyebileceğinden, regresyon testleri için kullanılan test verilerinin tutarlı ve yönetilebilir olduğundan emin olun.

Çevre Yönetimi

Tutarlı ve tekrarlanabilir test ortamları sağlayın. Buna, üretimde kullanılan aynı işletim sistemlerinin, tarayıcıların ve cihaz yapılandırmalarının kullanılması da dahildir.

Kusurları Kaydedin ve Takip Edin

Regresyon testi sırasında keşfedilen tüm kusurlar kaydedilmeli, takip edilmeli ve yönetilmelidir. Ciddiyete göre çözümlerine öncelik verin.

Reus yeteneği

Tekrarları azaltmak ve sürdürülebilirliği artırmak için yeniden kullanılabilir test komut dosyaları ve test verileri oluşturun.

Regresyon Testi ve Konfigürasyon Yönetimi

Gerileme testi sırasında Yapılandırma Yönetimi, bir kodun sürekli olarak değiştirildiği çevik Ortamlarda zorunlu hale gelir. Etkili gerileme testlerini sağlamak için aşağıdakileri gözlemleyin:

  • Regresyon testi yapılan kodun bir yapılandırma yönetimi aracı altında olması gerekir.
  • Regresyon testi aşamasında kodda herhangi bir değişikliğe izin verilmemelidir. Regresyon testi kodunun geliştirici değişikliklerinden etkilenmemesi gerekir.
  • Regresyon testi için kullanılan veritabanı izole edilmelidir. Hiçbir veritabanı değişikliğine izin verilmemelidir

Yeniden Test Etme ve Regresyon Testi Arasındaki Fark

Yeniden test etme, kodun düzeltildiğinden emin olmak için kusurun veya hatanın yeniden işlevsel olarak test edilmesi anlamına gelir. Eğer düzeltilmezse, kusur yeniden açılması gerekiyor. Düzeltilirse kusur kapatılır.

Regresyon testi, yazılım uygulamanızın kod değişikliğine uğradığında test edilmesi anlamına gelir. Yeni kodun yazılımın diğer bölümlerini etkilememesini sağlamak için yapılır.

Bu iki test arasındaki temel farkları aşağıda bulabilirsiniz:

Yeniden Test Etme ve Regresyon Testi

retesting Gerileme testi
Kusur düzeltmeleri için özel olarak üretilmiştir. Regresyon testi esas olarak kod değişikliklerinin diğer işlevleri etkileyip etkilemediğini doğrulamak için yapılır.
Yeniden test etme, diğer sürümleri kontrol etmez ve yalnızca bozuk işlevlerin geri yüklenip yüklenmediğini doğrular. Önceki sürümlere odaklanır ve önceki işlevlerin hala beklendiği gibi çalışıp çalışmadığını test eder.
Her test spesifiktir Regresyon genel bir testtir.
Bu test başarısız test senaryoları içindir. Geçilen test vakaları içindir.
Belirli kusurları kontrol eder, dolayısıyla otomatikleştirilemez. Otomatikleştirilebilir. Ayrıca daha önce tartıştığımız gibi otomatikleştirilmesi şiddetle tavsiye edilir.
Yeniden test etme, yalnızca hatalar bulunduğunda gerekli olduğundan, her zaman test döngüsünün bir parçası değildir. Regresyon her zaman testin bir parçasıdır; bir kod her değiştirildiğinde, ürün işlevselliğinin kararlı olup olmadığını anlamak için bu testin yapılması gerekir.
Bilinen sorunlara odaklandığı için yüksek öncelikli bir testtir. Bu, olası kusurların genel testi olduğundan düşük öncelikli testtir.
Bu test belirli bir kusur üzerinde çalıştığı için zaman alıcı değildir. Yazılımın geniş bir alanını kapsadığı için zaman alıcıdır.
Aynı veri ve ortamdaki kusurları farklı bir girdi ve yeni bir versiyonla tespit eder. Bu test, kullanım kılavuzlarından, kusur raporlarından ve işlevsel özelliklerden vakalar elde edebilir.
İlk test yapılmadan tekrar test yapılamaz. Mevcut projede değişiklik ve modifikasyonların zorunlu olduğu durumlarda yapılır.

Ayrıca, farklılıkların tam listesine göz atın. okuyun.

Regresyon Testinin Avantajları ve Dezavantajları

Avantajlar

  • Regresyon testi ürünlerin kalitesini artırır.
  • Bu testle, değişikliklerin ve hata düzeltmelerinin mevcut işlevsellik ve özellikleri değiştirmediğinden emin olursunuz.
  • Regresyon yatakları mevcut özellikler üzerinde çalıştırıldığından, eski kusurların da kapsanacağını garanti edebiliriz.
  • Etkin ürün geliştirmeyi kolaylaştırır.
  • Bu testin uygulanmasıyla yüksek kullanıcı memnuniyeti elde edebilirsiniz.
  • Genel olarak yazılımın kararlılığını korur.

Dezavantajlar

  • En ufak bir değişiklik mevcut modüllerde sorunlara yol açabileceğinden, her küçük değişiklik yapıldığında yapılmalıdır.
  • Bu test manuel olarak yapıldığında zaman alıcı olabilir ve tekrarlanan testler gerektirir.

Regresyon Testindeki Zorluklar

Regresyon Testindeki Zorluklar

Regresyon testi yaparken karşılaşılan başlıca test sorunları şunlardır:

  • Ardışık regresyon çalıştırmalarıyla test paketleri oldukça genişler. Zaman ve bütçe kısıtlamaları nedeniyle regresyon testi paketinin tamamı yürütülemiyor
  • Maksimuma ulaşırken test paketini en aza indirmek hâlâ zorlu bir iş
  • Regresyon testlerinin sıklığının belirlenmesi, yani her değişiklikten veya her derleme güncellemesinden sonra veya bir dizi hata düzeltmesinden sonra, zorlu bir iştir.

Regresyon Testi Örneğinin Videolu Pratik Uygulaması

Tıkla okuyun videoya erişilemiyorsa

Regresyon Testi Örneği – Amazon

E-ticaret devini düşünün Amazon, gelir elde etmek için web sitesine güvenen çok milyar dolarlık bir işletmedir. İşlevselliğini, güvenilirliğini ve performansını korumak için regresyon testi önemli bir rol oynar.

Yeni Ürün Kategorisi Ekleme senaryosunu ele alalım.

Hayal et Amazon “Elektronik” ve “Giyim” gibi mevcut kategorilerin yanı sıra “Akıllı Ev Cihazları” adlı yeni bir kategoriyi de piyasaya sürerek ürün yelpazesini genişletmeye karar veriyor.

Olası regresyon durumları şöyle olabilir:

Ana Sayfa İşlevselliği: Ana sayfada, mevcut kategorilerin yanı sıra yeni "Akıllı Ev Cihazları" kategorisinin de herhangi bir görüntüleme sorunu olmadan görüntülendiğini doğrulayın.

Kategori Gezintisi: Kullanıcıların “Akıllı Ev Cihazları” kategori sayfasına sorunsuzca gidip, ana sayfaya sorunsuz bir şekilde dönebilmelerini sağlayın.

Arama İşlevselliği: Kullanıcılar arama yaptığında arama çubuğunun akıllı ev cihazlarına ilişkin sonuçları doğru şekilde döndürdüğünden ve diğer ürünlerle karıştırmadığından emin olun.

Kullanıcı Hesapları: Akıllı ev cihazları ve diğer ürünleri satın almak için kullanıcı hesaplarının oluşturulabileceğini, güncellenebileceğini ve kullanılabileceğini doğrulayın.

Ödeme İşleme: Satın alma işlemlerine özel ödeme ağ geçitlerini test edin ve güvenli ve hatasız işlemleri garanti edin.

Mobil Uyumluluk: Web sitesinin mobil uyumlu olduğundan ve kullanıcıların çeşitli cihazlarda akıllı ev cihazlarına erişip alışveriş yapabilmelerine olanak tanıdığından emin olun.

Bu regresyon testi durumlarından herhangi birinin başarısız olması, yeni ürün kategorisinin eklenmesi nedeniyle web sitesinin mevcut işlevselliğinde bir sorun olduğunu gösterir. Bu sorun belgelenmeli ve derhal çözülmelidir. Ek olarak, Amazon Tekliflerini genişletmeye ve web sitesinde değişiklikler yapmaya devam ettiğinden, güvenilir bir çevrimiçi alışveriş deneyimi sürdürmek için bu regresyon testlerinin yapılması gerekir. Otomatik test araçları bu süreci kolaylaştırabilir.

Sonuç

  • Regresyon Testi anlamı – Regresyon testi, bir uygulamanın iyileştirmeler, herhangi bir kod değişikliği veya hata düzeltmesinden sonra hala beklendiği gibi çalışmasını sağlayan bir yazılım testi türüdür.
  • Etkili bir regresyon stratejisi kuruluş için hem zamandan hem de paradan tasarruf sağlayabilir.
  • Vaka çalışmalarına göre, regresyon daha sonraki hata düzeltmelerinin %60'ına kadarını kurtardı.