# Test Piramidi

Adres: https://softwaredictionary.org/tr/terimler/test-pyramid
Kategori: Test ve Kalite
Son güncelleme: 2026-09-30
İngilizcesi: Test Pyramid
Okunuşu: test pirımid

Kısaca: Test piramidi, otomatik testleri dengelemek için bir modeldir: çok sayıda hızlı birim testi, daha az entegrasyon testi ve tepede birkaç yavaş uçtan uca test.

## Test piramidi nedir?

Test piramidi, otomatik bir test takımının nasıl şekillendirileceğine dair bir kılavuzdur. Geniş bir birim testi tabanı, daha küçük bir entegrasyon testi orta katmanı ve dar bir uçtan uca test tepesi önerir. Fikri Mike Cohn 2009 tarihli Succeeding with Agile kitabında yaygınlaştırmıştır ve hâlâ ekiplerin test stratejisini tartışırken kullandığı en yaygın yollardan biridir.

Şekil bir ödünleşimi (trade-off) izler. Alttaki testler hızlıdır, yazması ucuzdur ve bozulan satırı tam olarak gösterir; üsttekiler ise yavaştır, tam bir ortam gerektirir ve flaky olmaya daha yatkındır, ama tüm sistemin çalıştığına dair daha fazla güven verir. Pratik kural, her testi gidebileceği en alt katmana itmektir: bir hatayı bir birim testi yakalayabiliyorsa onun için uçtan uca test yazmayın ve üst katmanı giriş ve ödeme gibi bir avuç kritik akış için saklayın.

Bir besin piramidi gibi çalışır: altta bolca temel gıda, üstte yalnızca biraz tatlı; çünkü her katmanın bir rolü vardır ama oranlar önemlidir. Bazen dondurma külahı (ice cream cone) denen ters şekil, çoğunlukla elle yapılan ve uçtan uca testlerden, çok az birim testinden oluşur ve yavaş, kırılgan hatlara yol açar. Bazı ekipler, ön yüz kodunda entegrasyon testlerine daha fazla ağırlık veren test kupası (testing trophy) gibi alternatif şekilleri tercih eder.

Test piramidi, 70/20/10 gibi sabit bir oran değil, oranlar ve hız hakkında bir pratik kuraldır ve uçtan uca testlerin kötü olduğunu söylemez. Test kapsamından da farklıdır: kapsam testlerin ne kadar kodu yürüttüğünü ölçer, piramit ise testlerin seviyelere nasıl dağıtıldığını tanımlar. Mükemmel şekilli bir takım bile önemli kodu test edilmemiş bırakabilir.

## Önemli noktalar

- Çok sayıda birim testi, daha az entegrasyon testi ve yalnızca birkaç uçtan uca test yazın.
- Üst seviyedeki testler daha yavaş ve kırılgandır, ancak sistemin daha büyük bir kısmını aynı anda test eder.
- Her testi hatayı yakalayabilecek en düşük seviyeye itin.
- Çoğunlukla dondurma külahı denen ters şekil, yaygın bir anti-desendir.
- Sabit bir oran değil, denge üzerine bir kılavuzdur.

## Örnek: Piramidin üç katmanı

```text
           /\
          /  \          End-to-end: few, slow, most realistic
         /----\
        /      \        Integration: some, real databases and APIs
       /--------\
      /          \      Unit: many, fast, isolated, cheap to run
     /------------\
```

## Sık sorulan sorular

**Test piramidini kim yarattı?**

Mike Cohn, test otomasyon piramidini 2009 tarihli Succeeding with Agile kitabında anlattı. Daha sonra Martin Fowler'ın pratik test piramidi üzerine yazıları da dahil olmak üzere diğer uygulayıcılar tarafından geliştirildi ve yaygınlaştırıldı.

**Test dondurma külahı nedir?**

Ters çevrilmiş piramittir: çok az birim testi olan, elle yapılan ve uçtan uca testlerin hâkim olduğu bir takım. Bu tür takımlar yavaş, bakımı pahalı ve çoğu zaman flaky olduğu için bir anti-desen sayılır.

**Test piramidi hâlâ geçerli mi?**

Evet, maliyet ve hız hakkında düşünmenin bir yolu olarak. Ekipler tam şekli sistemlerine göre uyarlar; örneğin asıl işi bir veritabanıyla konuşmak olan ince servisler için daha fazla entegrasyon testi yazarlar.

---

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