Kontrat Testi ve Mock Sunucular için Ne Kullanılır

INEZA Felin-Michel

INEZA Felin-Michel

12 November 2025

Kontrat Testi ve Mock Sunucular için Ne Kullanılır

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfet

Mikro hizmetler ve dağıtık sistemler dünyasında birçok ekibin karşılaştığı bir durumu konuşalım.

Ön uç ekibi, üzerinde anlaşılan API spesifikasyonuna dayanarak güzel bir yeni özellik tasarlar. Arka uç ekibi ise doğru olduğuna inandıkları uygulamayı teslim eder. Ancak entegrasyon günü geldiğinde – kaos. Veri türleri eşleşmez, gerekli bir alan eksiktir veya hata formatı kimsenin beklediği gibi değildir.

Ne olduğunu anlamadan, parmakla işaretleşmelerin olduğu, sözleşmeyi kimin bozduğunu anlamaya çalıştığınız bir toplantının içinde bulursunuz kendinizi.

Tanıdık geliyor mu? Bu tür entegrasyon kabusları genellikle ekiplerin API sözleşmelerini tanımlamak için el sıkışma anlaşmalarına veya güncelliğini yitirmiş statik belgelere güvenmesi nedeniyle yaşanır.

İyi haber şu ki, daha iyi bir yol var. Sözleşme testini (contract testing) taklit sunucularla (mock servers) birleştirerek, ekipler bu sorunları daha ortaya çıkmadan yakalayabilir ve hatta önleyebilirler. Hepsinden iyisi, bunu çalıştırmak için bir sürü karmaşık araca ihtiyacınız yok.

💡
Reaktif hata ayıklamadan proaktif kalite güvencesine geçmeye hazırsanız, Apidog'u ücretsiz indirmelisiniz. Hem sözleşme testini hem de anında taklit oluşturmayı sorunsuz bir şekilde entegre eden hepsi bir arada bir platformdur ve API geliştirme sürecinize nasıl düzen getirdiğini size tam olarak göstereceğim.
button

Öyleyse, daha güvenilir yazılımları daha hızlı göndermek için bu teknikleri nasıl kullanabileceğinizi keşfetmek üzere konuya dalalım.

Dinamik İkili: Sözleşme Testini ve Taklit Sunucuları Anlamak

"Nasıl" kısmına geçmeden önce, "ne" ve "neden" kısımlarında tam olarak anlaştığımızdan emin olalım. Bu iki uygulama derinlemesine birbiriyle bağlantılıdır.

Sözleşme Testi Nedir?

Bir API'yi, bir tüketici (ön uç uygulaması veya başka bir hizmet gibi) ile bir sağlayıcı (arka uç hizmeti) arasındaki bir sözleşme olarak düşünün. Sözleşme testi, bu anlaşmanın her iki tarafının da kurallara uyduğunu otomatik olarak doğrulama uygulamasıdır. Bu, iş mantığını veya performansı test etmekle ilgili değildir; tamamen isteklerin ve yanıtların yapısını doğrulamakla ilgilidir.

Amaç, bozan değişiklikleri dağıtılmadan önce yakalamak, sağlayıcı ve tüketicinin asla senkronizasyon dışına çıkmamasını sağlamaktır.

Taklit Sunucu Nedir?

Taklit sunucu, bir şemaya veya sözleşmeye dayalı olarak önceden tanımlanmış veya dinamik olarak oluşturulmuş yanıtlar döndüren API'nizin sahte bir uygulamasıdır. Herhangi bir iş mantığı içermez; sadece geçerli bir yanıtın nasıl görünmesi gerektiğini bilir.

Neden Birlikte Daha İyi Çalışırlar

İşte sihir burada gerçekleşiyor. Her iki etkinlik için de aynı API sözleşmesini kullanırsınız.

  1. Sözleşmeyi tasarlarsınız (örneğin, bir OpenAPI şeması).
  2. Bundan bir taklit sunucu oluşturursunuz. Ön uç/tüketici ekibi, kendi tarafını gerçekçi, sözleşmeye uygun bir sunucuya karşı hemen oluşturmaya ve test etmeye başlayabilir.
  3. Gerçek API'ye karşı sözleşme testleri çalıştırırsınız. Arka uç/sağlayıcı ekibi, canlı uygulamalarının sözleşmeyi asla ihlal etmediğinden emin olmak için sürekli testler çalıştırır.

Bu, kaliteyi artıran, işi paralelleştiren ve entegrasyon sürprizlerini ortadan kaldıran erdemli bir döngü yaratır.

Sözleşme Testi ve Taklit Oluşturma: Fark Nedir?

Bu iki kavram yakından ilişkilidir ancak farklı amaçlara hizmet eder:

Özellik Sözleşme Testi Taklit Sunucular
Amaç API anlaşmalarını doğrular API davranışını simüle eder
Ne Zaman Kullanılır Geliştirme ve entegrasyon sırasında Test ve prototipleme sırasında
Odak Şema ve uç nokta uyumluluğu Yanıt davranışı
Fayda İletişim uyumsuzluklarını önler Bağımsız geliştirmeyi sağlar

İyi haber mi? Birini diğerine tercih etmek zorunda değilsiniz. Apidog gibi araçlar, her ikisini de kolayca ve tek bir birleşik iş akışında yapmanıza yardımcı olur.

Bu Neden Modern Ekipler İçin Oyunun Kurallarını Değiştiriyor?

Bu yaklaşımı benimsemek sadece teknik bir gelişme değil; kültürel ve iş akışı açısından da bir yükseltmedir.

Geleneksel Araçlar ve Modern Platformlar

Geleneksel olarak, ekipler bir dizi araca güvenirdi:

Etkili olsa da, bu yaklaşım genellikle bağlam değiştirme, manuel senkronizasyon ve tutarsız sözleşmeler anlamına gelir.

Apidog gibi modern platformlar bu parçalanmayı ortadan kaldırır. Sözleşmeleri tanımlamaktan ve test etmekten uç noktaları taklit etmeye kadar her şey tek bir yerde gerçekleşir.

Apidog ile İş Akışını Uygulama

Şimdi pratikleşelim. Sözleşme testi (Pact gibi) ve taklit oluşturma için özel araçlar olsa da, Apidog gibi birleşik bir platform kullanmak tüm süreci basitleştirir. Tüm yaşam döngüsünü tek, tutarlı bir arayüz içinde yönetmenizi sağlar.

Adım 1: İstekleri Tasarlama ve Gönderme - Sözleşmenin Temeli

Her şey API'nizin nasıl davranması gerektiğini tanımlamakla başlar. Apidog'da, gerçek arka uç hizmetinize istekler oluşturarak ve göndererek başlarsınız. Burası, ilk sözleşmeyi keşfettiğiniz ve tanımladığınız yerdir.

Apidog Nasıl Yardımcı Olur:

Bu adım keşif ve ilk tanımlamayla ilgilidir. API'nin şu anda nasıl çalıştığını veya nasıl çalışmasını istediğinizi anlayarak resmi sözleşmenin temelini atıyorsunuz.

Adım 2: Yanıtları Doğrulama - Sözleşmeyi Resmi Hale Getirme

Bir istek gönderip yanıt aldıktan sonra, bir sonraki kritik adım, onaylamalar yazarak sözleşmeyi resmi hale getirmektir. Burası "bunu aldım"dan "bunu her zaman almalıyım"a geçtiğiniz yerdir. Bu, sözleşme testinin özüdür.

Apidog Sözleşme Doğrulamada Nasıl Üstünleşir:

İsteğinizin "Testler" sekmesinde, yanıtı doğrulamak için JavaScript tabanlı onaylamalar yazabilirsiniz. Bu betikler, yürütülebilir sözleşmeniz olarak işlev görür.

Örneğin, şunları onaylayabilirsiniz:

Bu testler, sağlayıcı sözleşme testlerinizdir. Bunları bir koleksiyonun parçası olarak kaydedebilir ve arka ucunuzun bu üzerinde anlaşmaya varılmış yapıyı ihlal eden bir yanıt döndürmediğinden emin olmak için otomatik olarak çalıştırabilirsiniz.

Adım 3: Uç Nokta Uyumluluk Kontrolü - Sözleşme Uygulamasını Otomatikleştirme

Özel testler yazmak güçlü olsa da, API'nizi şemasına karşı otomatik olarak doğrulamak için Apidog'un yerleşik Uç Nokta Uyumluluk Kontrolü'nden de yararlanabilirsiniz. Bu, sözleşmeyi zorlamanın daha bildirimsel bir yoludur.

Nasıl Çalışır:

Apidog'da bir API şeması (OpenAPI spesifikasyonu gibi) tanımladıysanız, uyumluluk kontrolü, uç noktanızdan gelen canlı yanıtın şemayla eşleştiğini otomatik olarak doğrulayabilir. Şunları kontrol eder:

Bu, tek bir özel onaylama kodu satırı yazmadan bir dizi yapısal testi çalıştırmanın inanılmaz derecede verimli bir yoludur. API sözleşmeniz için hızlı, otomatik bir bekçidir.

Adım 4: Anında API Taklidi - Tüketicileri Güçlendirme

Şimdi denklemin diğer yarısı. Doğrulanmış yanıtları olan iyi tanımlanmış bir API'ye sahip olduğunuzda, Apidog'da bundan anında bir taklit sunucu oluşturabilirsiniz. Tüketici ekiplerini güçlendirdiğiniz yer burasıdır.

Apidog Taklit Oluşturma Avantajı:

Ön uç ekibi, uygulamalarını Apidog tarafından sağlanan taklit sunucu URL'sine yönlendirir. Artık tüm kullanıcı arayüzlerini tamamen işlevsel, sözleşmeye uygun bir API'ye karşı geliştirebilir ve test edebilir, arka uç gecikmelerinden tamamen bağımsız olabilirler.

Sözleşme Testi ve Taklit Sunucular İçin Apidog Kullanmanın Faydaları

Bu iş akışında Apidog'un başlıca faydalarını özetleyelim:

Özellik Fayda
Birleşik Arayüz Tek bir yerde tasarlayın, taklit edin ve test edin
Otomatik Doğrulama API yanıtlarının tanımlanmış sözleşmelere uymasını sağlar
Taklit Sunucu Entegrasyonu Anında, kodsuz taklit uç noktaları
CI/CD Desteği Otomatik test işlem hatları
İşbirliği Araçları Gerçek zamanlı ekip paylaşımı
Çoklu Ortam Kurulumu Geliştirme/hazırlık/üretim arasında kolayca geçiş yapın

Birden fazla adım ve eklenti gerektiren eski araçların aksine, Apidog, sözleşme öncelikli API geliştirme için sorunsuz, uçtan uca bir iş akışı sunar.

Gerçek Dünya Örneği: Kullanıcı Kayıt Akışı

Hepsini yaygın bir örnekle birleştirelim: bir kullanıcı kayıt akışı.

  1. Sözleşme Tasarımı: Apidog'da, kullanıcı kaydı için bir POST /api/v1/users uç noktası tanımlarsınız. Gerekli istek gövdesini (e-posta, parola) ve beklenen yanıtı (kullanıcı kimliği, adı ve e-postası ile birlikte bir 201 Created) belirtirsiniz.
  2. Sağlayıcı Sözleşme Testi: Bu uç nokta için yanıt yapısını ve durum kodunu doğrulayan Apidog testleri yazarsınız. Bu testi Apidog'daki bir "Sözleşme Test Paketi"ne eklersiniz.
  3. Taklidi Oluşturma: Apidog anında bir taklit sunucu oluşturur. POST /api/v1/users taklit uç noktası şimdi oluşturulmuş bir kimlik, ad ve e-posta ile gerçekçi görünen bir kullanıcı nesnesi döndürür.
  4. Paralel Çalışma:

5. CI/CD Entegrasyonu: Arka uç ekibi, Apidog sözleşme testlerini CI işlem hatlarına entegre eder. Her çekme isteği bu testleri otomatik olarak çalıştırarak sözleşmeyi bozan herhangi bir kodun birleştirilmesini engeller.

6. Sorunsuz Entegrasyon: Her iki ekip de işini bitirdiğinde entegre olurlar. Ön uç, API temel URL'sini taklit sunucudan canlı arka uca geçirir. Entegrasyon sorunsuz ve sürprizsizdir çünkü her iki taraf da ilk günden itibaren aynı sözleşmeye göre geliştirilmiştir.

Karşılaştırma: Apidog ve Geleneksel Araçlar

Araç Sözleşme Testi Taklit Sunucular CI/CD Entegrasyonu Kullanım Kolaylığı İşbirliği
Apidog ✅ Evet ✅ Evet ✅ Evet ✅ Kolay ✅ Gerçek zamanlı
Postman ⚠️ Kısmi ✅ Evet ✅ Evet (Gelişmiş) ⚠️ Orta ✅ Paylaşılan Çalışma Alanları
WireMock ✅ Evet ✅ Evet ⚠️ Manuel ⚠️ Teknik ❌ Hayır
Mockoon ❌ Hayır ✅ Evet ❌ Hayır ✅ Kolay ❌ Hayır
Swagger ✅ Evet ⚠️ Sınırlı ⚠️ Manuel ✅ Kolay ⚠️ Sınırlı

Açıkça, Apidog hem küçük ekipler hem de büyük kuruluşlar için ideal olan kapsamlı, entegre bir deneyim sunar.

Sonuç: Reaktif Hata Ayıklamadan Proaktif Kaliteye

Sözleşmelerin belgelerde belirsiz vaatler olduğu ve entegrasyonun büyük, korkutucu bir olay olduğu eski API geliştirme yolu artık sürdürülebilir değil. Sözleşme testi ve taklit sunucuların birleşimi, daha profesyonel, güvenilir ve verimli bir yazılım geliştirme sürecine doğru temel bir değişimi temsil ediyor.

Apidog, bu iki kritik uygulamayı her büyüklükteki ekip için erişilebilir ve pratik bir şekilde bir araya getiren bir platform olarak öne çıkıyor. API'lerinizi tanımlamak, doğrulamak ve taklit etmek için tek bir araç kullanarak sürtünmeyi ortadan kaldırır ve doğal olarak daha yüksek kaliteli yazılım üreten sorunsuz bir iş akışı oluşturursunuz.

Bu yüzden, öğleden sonralarınızı entegrasyon cehenneminde geçirmeyi bırakın. Sözleşmelerinizi hassasiyetle tanımlamaya, otomasyonla doğrulamaya ve ekiplerinizi anında taklitlerle engellerden kurtarmaya başlayın. İş akışınız, ürününüz ve ekibinizin akıl sağlığı size teşekkür edecektir.

button

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin