Test Otomasyonu Nedir?
İngilizce: Test Automation
Test otomasyonu, seçilen test senaryolarını araçlarla tekrarlı çalıştırıp sonuçlarını CI veya raporlama sistemlerine aktarma pratiğidir.
Test Otomasyonu Nedir?
Test otomasyonu, manuel olarak tekrar tekrar yapılması pahalı veya hataya açık olan testlerin araçlar tarafından çalıştırılmasıdır. Amaç her şeyi otomatikleştirmek değil, değişikliklerden sonra kritik davranışların hızlı ve tutarlı biçimde kontrol edilmesini sağlamaktır.
Hangi Testler Otomatikleştirilir?
Otomasyon genellikle farklı seviyelerde kurulur:
- Unit test: Fonksiyon veya sınıf gibi küçük birimleri izole eder.
- Entegrasyon testi: Veritabanı, API veya üçüncü parti servis bağlantılarını kontrol eder.
- E2E testi: Kullanıcının gerçek akışını tarayıcı veya mobil cihaz üzerinden simüle eder.
- Regresyon testi: Önceden çalışan davranışların yeni sürümde bozulmadığını doğrular.
Test verisi, fixture yönetimi, sahte servisler ve ortam izolasyonu otomasyonun güvenilirliği için en az test kodu kadar önemlidir.
İş Dünyasında Kullanımı
Test otomasyonu ödeme, sipariş, üyelik, raporlama ve entegrasyon akışlarında sürüm riskini azaltır. CI/CD pipeline’ına bağlandığında her merge isteği aynı kontrol setinden geçer.
Yine de kırılgan testler ekibi yavaşlatabilir. Bu yüzden hızlı çalışan unit test tabanı, az sayıda ama kritik E2E senaryosu ve düzenli bakım yapılan test raporları dengeli bir strateji oluşturur.
İ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.
E2E TestE2E test, bir uygulamanın kullanıcı yolculuğunu tarayıcı, API ve veritabanı dahil gerçek akışa yakın şekilde doğrular.
Yük TestiYük testi, sistemin yüksek kullanıcı trafiği altında performans ve kararlılığını ölçmek için yapılan performans testi türüdür.
PlaywrightPlaywright, Chromium, Firefox ve WebKit üzerinde kullanıcı akışlarını otomatik çalıştırarak web uygulamalarını uçtan uca test eden açık kaynak araçtır.
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.