Regresyon testi bir kara kutu test tekniğidir. Yazılımdaki bir kod değişikliğinin, ürünün mevcut işlevselliğini etkilemediğini doğrulamak için kullanılır. Regresyon testi, ürünün yeni işlevsellik, hata düzeltmeleri veya mevcut özellikteki herhangi bir değişiklikle iyi çalıştığından emin olunmasını sağlar.
Regresyon testi bir tür yazılım testi . Uygulamanın önceki işlevselliğinin düzgün çalıştığını ve yeni değişikliklerin herhangi bir hata üretmediğini kontrol etmek için test senaryoları yeniden yürütülür.
Orijinal işlevsellikte önemli bir değişiklik olduğunda yeni bir yapı üzerinde regresyon testi yapılabilir. Değişiklikler meydana geldiğinde bile kodun çalışmaya devam etmesini sağlar. Regresyon, uygulamanın değişmeyen kısımlarının yeniden test edilmesi anlamına gelir.
Regresyon testleri aynı zamanda Doğrulama Yöntemi olarak da bilinir. Test senaryoları genellikle otomatiktir. Test senaryolarının birçok kez yürütülmesi gerekir ve aynı test senaryosunun tekrar tekrar manuel olarak çalıştırılması da zaman alıcı ve sıkıcıdır.
Regresyon testi örneği
Burada regresyon testini verimli bir şekilde tanımlamak için bir örnek olay ele alacağız:
yazı tipi
İşlevlerden birinin onay, kabul ve gönderilen e-postaları tetiklemek olduğu bir Y ürününü düşünün. Ayrıca koddaki değişikliğin onları etkilemediğinden emin olmak için test edilmesi gerekir. Regresyon testi aşağıdaki gibi herhangi bir programlama diline bağlı değildir: Java , C++ , C# , vb. Bu yöntem, üründe yapılan değişiklikler veya güncellemeler açısından test etmek için kullanılır. Bir üründe yapılacak herhangi bir değişikliğin, ürünün mevcut modülünü etkilememesini sağlar. Düzeltilen hataların ve yeni eklenen özelliklerin Yazılımın önceki çalışma sürümünde herhangi bir sorun yaratmadığını doğrulayın.
Regresyon Testini ne zaman yapabiliriz?
Üretim kodu değiştirildiğinde regresyon testi yapıyoruz.
Regresyon testini aşağıdaki senaryoda yapabiliriz, bunlar:
1. Uygulamaya yeni işlevsellik eklendiğinde.
Örnek:
Bir web sitesinde, kullanıcıların yalnızca E-posta ile oturum açmasına olanak tanıyan bir oturum açma işlevi bulunur. Artık Facebook'u kullanarak giriş yapmak için yeni bir özellik sunuyoruz.
2. Değişiklik Gereksinimi Olduğunda.
Örnek:
Daha önce geçerli olan giriş sayfasından kaldırılan şifreyi unutmayın.
3. Kusur giderildiğinde
Örnek:
Oturum açma düğmesinin oturum açma sayfasında çalışmadığını ve bir test cihazının oturum açma düğmesinin bozuk olduğunu belirten bir hata bildirdiğini varsayalım. Hata geliştiriciler tarafından düzeltildikten sonra test uzmanı, Oturum Açma Düğmesinin beklenen sonuca göre çalıştığından emin olmak için hatayı test eder. Eş zamanlı olarak test cihazı, oturum açma düğmesiyle ilgili diğer işlevleri de test eder.
4. Bir performans sorunu olduğunda düzeltme
Örnek:
Ana sayfanın yüklenmesi 5 saniye sürer, yükleme süresi 2 saniyeye düşer.
5. Ortam değişikliği olduğunda
Örnek:
Veritabanını MySql'den Oracle'a güncellediğimizde.
Regresyon Testi nasıl yapılır?
Regresyon testine duyulan ihtiyaç, yazılım bakımının iyileştirmeleri, hata düzeltmelerini, optimizasyonu ve mevcut özelliklerin silinmesini içerdiği durumlarda ortaya çıkar. Bu değişiklikler sistem işlevselliğini etkileyebilir. Bu durumda Regresyon Testi gerekli hale gelir.
Regresyon testi aşağıdaki teknikler kullanılarak gerçekleştirilebilir:
1. Tümünü Yeniden Test Edin:
Yeniden Test, regresyon testi yapma yaklaşımlarından biridir. Bu yaklaşımda, tüm test senaryosu takımlarının yeniden yürütülmesi gerekir. Burada yeniden testi, bir testin başarısız olması olarak tanımlayabiliriz ve başarısızlığın nedeninin yazılım hatası olduğunu tespit ederiz. Arıza bildirildiğinde, yazılımın arızanın giderildiği yeni bir versiyonunu bekleyebiliriz. Bu durumda arızanın giderildiğini doğrulamak için testi tekrar yapmamız gerekecektir. Buna yeniden test etme denir. Bazıları bunu doğrulama testi olarak adlandıracaktır.
Yeniden test çok pahalıdır çünkü çok fazla zaman ve kaynak gerektirir.
2. Regresyon testi Seçimi:
- Bu teknikte, tüm test senaryosu takımı yerine seçilen bir test senaryosu takımı yürütülür.
- Seçilen test senaryosu takımları iki vakaya bölünmüştür
- Yeniden Kullanılabilir Test durumları.
- Eski Test durumları.
- Yeniden kullanılabilir test senaryoları başarılı regresyon döngüsünde kullanılabilir.
- Eski test senaryoları başarılı regresyon döngüsünde kullanılamaz.
3. Test senaryolarının önceliklendirilmesi:
İş etkisine, kritik ve sıklıkla kullanılan işlevselliğe bağlı olarak test senaryosunu önceliklendirin. Test senaryolarının seçilmesi, regresyon test paketini azaltacaktır.
Regresyon Testi araçları nelerdir?
Regresyon Testi QA sürecinin hayati bir parçasıdır; Regresyon işlemini gerçekleştirirken aşağıdaki zorluklarla karşılaşabiliriz:
Regresyon Testinin tamamlanması çok zaman alır. Regresyon testi mevcut testleri yeniden içerir, dolayısıyla test uzmanları testi yeniden çalıştırma konusunda heyecan duymazlar.
Herhangi bir ürünün güncellenmesi gerektiğinde Regresyon Testi de karmaşıktır; test listeleri de artıyor.
Regresyon Testi, mevcut ürün özelliklerinin hala çalışır durumda olmasını sağlar. Teknik olmayan bir liderle regresyon testi hakkında iletişim kurmak zor bir iş olabilir. Yönetici, ürünün ilerlemesini görmek ve mevcut işlevselliğin çalışmasının zor olabileceğinden emin olmak için regresyon testine önemli miktarda zaman yatırımı yapmak istiyor.
Regresyon Test Süreci
Regresyon testi süreci, inşa eder ve Salıverme .
Yapılar genelinde regresyon testi
Hata düzeldiğinde Hatayı yeniden test ediyoruz ve bağımlı modül varsa Regresyon Testine gidiyoruz.
Örneğin , Farklı yapılarımız varsa regresyon testini nasıl gerçekleştiririz? Yapı 1, Yapı 2 ve Yapı 3 farklı senaryolara sahip olan.
Derleme1
- Öncelikle müşteri iş ihtiyaçlarını sağlayacaktır.
- Daha sonra geliştirme ekibi özellikleri geliştirmeye başlar.
- Bundan sonra test ekibi test senaryolarını yazmaya başlayacak; örneğin, ürünün 1 numaralı sürümü için 900 test senaryosu yazıyorlar.
- Daha sonra test senaryolarını uygulamaya başlayacaklar.
- Ürün piyasaya sürüldükten sonra müşteri bir tur kabul testi gerçekleştirir.
- Ve sonunda ürün üretim sunucusuna taşınır.
Yapı2
- Artık müşteri 3-4 ekstra (yeni) özelliğin eklenmesini istiyor ve yeni özelliklerin gereksinimlerini de sağlıyor.
- Geliştirme ekibi yeni özellikler geliştirmeye başlar.
- Bundan sonra test ekibi yeni özellikler için test senaryosu yazmaya başlayacak ve yaklaşık 150 yeni test senaryosu yazacaklar. Bu nedenle her iki sürüm için yazılan toplam test senaryosu sayısı 1050'dir.
- Artık test ekibi 150 yeni test senaryosunu kullanarak yeni özellikleri test etmeye başlıyor.
- İşlem tamamlandıktan sonra, yeni özelliğin eklenmesinin eski özelliklere zarar verip vermediğini doğrulamak için 900 test senaryosu yardımıyla eski özellikleri test etmeye başlayacaklar.
- Burada eski özelliklerin test edilmesine şu ad verilir: Gerileme testi .
- Tüm özellikler (Yeni ve Eski) test edildikten sonra ürün müşteriye teslim edilir ve ardından müşteri kabul testini yapar.
- Kabul testi tamamlandıktan sonra ürün üretim sunucusuna taşınır.
Yapı3
- İkinci sürümden sonra müşteri Satış gibi özelliklerden birini kaldırmak istiyor.
- Daha sonra satış modülüne ait tüm test senaryolarını (yaklaşık 120 test senaryosu) silecektir.
- Ardından, satış modülü test senaryolarını çıkardıktan sonra diğer tüm özelliklerin düzgün çalışıp çalışmadığını doğrulamak için diğer özelliği test edin ve bu işlem regresyon testi altında yapılır.
Not:
- Değişiklikler nedeniyle bozulduğundan emin olmak için kararlı özelliklerin test edilmesi. Buradaki değişiklikler şunu ima eder: değişiklik, ekleme, hata düzeltme veya silme .
- Aynı test senaryolarının farklı yapılarda veya sürümlerde yeniden yürütülmesi, değişikliklerin (modifikasyon, ekleme, hata düzeltme veya silme) kararlı özelliklerde hatalara yol açmamasını sağlamak içindir.
Sürüm Genelinde Regresyon Testi
Yeni özellik önceki sürümlerdeki eski öğeleri etkileyebileceğinden, aynı proje için yeni bir Sürüm çıktığında regresyon testi süreci başlar.
Regresyon testi sürecini anlamak için aşağıdaki adımları izleyeceğiz:
Aşama 1
regresyon testi bulunmamaktadır. Sürüm#1 çünkü sürümün kendisi yeni olduğu için Sürüm#1'de herhangi bir değişiklik olmuyor.
Adım 2
Regresyon testi kavramı şu şekilde başlar: Sürüm#2 müşteri biraz verdiğinde yeni gereksinimler .
Aşama 3
İlk önce yeni gereksinimleri (özellikleri değiştirerek) aldıktan sonra, onlar (geliştiriciler ve test mühendisleri) teste geçmeden önce ihtiyaçları anlayacaklardır. etki analizi .
4. Adım
Yeni gereklilikleri anladıktan sonra bir tur gerçekleştireceğiz. etki analizi Büyük riskten kaçınmak için, ancak burada Etki analizini kim yapacak sorusu ortaya çıkıyor?
Adım 5
Etki analizi şu şekilde yapılır: müşteri onların temeline dayanarak Iş bilgisi , geliştirici onların temeline dayanarak kodlama bilgisi ve en önemlisi bunu yapan kişi tarafından yapılıyor. test mühendisi çünkü onlarda ürün bilgisi .
Not: Tek bir kişi bunu yaparsa, tüm etki alanlarını kapsamayabilir; bu nedenle, maksimum etki alanını kapsayabilmek için tüm kişileri dahil ederiz ve Etki Analizi, sürümlerin ilk aşamalarında yapılmalıdır.
Adım 6
İşlemimiz bittiğinde etki alanı , ardından geliştirici şunları hazırlayacaktır: etki alanı (belge) , ve müşteri aynı zamanda hazırlayacak etki alanı belgesi böylece hedefe ulaşabiliriz Etki analizinin maksimum kapsamı .
Adım 7
Etki analizini tamamladıktan sonra geliştirici, müşteri ve test mühendisi, Raporlar# Etki alanı belgelerinin Test Lideri . Bu arada test mühendisi ve geliştirici yeni test senaryosu üzerinde çalışmakla meşgul.
8. Adım
Test lideri Raporları# aldıktan sonra, pekiştirmek raporlar ve depolanan test senaryosu gereksinim deposu 1 numaralı sürüm için.
Not: Test Senaryosu Havuzu: Burada, sürümlerin tüm test senaryolarını kaydedeceğiz.
9. Adım
Bundan sonra Test Lideri RTM'nin yardımını alacak ve gerekli olanı seçecektir. regresyon testi durumu itibaren test senaryosu deposu ve bu dosyalar şuraya yerleştirilecek: Regresyon Test Paketi .
Not:
- Test lideri, daha fazla karışıklık olmaması için regresyon test senaryosunu regresyon test paketinde saklayacaktır.
Adım 10
Bundan sonra test mühendisi yeni test senaryoları üzerinde çalışmayı bitirdiğinde test lideri regresyon test senaryosunu atayın test mühendisine.
Adım 11
Tüm regresyon testi durumları ve yeni özellikler birleştirildiğinde istikrarlı ve başarılı , ardından şunu kontrol edin: test senaryosunu kullanarak etki alanı eski özelliklere ve yeni özelliklere dayanıklı hale gelinceye kadar, daha sonra müşteriye teslim edilecektir.
Regresyon Testi Türleri
Regresyon Testinin farklı türleri aşağıdaki gibidir:
- Birim Regresyon Testi [URT]
- Bölgesel Regresyon Testi[RRT]
- Tam veya Tam Regresyon Testi [FRT]
1) Birim Regresyon Testi [URT]
Burada darbe alanını değil, yalnızca değiştirilen üniteyi test edeceğiz çünkü aynı modülün bileşenlerini etkileyebilir.
Örnek 1
Aşağıdaki uygulamada ve ilk yapıda, geliştirici şunları geliştirir: Aramak kabul eden düğme 1-15 karakter . Daha sonra test mühendisi, Ara düğmesinin yardımıyla test eder. test senaryosu tasarım tekniği .
Artık müşteri gereksinimde bazı değişiklikler yapıyor ve ayrıca Arama düğmesi kabul edebilir 1-35 karakter . Test mühendisi, 1-35 karakter aldığını ve ilk yapının başka herhangi bir özelliğini kontrol etmediğini doğrulamak için yalnızca Ara düğmesini test edecektir.
Örnek2
Burada, elimizde B001'i oluşturun , bir kusur tespit edilir ve rapor geliştiriciye iletilir. Geliştirici hatayı düzeltecek ve ikincisinde geliştirilen bazı yeni özelliklerle birlikte gönderecek B002'yi oluşturun . Bundan sonra test mühendisi ancak kusur giderildikten sonra test yapacaktır.
- Test mühendisi, Göndermek düğmesi boş sayfaya gider.
- Ve bu bir kusurdur ve düzeltilmesi için geliştiriciye gönderilir.
- Yeni yapı hata düzeltmeleriyle birlikte geldiğinde, test mühendisi yalnızca Gönder düğmesini test edecektir.
- Ve burada ilk yapının diğer özelliklerini kontrol edip, ikinci yapıda gönderilen yeni özellikleri test etmek için harekete geçmeyeceğiz.
- Sorunun çözüleceğinden eminiz Göndermek düğmesi diğer özellikleri etkilemeyecektir, bu nedenle yalnızca düzeltilen hatayı test ediyoruz.
Bu nedenle sadece değiştirilen özelliğin test edilmesiyle Birim Regresyon Testi .
2) Bölgesel Regresyon testi [RRT]
Burada modifikasyonu etki alanı veya bölgeleriyle birlikte test edeceğiz. Bölgesel Regresyon testi . Burada etki alanını test ediyoruz çünkü güvenilir modüller varsa bu diğer modülleri de etkileyecektir.
Örneğin:
Aşağıdaki resimde görebileceğimiz gibi dört farklı modülümüz var. Modül A, Modül B, Modül C ve Modül D Bunlar, ilk derleme sırasında test için geliştiriciler tarafından sağlanmıştır. Şimdi test mühendisi hataları tanımlayacak Modül D . Hata raporu geliştiricilere gönderilir ve geliştirme ekibi bu kusurları düzelterek ikinci yapıyı gönderir.
İkinci yapıda önceki kusurlar giderildi. Artık test mühendisi, Modül D'deki hata düzeltmenin bazı özellikleri etkilediğini anlıyor Modül A ve Modül C . Bu nedenle, test mühendisi önce hatanın giderildiği Modül D'yi test eder ve ardından etki alanlarını kontrol eder. Modül A ve Modül C . Bu nedenle bu teste şu ad verilir: Bölgesel regresyon testi.
Bölgesel regresyon testini yaparken aşağıdaki sorunla karşılaşabiliriz:
Sorun:
İlk derlemede müşteri, gereksinimi doğrultusunda bazı değişiklikler gönderir ve ayrıca ürüne yeni özellikler eklemek ister. İhtiyaçlar her iki ekibe de (yani geliştirme ve test etme) gönderilir.
Gereksinimleri aldıktan sonra geliştirme ekibi modifikasyonu yapmaya başlar ve ihtiyaçlara göre yeni özellikler de geliştirir.
Artık test lideri müşterilere posta gönderiyor ve gerekli değişiklik yapıldıktan sonra etkilenecek tüm etki alanlarının ne olduğunu soruyor. Böylece müşteri tüm özelliklerin tekrar test edilmesi gerektiği konusunda fikir sahibi olacaktır. Ayrıca geliştirme ekibine, yeni özelliklerin değiştirilmesi ve eklenmesi sonucunda uygulamadaki tüm alanların etkileneceğini öğrenmek için bir e-posta gönderecektir.
Benzer şekilde müşteri, etki alanlarının listesi için test ekibine bir e-posta gönderir. Bu nedenle, test lideri etki listesini müşteriden, geliştirme ekibinden ve test ekibinden de toplayacaktır.
Bu Etki listesi Listeye bakan ve özelliklerinde değişiklik yapılıp yapılmadığını kontrol eden tüm test mühendislerine gönderilir ve eğer evet ise değişiklik yapılır. bölgesel regresyon testi . Etki alanları ve değiştirilen alanların tümü ilgili mühendisler tarafından test edilir. Her test mühendisi yalnızca değişiklik sonucunda etkilenebilecek özelliklerini test eder.
Yukarıdaki yaklaşımla ilgili sorun, geliştirme ekibinin ve müşterinin postalarını geri almak için çok fazla zamanının olmaması nedeniyle test liderinin etki alanları hakkında tam bir fikir edinememesidir.
Çözüm
Yukarıdaki sorunu çözmek için aşağıdaki süreci izleyeceğiz:
Yeni bir yapı, en son özellikler ve hata düzeltmeleriyle birlikte geldiğinde, test ekibi, özelliklerinin yukarıdaki değişiklik nedeniyle etkilenip etkilenmediği hakkında konuşacakları bir toplantı düzenleyecektir. Bu nedenle, bir tur yapacaklar Etki analizi ve oluşturmak Etki Listesi . Bu özel listede, test mühendisi olası maksimum etki alanlarını kapsamaya çalışır, bu da kusur oluşma olasılığını azaltır.
Yeni bir yapı geldiğinde test ekibi aşağıdaki prosedürü izleyecektir:
- Bir uygulamanın temel işlevselliğini kontrol etmek için duman testi yapacaklar.
- Daha sonra yeni özellikleri test edecekler.
- Bundan sonra değiştirilen özellikleri kontrol edecekler.
- Değiştirilen özelliklerin kontrolü tamamlandıktan sonra test mühendisi hataları yeniden test edecektir.
- Daha sonra bölgesel regresyon testi yaparak etki alanını kontrol edecekler.
Birim ve Bölgesel Regresyon testi kullanmanın dezavantajı
Birim ve Bölgesel regresyon testi kullanmanın bazı dezavantajları şunlardır:
- Bazı etki alanlarını kaçırabiliriz.
- Yanlış etki alanını tespit etmemiz mümkündür.
Not: Bölgesel regresyon testi konusunda yapacağımız büyük çalışmanın daha fazla sayıda hata elde etmemize yol açacağını söyleyebiliriz. Ancak tam regresyon testi üzerinde aynı özveriyi gösterirsek daha az sayıda hata elde ederiz. Bu nedenle, test çabasındaki iyileştirmenin daha fazla hata elde etmemize yardımcı olmayacağını burada belirleyebiliriz.
3) Tam Regresyon testi [FRT]
Ürünün ikinci ve üçüncü sürümünde müşteriden 3-4 yeni özellik eklenmesi isteniyor ve ayrıca önceki sürümdeki bazı kusurların düzeltilmesi gerekiyor. Daha sonra test ekibi Etki Analizini yapacak ve yukarıdaki değişikliğin bizi tüm ürünü test etmeye yönlendireceğini belirleyecektir.
Bu nedenle testlerin yapıldığını söyleyebiliriz. değiştirilmiş özellikler Ve kalan (eski) özelliklerin tümü denir Tam Regresyon testi .
Tam Regresyon testini ne zaman yaparız?
Aşağıdaki koşullar oluştuğunda FRT'yi gerçekleştireceğiz:
- Ürünün kaynak dosyasında değişiklik yapılırken. Örneğin JVM, JAVA uygulamasının kök dosyasıdır ve JVM'de herhangi bir değişiklik olacaksa JAVA programının tamamı test edilecektir.
- N sayıda değişiklik yapmamız gerektiğinde.
Not:
Bölgesel regresyon testi, regresyon testinin ideal yaklaşımıdır, ancak sorun şu ki, Bölgesel Regresyon testini gerçekleştirirken birçok kusuru gözden kaçırabiliriz.
Ve burada bu sorunu aşağıdaki yaklaşımın yardımıyla çözeceğiz:
- Test için başvuru verildiğinde test mühendisi ilk 10-14 döngüyü test edecek ve gerekli işlemleri yapacaktır. RRT .
- Daha sonra 15. döngüde FRT yapıyoruz. Ve yine sonraki 10-15 döngüde şunu yaparız: Bölgesel regresyon testi ve 31. döngü için şunu yapıyoruz: tam regresyon testi ve böyle devam edeceğiz.
- Ancak sürümün son on döngüsünde yalnızca performans sergileyeceğiz tam regresyon testi .
Bu nedenle yukarıdaki yaklaşımı izlersek daha fazla kusurla karşılaşabiliriz.
Regresyon testini tekrar tekrar manuel olarak yapmanın dezavantajı:
- Verimlilik azalacak.
- Yapılması zor bir iştir.
- Testin yürütülmesinde tutarlılık yoktur.
- Ayrıca test yürütme süresi de artar.
Dolayısıyla bu sorunları aşmak için otomasyona geçeceğiz; Regresyon testi döngüsünün n-sayısına sahip olduğumuzda, otomasyon regresyon test süreci .
Otomatik Regresyon Test Süreci
Genellikle birden fazla sürüm veya birden fazla regresyon döngüsü olduğunda veya tekrarlanan görev olduğunda otomasyona gideriz.
Otomasyon regresyon testi süreci aşağıdaki adımlarla yapılabilir:
Not 1:
Uygulamanın bazı araçlar kullanılarak test edilmesi sürecine otomasyon testi denir.
Diyelim ki bir örnek örnek alırsak Giriş modülü , ardından regresyon testini nasıl gerçekleştirebiliriz.
Burada Giriş iki şekilde yapılabilir; bunlar aşağıdaki gibidir:
Manuel olarak: Bunda sadece bir ve iki kez regresyon yapacağız.
Otomasyon: Bunda test komut dosyalarını yazmamız ve yürütmeyi yapmamız gerektiğinden otomasyonu birden çok kez yapacağız.
Not2: Gerçek zamanlı olarak aşağıdaki gibi bazı sorunlarla karşılaşırsak:
Sorunlar | Tarafından idare etmek |
---|---|
Yeni özellikler | Manuel test mühendisi |
Regresyon test özellikleri | Otomasyon test mühendisi |
Kalan ( 110 özellik + Sürüm#1) | Manuel test mühendisi |
Aşama 1
Yeni sürüm başladığında otomasyona geçmiyoruz çünkü yukarıdaki süreçte anladığımız gibi regresyon testi ve regresyon testi durumu diye bir kavram yok.
Adım 2
Yeni sürüm ve geliştirme başladığında iki ekibimiz var; manuel ekip ve otomasyon ekibi.
Aşama 3
Manuel ekip gereklilikleri inceleyecek ve ayrıca etki alanını belirleyecek ve gerekli belgeleri teslim edecektir. gereksinim testi paketi otomasyon ekibine.
4. Adım
Artık manuel ekip yeni özellikler üzerinde çalışmaya başlayacak ve otomasyon ekibi test komut dosyasını geliştirmeye başlayacak ve ayrıca test senaryosunu otomatikleştirmeye başlayacak; bu, regresyon test senaryolarının test komut dosyasına dönüştürüleceği anlamına geliyor.
Adım 5
Onlar (otomasyon ekibi) test senaryosunu otomatikleştirmeye başlamadan önce, hangi tüm vakaların otomatikleştirilip otomatikleştirilemeyeceğini de analiz edecekler.
Adım 6
Analize dayanarak otomasyonu başlatacaklar, yani her regresyon test senaryosunu test senaryosuna dönüştürecekler.
Adım 7
Bu süreçte yardım alacaklar Regresyon vakaları çünkü ürün bilgisine sahip değiller alet ve başvuru .
8. Adım
Test betiği hazır olduğunda, bu betiklerin yeni uygulamada [eski özellik] çalıştırılmasına başlayacaklar. Çünkü test betiği regresyon özelliği veya eski özellik yardımıyla yazılmaktadır.
9. Adım
Yürütme tamamlandığında, aşağıdaki gibi farklı bir durum elde ederiz: Başarılı/başarısız .
Adım 10
Durum başarısız olursa, yani manuel olarak yeniden onaylanması gerekir ve Hata mevcutsa ilgili geliştiriciye rapor verilir. Geliştirici bu hatayı düzelttiğinde, Hatanın Etki alanıyla birlikte manuel test mühendisi tarafından yeniden test edilmesi ve ayrıca komut dosyasının otomasyon test mühendisi tarafından yeniden çalıştırılması gerekir.
Adım 11
Bu süreç tüm yeni özellikler oluşuncaya kadar devam eder ve regresyon özelliği geçilir.
Otomasyon testiyle regresyon testi yapmanın faydaları:
- Test betiği birden fazla sürümde yeniden kullanılabilir.
- Her ne kadar regresyon testi vakalarının sayısı sürüm başına artış gösterse de ve bazı regresyon vakaları önceki sürümden zaten otomatikleştirilmiş olduğundan otomasyon kaynağını artırmamız gerekmiyor.
- Bu bir zaman kazandıran süreç çünkü yürütme her zaman manuel yöntemden daha hızlıdır.
Regresyon testi için test senaryoları nasıl seçilir?
Endüstri denetiminde bulundu. Müşteri tarafından bildirilen çeşitli kusurlar, son dakika hata düzeltmelerinden kaynaklanıyordu. Bunların yan etkiler yaratması ve dolayısıyla regresyon testi için Test Senaryosunun seçilmesi kolay bir iş değil, bir sanattır.
Regresyon testi şu şekilde yapılabilir:
- Sık sık kusurları olan bir test senaryosu
- Kullanıcılar tarafından daha görünür olan işlevler.
- Test senaryoları ürünün temel özelliklerini doğrular.
- Tüm entegrasyon test senaryoları
- Tüm karmaşık test senaryoları
- Sınır değeri test durumları
- Başarılı test senaryolarından bir örnek
- Test senaryolarının başarısızlığı
Regresyon Test Araçları
Yazılımın sık sık değişmesi durumunda regresyon testi maliyetleri de artar. Bu gibi durumlarda, test senaryolarının manuel olarak yürütülmesi, test yürütme süresini ve maliyetleri artırır. Bu durumda otomasyon testi en iyi seçimdir. Otomasyonun süresi, ardışık regresyon döngüleri için yeniden kullanılabilir durumda kalan test senaryolarının sayısına bağlıdır.
Regresyon testi için kullanılan temel araçlar şunlardır:
Selenyum
Selenyum açık kaynaklı bir araçtır. Bu araç, bir web uygulamasının otomatik olarak test edilmesi için kullanılır. Tarayıcı tabanlı regresyon testi için selenyum kullanıldı. Web tabanlı uygulama için kullanıcı arayüzü düzeyinde regresyon testi için kullanılan Selenyum.
Ranorex Stüdyosu
Yerleşik Selenium Web Sürücüsü ile masaüstü, web ve mobil uygulamalar için hepsi bir arada regresyon testi otomasyonu. Ranorex Studio, kodsuz otomasyon için tam IDE artı araçları içerir.
Hızlı Test Uzmanı (QTP)
QTP, Regresyon ve Fonksiyonel Test için kullanılan otomatik bir test aracıdır. Veriye Dayalı, anahtar kelimeye dayalı bir araçtır. Otomasyon için VBScript dilini kullandı. QTP aracını açarsak üç düğmeyi görürüz: Kaydet, Oynat ve Durdur . Bu düğmeler bilgisayar sisteminde gerçekleştirilen her tıklamanın ve eylemin kaydedilmesine yardımcı olur. Eylemleri kaydeder ve oynatır.
Rational Fonksiyonel Test Cihazı (RTF)
Rational Functional Tester, yazılım uygulamalarının test senaryolarını otomatikleştirmek için kullanılan bir Java aracıdır. RTF, regresyon testi senaryolarını otomatikleştirmek için kullanılır ve aynı zamanda rasyonel fonksiyonel test cihazıyla da entegre olur.
Regresyon ve otomasyon test araçları hakkında daha fazla bilgi için aşağıdaki bağlantıya bakın:
https://www.javatpoint.com/automation-testing-tool
Regresyon Testi ve Konfigürasyon Yönetimi
Bir kodun sürekli olarak değiştirildiği Çevik Ortamlarda regresyon testinde Konfigürasyon Yönetimi zorunlu hale gelir. Geçerli bir regresyon testi sağlamak için aşağıdaki adımları izlemeliyiz:
- Regresyon testi aşamasında kodda değişiklik yapılmasına izin verilmez.
- Bir regresyon testi senaryosu, geliştirici değişikliklerinden etkilenmemelidir.
- Regresyon testi için kullanılan veritabanı izole edilmelidir; Veritabanında değişiklik yapılmasına izin verilmez.
Yeniden Test Etme ve Regresyon Testi Arasındaki Farklar
Testin Yeniden Test Edilmesi kodun düzeltildiğinden emin olmak için işlevselliğin veya hatanın tekrar test edilmesi anlamına gelir. Ayarlanmazsa kusurların yeniden açılmasına gerek yoktur. Düzeltilirse kusur kapanır.
Yeniden test, son uygulamada başarısız olan test senaryolarının, kusurlar giderildikten sonra başarıyla geçip geçmediğini kontrol etmek için yapılan bir test türüdür.
Gerileme testi yeni kodun Yazılımın diğer bölümlerini etkilemediğinden emin olmak için bir kod değişikliğine uğradığında yazılım uygulamasının test edilmesi anlamına gelir.
Regresyon testi, bir kodun uygulamanın mevcut işlevselliğini değiştirip değiştirmediğini kontrol etmek için yürütülen bir test türüdür.
Yeniden Test ve Regresyon Testi arasındaki farklar aşağıdaki gibidir:
Yeniden test etme | Gerileme testi |
---|---|
Nihai uygulamada başarısız olan test senaryolarının, kusurlar giderildikten sonra geçmesini sağlamak için yeniden test yapılır. | Regresyon Testi, kod değişikliğinin mevcut özellikleri etkileyip etkilemediğini doğrulamak için yapılır. |
Yeniden Test, kusur düzeltmeleri üzerinde çalışır. | Regresyon testinin amacı, kod değişikliklerinin mevcut işlevselliği olumsuz yönde etkilememesini sağlamaktır. |
Kusur doğrulaması Yeniden Testin bir parçasıdır. | Regresyon testi kusur doğrulamasını içermez |
Yeniden Testin önceliği Regresyon Testine göre daha yüksek olduğundan Regresyon Testinden önce yapılır. | Proje türüne ve kaynakların kullanılabilirliğine bağlı olarak regresyon testi, Yeniden Test Etmeye paralel olabilir. |
Yeniden Test planlı bir Testtir. | Regresyon testi genel bir Testtir. |
Yeniden Test için test senaryolarını otomatikleştiremeyiz. | Regresyon testi için otomasyon yapabiliriz; manuel test pahalı ve zaman alıcı olabilir. |
Yeniden test, başarısız test senaryoları içindir. | Regresyon testi, başarılı Test durumları içindir. |
Yeniden test ederek orijinal hatanın düzeltildiğinden emin olun. | Regresyon testi beklenmeyen yan etkileri kontrol eder. |
Yeniden test etme, kusurları aynı verilerle ve aynı ortamla, farklı girdilerle yeni bir yapıyla yürütür. | Regresyon testi, mevcut bir projede değişiklik yapılması veya değişikliklerin zorunlu hale gelmesidir. |
Teste başlamadan önce yeniden test yapılamaz. | Regresyon testi, işlevsel özelliklerden, kullanıcı eğitimlerinden ve kılavuzlardan test senaryoları elde edebilir ve düzeltilen soruna ilişkin kusur raporlarını elde edebilir. |
Regresyon Testinin Avantajları
Regresyon Testinin Avantajları:
- Regresyon Testi ürünün kalitesini artırır.
- Herhangi bir hata düzeltmesinin veya değişikliğin ürünün mevcut işlevselliğini etkilememesini sağlar.
- Regresyon testi için otomasyon araçları kullanılabilir.
- Düzeltilen sorunların bir daha yaşanmamasını sağlar.
Regresyon Testinin Dezavantajları
Regresyon Testinin birçok avantajı olmasına rağmen dezavantajları da vardır.
- Koddaki küçük değişiklikler için Regresyon Testi yapılmalıdır çünkü koddaki en ufak bir değişiklik bile mevcut işlevsellikte sorun yaratabilir.
- Projede test amacıyla otomasyon kullanılmaması durumunda testin tekrar tekrar yapılması zaman alıcı ve sıkıcı bir iş olacaktır.
Çözüm
Regresyon Testi, kuruluşların zamandan ve paradan tasarruf etmesini sağlayan kaliteli bir ürün sunmaya yardımcı olduğu için temel unsurlardan biridir. Kodda yapılacak herhangi bir değişikliğin mevcut işlevselliği etkilememesini sağlayarak kaliteli bir ürün sunulmasına yardımcı olur.
Regresyon testi senaryolarını otomatikleştirmek için çeşitli otomasyon araçları mevcuttur. Bir araç, verileri güncelleme yeteneğine sahip olmalıdır. test odası regresyon testi takımının sık sık güncellenmesi gerektiğinden.