Regresyon manuel testi, kodda yapılan değişikliklerden sonra sistemin daha önce test edilmiş işlevlerinin tekrar kontrol edilmesi sürecidir. Bu, bu değişikliklerin ürünün stabil kısımlarında yeni hatalar yaratmadığından emin olmak amacıyla yapılır.
Kısa Tarihçe: Yazılım yaşam döngüsünün başlarında, test uzmanları genellikle yeni işlevlerin kontrolüne odaklanır. Zamanla sistem değişikliklerle dolup taşar, bu da beklenmedik regresyonların ortaya çıkma riskini artırır. Yazılım tarihinde birçok hata, daha önce çalışan bir şeyi "bozan" bir düzeltmeden sonra ortaya çıkmıştır; bu nedenle regresyon testi zamanla zorunlu bir uygulama haline gelmiştir.
Sorun: Temel ikilem, sürekli değişiklikler altında maksimum sayıda işlevi etkili bir şekilde ve hızlı bir şekilde gözden geçirmek için nasıl yaklaşmaktır. Görevi dağınık veya tutarsız bir şekilde ele almak, kritik hataların gözden kaçmasına, zaman kısıtlamalarına uyulmamasına ve ekibin aşırı yüklenmesine neden olabilir; bazen kontroller sadece bir formalite haline gelir.
Çözüm: Etkili regresyon testinin organizasyonu için şunlar yapılmalıdır:
Anahtar Özellikler:
Regresyon testine ne zaman başlamak en iyisidir - tüm değişikliklerden sonra mı yoksa bunlarla eş zamanlı mı?
Çoğu kişi, regresyonun yalnızca tüm değişiklikler tamamlandıktan sonra yapıldığını yanlış anlar. Gerçekte, en kritik hatalara daha hızlı yanıt verebilmek için bu testin bir kısmını değişiklikler yapılırken planlamak ve kısmen uygulamak daha doğru olacaktır.
Bir kez regresyon test vakası yazmak ve bir daha güncellememe yeterli midir?
Hayır, regresyon test vakaları sürekli güncellemeye ihtiyaç duyar: iş mantığı veya arayüz değiştikçe test sistemi, ürüne paralel olarak değişmelidir.
Smoke testi regresyonun bir parçası mıdır?
Hayır, smoke testi, derlemeden sonraki belirgin hataların hızlı bir şekilde bertaraf edilmesidir; regresyon daha geniş bir işlevselliği kapsamaktadır ve "derinlemesine" arızaları araştırır.
Ekip bir sürüm üretir, test uzmanı eski bir test vakası listesini kullanarak işlevleri usulüne uygun bir şekilde kontrol eder, son API güncellemesini bilmez. Eski bir hata düzeltilir, ancak sistemin başka bir bölümünde kimsenin fark etmediği kritik bir defekt ortaya çıkar.
Artıları:
Eksileri:
Sürümler öncesinde, test uzmanları regresyon kontrol listelerini günceller, analistler ile mevcut risk alanlarını tartışır, gerçek senaryolar temelinde testleri önceliklendirir ve anahtar akışlarda manuel regresyon testini gerçekleştirir.
Artıları:
Eksileri: