Sola Kaydırılmış Test Nedir?
İngilizce: Shift Left Testing
Sola kaydırılmış test, gereksinim, tasarım ve kodlama aşamasında otomatik kontrolleri başlatıp hataları üretim öncesi yakalama yaklaşımıdır.
Sola Kaydırılmış Test Nedir?
Sola kaydırılmış test (shift left testing), yazılım teslim çizelgesinde test faaliyetlerini sona bırakmak yerine gereksinim, tasarım ve geliştirme aşamalarına taşır. “Sol” ifadesi, klasik proje zaman çizelgesinde daha erken adımı temsil eder.
Bu yaklaşım yalnızca test ekibinin daha erken çalışması değildir. Geliştiricinin kod yazarken otomatik test çalıştırması, pull request’te statik analiz yapılması, API sözleşmelerinin doğrulanması ve güvenlik taramalarının CI içinde koşması aynı fikrin parçalarıdır.
Hangi Kontroller Erken Yapılır?
- Gereksinim incelemesi: Kabul kriterleri ve uç durumlar baştan netleştirilir.
- Unit test: Küçük kod parçaları hızlı ve izole biçimde doğrulanır.
- Static analysis: Tip hatası, güvenlik kokusu ve stil sorunu otomatik yakalanır.
- Contract test: Servisler arası beklentiler dağıtımdan önce kontrol edilir.
- CI kontrolleri: Her değişiklikte test, lint ve build adımları çalışır.
İş Dünyasında Kullanımı
Sola kaydırılmış test, hatanın müşteriye ulaşmadan önce bulunmasını hedefler. Örneğin ödeme akışındaki yuvarlama hatası production’da muhasebe farkı yaratmadan unit test ve sözleşme testiyle yakalanabilir.
TDD, unit test ve CI/CD pratikleri bu yaklaşımı destekler. Yine de her şeyi otomatikleştirmek tek hedef değildir; riskli akışları önceliklendirmek, hızlı geri bildirim almak ve geç bulunan hataların kök nedenini süreçte daha erken noktaya taşımak önemlidir.
İlgili Terimler
CI/CD, kod değişikliklerini otomatik derleme, test ve dağıtım hatlarından geçirerek sürümü tekrarlanabilir hale getiren DevOps pratiğidir.
TDDTDD, önce başarısız testi yazıp ardından testi geçirecek en küçük kodu ekleyerek tasarımı adım adım şekillendirme pratiğidir.
Unit TestUnit test, fonksiyon veya sınıf gibi küçük bir kod birimini dış bağımlılıklardan izole ederek hızlı ve otomatik doğrulayan testtir.