Apidog ile Claude Fable 5.2 API'sini Test Edin: Regresyon Testleri

Claude Fable 5.2 API ile ajan ve Apidog CLI kullanarak kimlik doğrulama, yanıt doğrulamaları, negatif senaryolar ve tekrarlanabilir regresyon testlerini test edin.

Ahmed Waheed

Ahmed Waheed

12 November 2026

Apidog ile Claude Fable 5.2 API'sini Test Edin: Regresyon Testleri

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Claude Fable 5.2 API entegrasyonlarını test etmek için kimlik doğrulamayı, Messages istek gövdesini, tiplendirilmiş yanıt bloklarını ve öngörülebilir hataları doğrulayın. Ardından bu kontrolleri, kodlama ajanınızın CLI üzerinden çalıştıracağı tekrarlanabilir Apidog test senaryoları olarak kaydedin. Aktarım (transport) doğrulamalarını görev kalitesi kontrollerinden ayrı tutun; böylece başarılı bir HTTP yanıtı, kullanılamaz bir cevabı gizleyemez.

Anthropic'in duyurusu, claude-fable-5-2'yi Claude Platform model kimliği olarak tanımlıyor. Bu rehber, tek bir başarılı yanıttan sonra durmak yerine, o model etrafında bir regresyon iş akışı kurar. Apidog, ajanınıza uç noktayı, test senaryolarını ve çalıştırma raporlarını birlikte yönetebileceği ortak bir alan sunar.

Claude Fable 5.2 API testleri neleri kapsamalı?

Üç katman kullanın: aktarım kontrolleri isteğin servise ulaşıp ulaşmadığını belirler; sözleşme (contract) kontrolleri yanıt yapısını doğrular; davranışsal kontroller uygulamanızın sonucu kullanıp kullanamayacağını belirler. İlk ikisini her test verisi (fixture) için çalıştırın. Davranışsal kabul kriterlerini her görev için ayrı ayrı tanımlayın; üretilen yanıtların tamamını bayt bayt karşılaştırmayın.

Katman Örnek doğrulama Hata anlamı
Aktarım Beklenen durum kodu ve JSON yanıtı Kimlik bilgisi, ağ veya servis sorunu
Sözleşme Tiplendirilmiş içerik bloklarıyla asistan mesajı Ayrıştırıcı veya API sözleşmesi uyumsuzluğu
Davranış Ayıklanan metinde doğru aritmetik sonuç Çıktı bu test verisini tatmin etmiyor
Aktarım, yanıt sözleşmesi ve görev davranışını ayıran üç test katmanı

Küçük ve zararsız bir test verisiyle başlayın: "2 + 2 kaçtır? Yalnızca rakamla yanıt ver." Bu, dosya, araç veya sohbet geçmişi eklemeden kabul kuralını görünür kılar. Temel sözleşme çalıştıktan sonra temsilî uygulama test verilerini ekleyin.

Bu test verisini bir akıl yürütme kıyaslaması olarak görmeyin. Amacı, bir düşünme bloğunun kullanıcıya görünen metin olarak çıkarılması veya kesilmiş bir yanıtın kabul edilmesi gibi entegrasyon regresyonlarını yakalamaktır.

Test etmeden önce kimlik doğrulamayı ve istek ayarlarını sabitleyin

Doğrudan Claude API için Messages uç noktasını, çalışma alanına özgü bir API kimlik bilgisini, açık bir API sürümünü ve sabit bir istek gövdesi kullanın. Bu girdileri çalıştırmalar arasında sabit tutun. API genel bakışı, Bearer kimlik doğrulamasını, çalışma alanı seçimini ve sürüm başlıklarını belgeler. Bu ayarlar bulut sağlayıcı IAM kimlik doğrulamasından farklıdır.

Yerel gizli ortamınız (secret environment) üzerinden sağlanan bir Claude Console API anahtarı kullanın. Bir Apidog erişim belirteci (token), CLI'ı Apidog'a karşı kimliklendirir; Anthropic'e yapılan isteklerin kimliğini doğrulamaz. İki kimlik bilgisini ayrı tutun.

