# Test Otomasyonu

Adres: https://softwaredictionary.org/tr/terimler/test-automation
Kategori: Test ve Kalite
Son güncelleme: 2026-10-03
İngilizcesi: Test Automation
Türkçe karşılığı: otomatik test
Okunuşu: test otomeyşın

Kısaca: Test otomasyonu, testleri kodla çalıştırıp sonuçları denetlemektir; böylece aynı kontroller elle değil, her değişiklikte hızlı ve tutarlı biçimde tekrarlanır.

## Test otomasyonu (test automation) nedir?

Otomatik bir test bir durum hazırlar, eylemler gerçekleştirir ve sonucu doğrular (assert), ardından geçti ya da kaldı diye raporlar. Birim testleri fonksiyonları doğrudan çağırır, entegrasyon testleri birlikte çalışan parçaları kontrol eder, uçtan uca testler de gerçek bir tarayıcıyı ya da uygulamayı kullanır. JUnit, pytest, Jest, Playwright, Cypress ve Selenium gibi framework'ler çalıştırıcıları, doğrulamaları ve raporları sağlar.

Asıl kazanç onları sürekli çalıştırmaktan gelir. Bir CI hattı test takımını her push'ta ve pull request'te çalıştırır; böylece bir şeyi bozan bir değişiklik, yazarı kodu henüz hatırlarken dakikalar içinde yakalanır. Refactoring'i, sık sürüm çıkarmayı ve sürekli dağıtımı mümkün kılan bu güvenlik ağıdır.

Sağlıklı bir test takımı test piramidini izler: çok sayıda hızlı birim testi, daha az entegrasyon testi ve en önemli kullanıcı yolculukları için az sayıda uçtan uca test. Testlerin güvenilmesi için güvenilir olmaları gerekir; bu yüzden rastgele başarısız olan kararsız (flaky) testler hızla düzeltilmeli ya da kaldırılmalıdır; test kodu da production koduyla aynı özeni hak eder.

Sık yapılan bir yanlış, her şeyin otomatikleştirilmesi gerektiğini düşünmektir. Otomasyon en iyi, sık tekrarlanan ve beklenen sonuçları net olan kontroller içindir. Yeni bir özelliği keşfetmek, kullanılabilirliği değerlendirmek ve her gün değişen bir şeyi test etmek çoğu zaman insanlar tarafından daha iyi yapılır; bakımı hiç yapılmayan otomatik bir test de bir güvenlik ağı değil bir yük olur.

## Önemli noktalar

- Test otomasyonu testleri kodla çalıştırır ve sonuçları kontrol eder.
- Birim, entegrasyon ve uçtan uca testlerin hepsi otomatikleştirilebilir.
- Test takımını CI'da çalıştırmak gerilemeleri dakikalar içinde yakalar.
- Test piramidi çok sayıda hızlı, az sayıda yavaş testi tercih eder.
- Tekrarlanan kontrolleri otomatikleştirin; keşfi ve kullanılabilirliği elle değerlendirin.

## Örnek: Otomatik testleri her pull request'te çalıştırmak

```yaml
# .github/workflows/test.yml
name: Tests
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm test                    # unit and integration tests
      - run: npx playwright install --with-deps chromium
      - run: npx playwright test         # end-to-end tests in a real browser
```

## Sık sorulan sorular

**İlk önce neyi otomatikleştirmeliyim?**

Sistemin en önemli ve en sık değişen kısımlarının testlerini ve temel özellikler için gerileme testleri gibi sık çalıştırılan kontrolleri. Hızlı birim testleri genellikle en iyi getiriyi sağlar.

**Test otomasyonu elle testin yerini alır mı?**

Hayır. Beklenen sonuçları bilinen tekrarlı kontrolleri üstlenir. Keşif testleri, kullanılabilirlik değerlendirmeleri ve beklenmedik davranışları araştırmak hâlâ insan gerektirir.

**SDET nedir?**

Software development engineer in test, yani testte yazılım geliştirme mühendisi: geliştirme ve test becerilerini birleştirerek otomatik testler, test framework'leri ve araçlar yazan bir mühendis.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