Aşağıdaki istek, 10 Kasım 2026'da kontrol edilmiş güncel Messages belgelerine uygundur. JSON'u request.json olarak kaydedin:

{
  "model": "claude-fable-5-2",
  "max_tokens": 1024,
  "stream": false,
  "thinking": { "type": "adaptive" },
  "messages": [
    {
      "role": "user",
      "content": "What is 2 + 2? Reply with the numeral only."
    }
  ]
}

Ardından terminalinizden gönderin ya da kodlama ajanınızın çalıştırmasını sağlayın:

curl https://api.anthropic.com/v1/messages \
  -H "Authorization: Bearer $ANTHROPIC_API_KEY" \
  -H 'anthropic-version: 2026-10-21' \
  -H 'Content-Type: application/json' \
  --max-time 600 \
  --dump-header response.headers \
  --output response.json \
  --write-out '%{http_code}\n' \
  --data-binary @request.json

Anahtarınız çalışma alanına özgü değilse, hedef çalışma alanınız için belgelenmiş anthropic-workspace-id başlığını ekleyin. Asla gerçek bir kimlik bilgisini kaydedilmiş test verisine veya üretilen bir rapora gömmeyin.

Create a Message referansı, model, messages ve max_tokens alanlarını ve dönen mesaj alanlarını tanımlar. Buradaki 1.024, seçilmiş bir çıktı bütçesidir; belgelenmiş bir minimum ya da her görevin bu alana sığacağına dair bir garanti değildir. Bir test verisi daha fazla alana ihtiyaç duyduğunda bilinçli olarak artırın.

Bu, belgelerle doğrulanmış bir şablondur. Başarılı bir temel kaydetmeden önce kendi yetkili API hesabınızla çalıştırın; burada canlı bir Fable yanıtı veya gecikme ölçümü iddia edilmiyor.

Üretilen farklılıklara dayanıklı yanıt doğrulamaları ekleyin

Zarfı (envelope) doğrulayın, blok tiplerini inceleyin, metni ayıklayın ve ardından test verisinin kabul kuralını uygulayın. Bir Messages yanıtı bir content dizisi içerir; bu yüzden content[0].text alanının cevabı barındırdığını varsaymayın. Uygulamanız bu mesajı sonraki sohbet turlarında geri gönderecekse, orijinal mesajın tamamını ayrıca saklayın.

Aritmetik test verisi için ajanınızdan bu yanıt sonrası betiğini Apidog test senaryosuna eklemesini isteyin:

pm.test("HTTP success", function () {
  pm.response.to.have.status(200);
});

const body = pm.response.json();

pm.test("Assistant message contract", function () {
  pm.expect(body.type).to.eql("message");
  pm.expect(body.role).to.eql("assistant");
  pm.expect(body.id).to.be.a("string");
  pm.expect(body.model).to.be.a("string");
  pm.expect(body.content).to.be.an("array");
});

const text = body.content
  .filter(block => block.type === "text")
  .map(block => block.text)
  .join("\n").trim();

pm.test("Arithmetic fixture is complete", function () {
  pm.expect(body.stop_reason).to.eql("end_turn");
  pm.expect(text).to.eql("4");
});

Tam eşitlik, bu bilinçli olarak kısıtlanmış rakam örneği için mantıklıdır. Bir özet için ise gerekli bilgiler, desteklenmeyen iddiaların yasaklanması ve uzunluk sınırları gibi kriterler kullanın. Zararsız bir ifade değişikliği, faydalı bir özet testini bozmamalıdır.

Tanısalama için usage değerini ve yanıtın request-id başlığını kaydedin. Dönen model tanımlayıcılarını, seçtiğiniz tanımlayıcı için belgelenmiş davranışla karşılaştırın; yedek (fallback) yanıtları sessizce Fable sonuçu olarak etiketlemeyin.

max_tokens durma nedeni, cevabın çıktı limitine ulaştığı anlamına gelir. Bu aritmetik test verisini başarısız yapın ve token bütçesini inceleyin. Diğer görevler, araç istekleri dahil, meşru şekilde farklı durma nedenleri döndürebilir; bu yüzden her senaryoya kendi tamamlanma kuralını verin.

Claude Fable 5.2 API negatif senaryolarını test edin

Her geçersiz girdi için ayrı bir senaryo oluşturun ve aynı anda yalnızca bir alanı değiştirin. İnsan tarafından okunabilir hata mesajının tamamını eşleştirmek yerine HTTP durumunu ve yapılandırılmış hata tipini kontrol edin. Geçerli temeli değişmeden tutun; böylece bir negatif test verisi bir sonraki pozitif çalıştırmayı kirletemez.

Resmi hata rehberi aşağıdaki faydalı senaryoları belgeler:

Senaryo Temelden farkı Beklenen sonuç
Geçersiz kimlik doğrulama Bearer kimlik bilgisini sahte bir değerle değiştir 401, authentication_error
Devre dışı bırakılmış düşünme thinking.type değerini disabled yap 400, invalid_request_error
Eski genişletilmiş düşünme thinking.type değerini enabled yap 400, invalid_request_error
Asistan ön doldurma (prefill) Sohbeti bir asistan ön doldurmasıyla bitir 400, invalid_request_error

Fable 5.2, her zaman açık olan düşünme modunu kullanır. Onu devre dışı bırakan veya genişletilmiş düşünme bütçeleri yapılandıran eski bir Claude eğitimini kopyalamayın. Devre dışı düşünme senaryosu, özellikle paylaşılan istek oluşturma kodunu yükseltirken faydalıdır.

Her hata senaryosu için body.type === "error", beklenen body.error.type ve boş olmayan bir hata mesajı doğrulayın. Mümkün olduğunda istek kimliğini saklayın. DNS hatalarını ve istemci zaman aşimlarını ayrı sonuçlar olarak ele alın; çünkü bunlar hiçbir zaman bir Claude JSON hatası üretmeyebilir.

Uygulamanızın hız sınırlarını ve servis hatalarını nasıl ele aldığını kontrollü test verileri veya bir mock ile test edin. Yapay bir 429 üretmek için canlı API'yi boğmayın. Yeniden denenebilir kapasite sorunlarını kimlik doğrulama ve doğrulama hatalarından ayırın ve uygulamanızın yeniden deneme mantığının etrafına sonlu bir yeniden deneme bütçesi koyun.

Kodlama ajanınızın Apidog regresyon senaryolarını oluşturmasına izin verin

Ajanınıza uç noktayı, test verilerini, doğrulamaları ve hedef projeyi verin. Güncel CLI şemasını keşfedebilir, her yükü doğrulayabilir, test senaryoları oluşturabilir ve bunları çalıştırabilir. Üretilen senaryoları ve hata özetini siz incelersiniz. Böylece tekrarlanabilir iş akışı Apidog CLI içinde kalır.

CLI'ı kurun ve Apidog belirtecinizle kimlik doğrulaması yapın:

npm install -g apidog-cli@latest
apidog login --with-token <YOUR_APIDOG_TOKEN>

Ajan kurulumu için Claude Code veya Codex için güncel rehberleri takip edin. Ardından ajanınıza tek bir istem (prompt) verin:

In Apidog project <PROJECT_ID>, define POST /v1/messages for the
Claude API. Use model claude-fable-5-2 and version 2026-10-21.
Keep the Anthropic credential in a private runtime variable.
Create the arithmetic success case and four negative cases above.
Read CLI help and input schemas before generating payloads.
Discover valid endpoint and category IDs; validate every payload.
Attach the response assertions, then run each case against
<ENVIRONMENT_ID>. Report failures, request IDs, and token usage.
Do not print credentials or claim unexecuted cases passed.

Aşağıdaki komutlar, kurulu CLI 2.2.12 sürümüne karşı kontrol edildi. Ajanın gerçek bir uç nokta kimliğine ve kategori kimliğine ihtiyacı var; test-case-create uç noktadan türetilen senaryoları tanımlıyor, bu yüzden alakasız bağımsız bir JSON isteği oluşturmak yeterli değildir.

apidog test-case category --project <PROJECT_ID>
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <PROJECT_ID> --file case.json
apidog run --test-case <CASE_ID> --project <PROJECT_ID> \
  -e <ENVIRONMENT_ID> -r cli,json

Uç nokta mevcut değilse, ajanın uç nokta komut yardımını ve şemaları incelemesini sağlayın. Başka bir projeden kopyalanmış temsili sayılar yerine dönen kimlikleri kullanın. case.json'u yazmadan önce doğrulayın; ardından oluşturulan senaryoyu geri okuyarak amaçlanan başlıkların, gövdenin ve doğrulamaların kaydedildiğini teyit edin.

Claude API regresyon testlerini CI'da çalıştırın

Aynı senaryoları; kimlik doğrulama, mesaj serileştirme, blok ayrıştırma veya yeniden deneme mantığında yapılan değişikliklerden sonra tekrar çalıştırın. Makine tarafından okunabilir raporlar dışa aktarın ve test verisi sürümünü uygulama değişikliğinizin yanında saklayın. Karşılaştırma yapmadan önce başarılı bir temel oluşturun; ardından başarısızlıkları tek tek inceleyin, derlemenin tesadüfen geçmesi için tekrar tekrar çalıştırmayın.

Sabit test verilerinden ajan, Apidog CLI, Claude API, doğrulamalar ve raporlara uzanan regresyon akışı

Apidog'da zaten oluşturulmuş bir senaryo için CI odaklı bir çağrı şöyledir:

apidog run --test-case <CASE_ID> --project <PROJECT_ID> \
  -e <ENVIRONMENT_ID> -r cli,json,junit \
  --out-dir ./apidog-reports

Diğer senaryo kimlikleri için de aynısını tekrarlayın ya da ajanınızın güncel suite şemasını kullanarak senaryoları bir test paketine organize etmesini sağlayın. Apidog CI/CD rehberi boru hattı entegrasyonunu kapsar.

Model, API sürümü, istek gövdesi, çıktı bütçesi, test verisi revizyonu ve CLI sürümünü çalıştırma kaydında tutun. Kimlik bilgilerini CI gizli mekanizmanız üzerinden saklayın. Raporları paylaşmadan önce hassas istek verileri açısından inceleyin.

Rutin değişikliklerde küçük bir canlı smoke seti, sürümlerden önce ise daha kapsamlı bir davranışsal set kullanın. Kendi harcama ve süre bütçelerinizi belirleyin. Bir API sözleşmesi başarısı entegrasyon uyumluluğunu kanıtlar; çıktının faydalı olup olmadığını ise uygulamanıza özgü kabul testleri belirler.

SSS

Hangi model kimliğini test etmeliyim?

Bu doğrudan Claude Platform iş akışı için claude-fable-5-2 kullanın. Temel kaydetmeden önce hesabınızda kullanılabilirliğini doğrulayın.

HTTP 200 başarılı olmak için yeterli mi?

Hayır. Mesaj zarfını, tiplendirilmiş içeriği, tamamlanma nedenini ve test verisinin kabul kriterlerini kontrol edin. Akış (streaming) durumunda, başlıklar geldikten sonra da hata oluşabileceği için ek olay düzeyinde kontroller gerekir.

Fable 5.2'nin düşünme modunu devre dışı bırakabilir miyim?

Hayır. Anthropic, bu model için düşünmenin her zaman açık olduğunu belgeliyor. Devre dışı düşünmeyi, bir doğrulama hatası bekleyen negatif bir senaryo olarak tutun.

Her cevap tam olarak eşleşmeli mi?

Rakam örneği gibi kısıtlanmış test verileri için tam eşitlik kullanın. Açık uçlu görevler için, geçerli ifade farklılıklarına izin veren olgusal ve yapısal kriterler tanımlayın.

Ajanım bir düzeltmeden sonra testleri yeniden çalıştırabilir mi?

Evet. Kaydedilmiş senaryo kimliklerini ve ortamı ona verin; ardından aynı CLI komutlarını çalıştırmasını ve raporları özetlemesini sağlayın. Ajan kurulumuna ihtiyacınız varsa Claude Code CLI iş akışıyla başlayın.

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

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