{"id":45149,"date":"2026-10-12T09:00:36","date_gmt":"2026-10-12T06:00:36","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/"},"modified":"2026-10-12T09:00:36","modified_gmt":"2026-10-12T06:00:36","slug":"openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/","title":{"rendered":"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi"},"content":{"rendered":"<h2>OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi<\/h2>\n<p>API&#8217;leriniz bekledi\u011finiz gibi \u00e7al\u0131\u015f\u0131yor mu? \u00dccretsiz OpenRouter ile bu sorunun yan\u0131t\u0131n\u0131 kolayca bulun. Bu rehber, API testinin temellerini ve OpenRouter&#8217;\u0131 kullanarak nas\u0131l etkili testler yapabilece\u011finizi ad\u0131m ad\u0131m anlat\u0131yor.<\/p>\n<section>\n<h2>Neden API Testi Yapmal\u0131y\u0131z?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda, uygulamalar birbirleriyle s\u00fcrekli ileti\u015fim halindedir. Bu ileti\u015fimin temelini ise API&#8217;ler (Application Programming Interface &#8211; Uygulama Programlama Aray\u00fcz\u00fc) olu\u015fturur. API&#8217;ler, farkl\u0131 yaz\u0131l\u0131m sistemlerinin birbirleriyle veri al\u0131\u015fveri\u015fi yapmas\u0131n\u0131 ve i\u015flevlerini payla\u015fmas\u0131n\u0131 sa\u011flayan k\u00f6pr\u00fclerdir. Bir web sitesinin hava durumu bilgisini g\u00f6stermesi veya mobil uygulaman\u0131z\u0131n sosyal medya hesab\u0131n\u0131za ba\u011flanmas\u0131, arka planda \u00e7al\u0131\u015fan API&#8217;ler sayesinde m\u00fcmk\u00fcn olur. Bu kadar kritik bir rol \u00fcstlenen API&#8217;lerin do\u011fru, g\u00fcvenli ve verimli \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 anlamak i\u00e7in API testi yapmak hayati \u00f6nem ta\u015f\u0131r. Peki, neden bu kadar \u00f6nemli? \u00d6ncelikle, API testleri sayesinde hatalar\u0131 erken a\u015famada yakalayabiliriz. Geli\u015ftirme s\u00fcrecinin ba\u015flar\u0131nda tespit edilen bir hata, projenin ilerleyen a\u015famalar\u0131nda veya canl\u0131ya al\u0131nd\u0131ktan sonra ortaya \u00e7\u0131kan bir hatadan \u00e7ok daha az maliyetli ve daha kolay \u00e7\u00f6z\u00fclebilir. Bu, geli\u015ftirme s\u00fcresini k\u0131salt\u0131r ve projenin genel kalitesini art\u0131r\u0131r. \u0130kinci olarak, API testleri g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 ortaya \u00e7\u0131kar\u0131r. Hassas verilerin i\u015flendi\u011fi g\u00fcn\u00fcm\u00fczde, API&#8217;lerin yetkisiz eri\u015fime, veri s\u0131z\u0131nt\u0131s\u0131na veya di\u011fer g\u00fcvenlik tehditlerine kar\u015f\u0131 ne kadar dayan\u0131kl\u0131 oldu\u011funu anlamak kritik \u00f6neme sahiptir. G\u00fcvenlik testleri, bu t\u00fcr riskleri en aza indirmeye yard\u0131mc\u0131 olur. \u00dc\u00e7\u00fcnc\u00fc olarak, API testleri performans sorunlar\u0131n\u0131 tespit eder. Bir API&#8217;nin yo\u011fun trafik alt\u0131nda veya b\u00fcy\u00fck veri setleriyle kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda nas\u0131l davrand\u0131\u011f\u0131n\u0131 anlamak, kullan\u0131c\u0131 deneyimini do\u011frudan etkiler. Yava\u015f yan\u0131t veren veya \u00e7\u00f6kme e\u011filimi g\u00f6steren bir API, kullan\u0131c\u0131lar\u0131n uygulaman\u0131z\u0131 terk etmesine neden olabilir. Performans testleri, API&#8217;lerin \u00f6l\u00e7eklenebilirli\u011fini ve y\u00fck alt\u0131nda ne kadar iyi \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamam\u0131z\u0131 sa\u011flar. Son olarak, API testleri, farkl\u0131 sistemlerle entegrasyonun sorunsuz olmas\u0131n\u0131 garantiler. Bir API&#8217;nin, ba\u015fka bir sistemle veya farkl\u0131 bir servisle do\u011fru \u015fekilde ileti\u015fim kurdu\u011fundan emin olmak, karma\u015f\u0131k yaz\u0131l\u0131m mimarilerinde kritik bir ad\u0131md\u0131r. API testleri, bu entegrasyonlar\u0131n sorunsuz bir \u015fekilde ger\u00e7ekle\u015fti\u011fini do\u011frular. Bu nedenle, API testi sadece bir geli\u015ftirme prati\u011fi de\u011fil, ayn\u0131 zamanda ba\u015far\u0131l\u0131 ve g\u00fcvenilir bir yaz\u0131l\u0131m \u00fcr\u00fcn\u00fc olu\u015fturman\u0131n temel bir par\u00e7as\u0131d\u0131r.<\/p>\n<\/section>\n<section>\n<h2>API Testi Nedir ve Neden \u00d6nemlidir?<\/h2>\n<p>API testi, bir API&#8217;nin i\u015flevselli\u011fini, g\u00fcvenilirli\u011fini, performans\u0131n\u0131 ve g\u00fcvenli\u011fini do\u011frulamak i\u00e7in yap\u0131lan bir yaz\u0131l\u0131m testi t\u00fcr\u00fcd\u00fcr. Bu testler, API&#8217;nin beklendi\u011fi gibi \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131, belirli girdilere do\u011fru \u00e7\u0131kt\u0131lar\u0131 verip vermedi\u011fini, hata durumlar\u0131nda nas\u0131l davrand\u0131\u011f\u0131n\u0131 ve g\u00fcvenlik gereksinimlerini kar\u015f\u0131lay\u0131p kar\u015f\u0131lamad\u0131\u011f\u0131n\u0131 kontrol eder. Temel olarak, API&#8217;nin belgelendi\u011fi gibi davrand\u0131\u011f\u0131ndan emin olmak i\u00e7in yap\u0131l\u0131r. API&#8217;ler, modern yaz\u0131l\u0131m geli\u015ftirmenin temel yap\u0131 ta\u015flar\u0131ndan biri haline gelmi\u015ftir. Mobil uygulamalar, web servisleri, mikroservis mimarileri ve IoT cihazlar\u0131 gibi pek \u00e7ok teknoloji, birbirleriyle ileti\u015fim kurmak i\u00e7in API&#8217;lere g\u00fcvenir. Dolay\u0131s\u0131yla, bu ileti\u015fim hatt\u0131n\u0131n sa\u011flam ve g\u00fcvenilir olmas\u0131, t\u00fcm sistemin sa\u011fl\u0131\u011f\u0131 i\u00e7in kritiktir. Bir API&#8217;deki hata, do\u011frudan bu API&#8217;yi kullanan uygulamalarda da sorunlara yol a\u00e7abilir. \u00d6rne\u011fin, bir e-ticaret sitesinin \u00f6deme API&#8217;sinde bir hata olmas\u0131, m\u00fc\u015fterilerin al\u0131\u015fveri\u015f yapmas\u0131n\u0131 engelleyebilir ve ciddi finansal kay\u0131plara neden olabilir. Benzer \u015fekilde, bir sosyal medya platformunun kullan\u0131c\u0131 verilerini \u00e7eken API&#8217;sindeki bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131, milyonlarca kullan\u0131c\u0131n\u0131n ki\u015fisel bilgilerinin tehlikeye girmesine yol a\u00e7abilir. Bu y\u00fczden API testi, sadece kodun do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol etmekle kalmaz, ayn\u0131 zamanda uygulaman\u0131n genel kullan\u0131c\u0131 deneyimini, g\u00fcvenli\u011fini ve i\u015f s\u00fcreklili\u011fini de do\u011frudan etkiler. API testleri, genellikle a\u015fa\u011f\u0131daki alanlara odaklan\u0131r: \u0130\u015flevsellik testi (Functional Testing): API&#8217;nin belirtilen gereksinimlere g\u00f6re do\u011fru sonu\u00e7lar \u00fcretip \u00fcretmedi\u011fini kontrol eder. G\u00fcvenilirlik testi (Reliability Testing): API&#8217;nin tekrarlanan istekler alt\u0131nda tutarl\u0131 ve do\u011fru sonu\u00e7lar verip vermedi\u011fini s\u0131nar. Performans testi (Performance Testing): API&#8217;nin farkl\u0131 y\u00fckler alt\u0131nda ne kadar h\u0131zl\u0131 ve verimli \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 \u00f6l\u00e7er. G\u00fcvenlik testi (Security Testing): API&#8217;nin yetkisiz eri\u015fime, veri s\u0131z\u0131nt\u0131s\u0131na ve di\u011fer g\u00fcvenlik tehditlerine kar\u015f\u0131 ne kadar diren\u00e7li oldu\u011funu de\u011ferlendirir. Kullan\u0131labilirlik testi (Usability Testing): API&#8217;nin geli\u015ftiriciler taraf\u0131ndan kolayca anla\u015f\u0131l\u0131p kullan\u0131labildi\u011fini kontrol eder. Bu testler sayesinde, API&#8217;lerin hem teknik olarak sa\u011flam olmas\u0131 hem de i\u015f gereksinimlerini kar\u015f\u0131lamas\u0131 sa\u011flan\u0131r.<\/p>\n<\/section>\n<section>\n<h2>OpenRouter Nedir ve Neden \u00dccretsiz API Testi \u0130\u00e7in \u0130deal?<\/h2>\n<p>OpenRouter, geli\u015ftiricilere \u00e7e\u015fitli b\u00fcy\u00fck dil modellerine (LLM) tek bir API \u00e7a\u011fr\u0131s\u0131 \u00fczerinden eri\u015fim sa\u011flayan yenilik\u00e7i bir platformdur. Geli\u015ftiriciler, farkl\u0131 LLM sa\u011flay\u0131c\u0131lar\u0131n\u0131n modellerini ayr\u0131 ayr\u0131 entegre etmek yerine, OpenRouter&#8217;\u0131n standartla\u015ft\u0131r\u0131lm\u0131\u015f API&#8217;sini kullanarak bu modellere kolayca ula\u015fabilirler. Bu, \u00f6zellikle birden fazla LLM ile denemeler yapan veya farkl\u0131 modeller aras\u0131nda ge\u00e7i\u015f yapmas\u0131 gereken geli\u015ftiriciler i\u00e7in b\u00fcy\u00fck bir kolayl\u0131k sa\u011flar. Peki, OpenRouter&#8217;\u0131 API testi i\u00e7in neden ideal bir ara\u00e7 haline getiriyor? En b\u00fcy\u00fck avantajlar\u0131ndan biri, <strong>\u00fccretsiz eri\u015fim<\/strong> sunmas\u0131d\u0131r. Bir\u00e7ok API test arac\u0131 abonelik tabanl\u0131yken veya belirli kullan\u0131m limitleri sonras\u0131nda \u00fccret talep ederken, OpenRouter, geli\u015ftiricilere deneme yapmalar\u0131 ve temel testlerini ger\u00e7ekle\u015ftirmeleri i\u00e7in c\u00f6mert bir \u00fccretsiz katman sunar. Bu, \u00f6zellikle b\u00fct\u00e7esi k\u0131s\u0131tl\u0131 olan bireysel geli\u015ftiriciler, startuplar veya yeni projeler \u00fczerinde \u00e7al\u0131\u015fan ekipler i\u00e7in paha bi\u00e7ilmez bir f\u0131rsatt\u0131r. Ayr\u0131ca, OpenRouter&#8217;\u0131n sundu\u011fu <strong>standartla\u015ft\u0131r\u0131lm\u0131\u015f API yap\u0131s\u0131<\/strong>, test s\u00fcre\u00e7lerini basitle\u015ftirir. Farkl\u0131 LLM&#8217;lerin karma\u015f\u0131k ve bazen tutars\u0131z API u\u00e7 noktalar\u0131yla u\u011fra\u015fmak yerine, OpenRouter&#8217;\u0131n tutarl\u0131 bir aray\u00fcz\u00fc sayesinde test senaryolar\u0131n\u0131z\u0131 daha h\u0131zl\u0131 olu\u015fturabilir ve uygulayabilirsiniz. Bu, test kodunuzun daha temiz ve y\u00f6netilebilir olmas\u0131n\u0131 sa\u011flar. OpenRouter, \u00e7e\u015fitli LLM&#8217;leri destekledi\u011fi i\u00e7in, testlerinizde farkl\u0131 modellerin performans\u0131n\u0131 ve \u00e7\u0131kt\u0131s\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rabilirsiniz. \u00d6rne\u011fin, bir metin \u00f6zetleme g\u00f6revi i\u00e7in GPT-4, Claude 3 ve Llama 3 gibi farkl\u0131 modellerin nas\u0131l davrand\u0131\u011f\u0131n\u0131 tek bir test beti\u011fiyle deneyebilirsiniz. Bu, projeniz i\u00e7in en uygun LLM&#8217;yi se\u00e7menize yard\u0131mc\u0131 olur. Ek olarak, OpenRouter&#8217;\u0131n sundu\u011fu <strong>dok\u00fcmantasyon<\/strong> ve <strong>kullan\u0131m kolayl\u0131\u011f\u0131<\/strong>, API testine yeni ba\u015flayanlar i\u00e7in bile platformu eri\u015filebilir k\u0131lar. Karma\u015f\u0131k kurulumlar veya derin teknik bilgi gerektiren ara\u00e7lar yerine, OpenRouter ile h\u0131zl\u0131ca bir deneme iste\u011fi g\u00f6nderebilir ve sonu\u00e7lar\u0131 inceleyebilirsiniz. Bu h\u0131zl\u0131 geri d\u00f6n\u00fc\u015f d\u00f6ng\u00fcs\u00fc, test ve geli\u015ftirme s\u00fcre\u00e7lerini h\u0131zland\u0131r\u0131r. Sonu\u00e7 olarak, OpenRouter, \u00fccretsiz olmas\u0131, standartla\u015ft\u0131r\u0131lm\u0131\u015f API&#8217;si, \u00e7oklu LLM deste\u011fi ve kullan\u0131m kolayl\u0131\u011f\u0131 ile API testi yapmak isteyen herkes i\u00e7in, \u00f6zellikle de LLM tabanl\u0131 uygulamalar geli\u015ftirenler i\u00e7in harika bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<\/section>\n<section>\n<h2>Ad\u0131m Ad\u0131m: OpenRouter ile \u0130lk API Testinizi Yap\u0131n<\/h2>\n<p>OpenRouter ile API testine ba\u015flamak, d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcn\u00fczden daha kolay. Bu b\u00f6l\u00fcmde, temel bir test senaryosunu ad\u0131m ad\u0131m ele alaca\u011f\u0131z. \u00d6ncelikle, bir API anahtar\u0131na (API Key) ihtiyac\u0131n\u0131z olacak. OpenRouter web sitesine giderek \u00fccretsiz bir hesap olu\u015fturabilir ve API anahtar\u0131n\u0131z\u0131 alabilirsiniz. Bu anahtar, isteklerinizin kimli\u011fini do\u011frulamak ve kullan\u0131m\u0131n\u0131z\u0131 takip etmek i\u00e7in kullan\u0131l\u0131r. G\u00fcvenli bir yerde saklaman\u0131z \u00f6nemlidir. Ard\u0131ndan, testlerinizi ger\u00e7ekle\u015ftirmek i\u00e7in bir ara\u00e7 veya programlama dili se\u00e7melisiniz. En yayg\u0131n yakla\u015f\u0131mlardan biri, pop\u00fcler programlama dillerinden birini (\u00f6rne\u011fin Python, JavaScript) ve HTTP istekleri yapman\u0131za olanak tan\u0131yan k\u00fct\u00fcphaneleri kullanmakt\u0131r. Python i\u00e7in <code>requests<\/code> k\u00fct\u00fcphanesi veya JavaScript i\u00e7in <code>fetch<\/code> API olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r. Alternatif olarak, Postman veya Insomnia gibi API test ara\u00e7lar\u0131n\u0131 da kullanabilirsiniz. Bu ara\u00e7lar, g\u00f6rsel bir aray\u00fcz sunarak istek olu\u015fturmay\u0131 ve yan\u0131tlar\u0131 incelemeyi kolayla\u015ft\u0131r\u0131r. Biz \u00f6rne\u011fimizde Python ve <code>requests<\/code> k\u00fct\u00fcphanesini kullanaca\u011f\u0131z. \u0130lk ad\u0131m olarak, gerekli k\u00fct\u00fcphaneyi y\u00fcklemeniz gerekir:\n        <\/p>\n<pre><code>\npip install requests\n        <\/code><\/pre>\n<p>\u015eimdi, OpenRouter API&#8217;sine bir istek g\u00f6nderecek temel Python kodunu olu\u015ftural\u0131m. Bu \u00f6rnekte, basit bir metin tamamlama iste\u011fi yapaca\u011f\u0131z. OpenRouter&#8217;\u0131n temel u\u00e7 noktas\u0131 genellikle <code>https:\/\/openrouter.ai\/api\/v1\/chat\/completions<\/code> \u015feklindedir. \u0130stek g\u00f6vdesi (request body), hangi modeli kullanmak istedi\u011finizi, mesajlar\u0131n\u0131z\u0131 ve di\u011fer parametreleri i\u00e7erir. \u0130\u015fte \u00f6rnek bir kod:<\/p>\n<pre><code>\nimport requests\nimport os\n\n# API anahtar\u0131n\u0131z\u0131 buraya girin veya ortam de\u011fi\u015fkeninden al\u0131n\n# G\u00fcvenlik i\u00e7in ortam de\u011fi\u015fkeni kullanmak daha iyidir.\n# \u00d6rnek: export OPENROUTER_API_KEY='sk-your-key-here'\nAPI_KEY = os.environ.get(\"OPENROUTER_API_KEY\")\nif not API_KEY:\n    print(\"Hata: OPENROUTER_API_KEY ortam de\u011fi\u015fkeni ayarlanmam\u0131\u015f.\")\n    exit()\n\nAPI_URL = \"https:\/\/openrouter.ai\/api\/v1\/chat\/completions\"\n\nheaders = {\n    \"Authorization\": f\"Bearer {API_KEY}\",\n    \"Content-Type\": \"application\/json\"\n}\n\ndata = {\n    \"model\": \"openai\/gpt-3.5-turbo\", # Kullanmak istedi\u011finiz model\n    \"messages\": [\n        {\"role\": \"user\", \"content\": \"Merhaba, API testi hakk\u0131nda bilgi verir misin?\"}\n    ],\n    \"max_tokens\": 150 # Yan\u0131t\u0131n maksimum uzunlu\u011fu\n}\n\ntry:\n    response = requests.post(API_URL, headers=headers, json=data)\n    response.raise_for_status() # HTTP hatalar\u0131 i\u00e7in istisna f\u0131rlat\u0131r\n\n    result = response.json()\n    print(\"API Yan\u0131t\u0131:\")\n    print(result)\n\n    # Yan\u0131ttan ana mesaj i\u00e7eri\u011fini alal\u0131m\n    if result and 'choices' in result and len(result['choices']) > 0:\n        message_content = result['choices'][0]['message']['content']\n        print(\"\\nMesaj \u0130\u00e7eri\u011fi:\")\n        print(message_content)\n    else:\n        print(\"\\nYan\u0131t i\u00e7inde beklenen mesaj i\u00e7eri\u011fi bulunamad\u0131.\")\n\nexcept requests.exceptions.RequestException as e:\n    print(f\"API iste\u011fi s\u0131ras\u0131nda bir hata olu\u015ftu: {e}\")\nexcept Exception as e:\n    print(f\"Bir hata olu\u015ftu: {e}\")\n        <\/code><\/pre>\n<p>Bu kodu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, OpenRouter API&#8217;sine bir istek g\u00f6nderilecek ve modelden bir yan\u0131t alacaks\u0131n\u0131z. Yan\u0131t\u0131n yap\u0131s\u0131n\u0131 inceleyerek, API&#8217;nin do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulayabilirsiniz. Bu, en temel test senaryosudur. Daha karma\u015f\u0131k testler i\u00e7in, farkl\u0131 modelleri deneyebilir, farkl\u0131 <code>max_tokens<\/code> de\u011ferleri ayarlayabilir, <code>temperature<\/code> gibi di\u011fer parametreleri de\u011fi\u015ftirebilir ve hata durumlar\u0131n\u0131 sim\u00fcle edebilirsiniz. \u00d6rne\u011fin, ge\u00e7ersiz bir model ad\u0131 veya eksik bir API anahtar\u0131 ile istek g\u00f6ndererek API&#8217;nin hata mesajlar\u0131n\u0131 nas\u0131l i\u015fledi\u011fini g\u00f6rebilirsiniz. Bu t\u00fcr testler, API&#8217;nin dayan\u0131kl\u0131l\u0131\u011f\u0131n\u0131 ve geri bildirim mekanizmalar\u0131n\u0131 anlaman\u0131za yard\u0131mc\u0131 olur. Ba\u015flang\u0131\u00e7 i\u00e7in bu ad\u0131mlar, OpenRouter ile API testi d\u00fcnyas\u0131na ilk ad\u0131m\u0131n\u0131z\u0131 atman\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<\/section>\n<section>\n<h2>Farkl\u0131 API Test Senaryolar\u0131 ve Vaka Analizleri<\/h2>\n<p>Temel istekleri g\u00f6ndermenin \u00f6tesinde, OpenRouter ile daha geli\u015fmi\u015f ve ger\u00e7ek\u00e7i test senaryolar\u0131 olu\u015fturabilirsiniz. Bu senaryolar, API&#8217;nizin farkl\u0131 ko\u015fullar alt\u0131nda nas\u0131l davrand\u0131\u011f\u0131n\u0131 anlaman\u0131za yard\u0131mc\u0131 olur. Birinci senaryo: <strong>Model Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/strong>. Projeniz i\u00e7in en uygun LLM&#8217;yi se\u00e7mek kritik olabilir. OpenRouter, farkl\u0131 modelleri kolayca test etmenizi sa\u011flar. \u00d6rne\u011fin, bir metin \u00f6zetleme g\u00f6revi i\u00e7in GPT-3.5-turbo, Claude-3-Opus ve Llama-3-70b modellerini kar\u015f\u0131la\u015ft\u0131rabilirsiniz. Her model i\u00e7in ayn\u0131 girdi metnini g\u00f6ndererek, \u00e7\u0131kt\u0131lar\u0131n kalitesini, \u00f6zetleme s\u00fcresini ve token kullan\u0131m\u0131n\u0131 analiz edebilirsiniz. Bu, hangi modelin maliyet-performans dengesi a\u00e7\u0131s\u0131ndan en uygun oldu\u011funu belirlemenize yard\u0131mc\u0131 olur.\n        <\/p>\n<h3>Vaka Analizi 1: Metin \u00d6zetleme Performans Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/h3>\n<p>Bir haber sitesi i\u00e7in makaleleri otomatik olarak \u00f6zetleyen bir \u00f6zellik geli\u015ftirdi\u011fimizi varsayal\u0131m. Amac\u0131m\u0131z, hem \u00f6zeti kaliteli hem de i\u015flem s\u00fcresi makul olan bir LLM bulmak.<\/p>\n<ul>\n<li><strong>Test Senaryosu:<\/strong> Belirli bir uzunluktaki (\u00f6rne\u011fin 1000 kelime) bir makaleyi \u00f6zetlemek i\u00e7in OpenRouter \u00fczerinden GPT-3.5-turbo, Claude-3-Sonnet ve Llama-3-8b modellerini kullanmak.<\/li>\n<li><strong>Test Ad\u0131mlar\u0131:<\/strong><\/li>\n<ol>\n<li>Her model i\u00e7in ayr\u0131 bir istek haz\u0131rlay\u0131n.<\/li>\n<li>Her istekte ayn\u0131 makale metnini <code>content<\/code> alan\u0131na ekleyin.<\/li>\n<li>Her model i\u00e7in yan\u0131t s\u00fcresini (iste\u011fin g\u00f6nderildi\u011fi andan yan\u0131t\u0131n al\u0131nd\u0131\u011f\u0131 ana kadar ge\u00e7en s\u00fcre) kaydedin.<\/li>\n<li>Her modelin \u00fcretti\u011fi \u00f6zetin kalitesini (anlam b\u00fct\u00fcnl\u00fc\u011f\u00fc, anahtar bilgileri i\u00e7ermesi, ak\u0131c\u0131l\u0131k) manuel olarak veya otomatik metriklerle de\u011ferlendirin.<\/li>\n<li>Token kullan\u0131m\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131r\u0131n.<\/li>\n<\/ol>\n<li><strong>Beklenen Sonu\u00e7:<\/strong> Farkl\u0131 modellerin \u00f6zet kalitesi, h\u0131z\u0131 ve maliyeti (token kullan\u0131m\u0131) a\u00e7\u0131s\u0131ndan farkl\u0131l\u0131k g\u00f6stermesi. \u00d6rne\u011fin, Claude-3-Sonnet daha y\u00fcksek kaliteli \u00f6zetler \u00fcretebilirken, GPT-3.5-turbo daha h\u0131zl\u0131 olabilir. Llama-3-8b ise daha uygun maliyetli bir se\u00e7enek sunabilir.<\/li>\n<\/ul>\n<p>        Bu analiz sonucunda, hangi modelin projenin gereksinimlerine en uygun oldu\u011funa karar verebiliriz.\n        <\/p>\n<p>\u0130kinci senaryo: <strong>Hata Y\u00f6netimi ve Dayan\u0131kl\u0131l\u0131k Testi<\/strong>. API&#8217;lerin sadece ba\u015far\u0131l\u0131 senaryolarda de\u011fil, beklenmedik durumlarda da do\u011fru davranmas\u0131 gerekir.\n        <\/p>\n<h3>Vaka Analizi 2: Yanl\u0131\u015f Parametrelerle \u0130stek G\u00f6nderme<\/h3>\n<p>Bir sohbet botu uygulamas\u0131 geli\u015ftirdi\u011fimizi ve kullan\u0131c\u0131lar\u0131n rastgele girdiler girebilece\u011fini d\u00fc\u015f\u00fcnelim. API&#8217;nin bu t\u00fcr durumlarda nas\u0131l tepki verdi\u011fini test etmek \u00f6nemlidir.<\/p>\n<ul>\n<li><strong>Test Senaryosu:<\/strong> OpenRouter API&#8217;sine ge\u00e7ersiz bir model ad\u0131 veya desteklenmeyen bir parametre ile istek g\u00f6ndermek.<\/li>\n<li><strong>Test Ad\u0131mlar\u0131:<\/strong><\/li>\n<ol>\n<li><code>model<\/code> alan\u0131na ge\u00e7erli olmayan bir model ad\u0131 yazarak bir istek g\u00f6nderin (\u00f6rne\u011fin: <code>\"non-existent-model\"<\/code>).<\/li>\n<li><code>messages<\/code> alan\u0131n\u0131 bo\u015f b\u0131rakarak veya format\u0131n\u0131 bozarak bir istek g\u00f6nderin.<\/li>\n<li><code>max_tokens<\/code> de\u011ferini \u00e7ok y\u00fcksek veya negatif bir say\u0131 olarak ayarlayarak istek g\u00f6nderin.<\/li>\n<\/ol>\n<li><strong>Beklenen Sonu\u00e7:<\/strong> API&#8217;nin, ge\u00e7ersiz istekleri uygun HTTP hata kodlar\u0131 (\u00f6rne\u011fin 400 Bad Request, 404 Not Found) ve anla\u015f\u0131l\u0131r hata mesajlar\u0131 ile yan\u0131tlamas\u0131. Bu, uygulaman\u0131z\u0131n kullan\u0131c\u0131ya neden hata olu\u015ftu\u011funu net bir \u015fekilde bildirmesini sa\u011flar.<\/li>\n<\/ul>\n<p>        Bu testler, API&#8217;nin sa\u011flaml\u0131\u011f\u0131n\u0131 ve hata mesajlar\u0131n\u0131n geli\u015ftiriciler i\u00e7in ne kadar bilgilendirici oldu\u011funu g\u00f6sterir.\n        <\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc senaryo: <strong>Uzun Ba\u011flam Penceresi Testi<\/strong>. Baz\u0131 LLM&#8217;ler, \u00e7ok uzun metinleri i\u015fleyebilir (uzun ba\u011flam penceresi). Bu yetene\u011fi test etmek, \u00f6zellikle roman yazma, uzun belgeleri analiz etme gibi g\u00f6revler i\u00e7in \u00f6nemlidir.\n        <\/p>\n<h3>Vaka Analizi 3: Uzun Metin \u0130\u015fleme Yetene\u011fi<\/h3>\n<p>Bir m\u00fc\u015fterinin uzun bir raporu \u00f6zetlemesi veya bir kitaptan belirli bilgileri \u00e7\u0131karmas\u0131 gereken bir senaryo d\u00fc\u015f\u00fcnelim.<\/p>\n<ul>\n<li><strong>Test Senaryosu:<\/strong> OpenRouter \u00fczerinden, ba\u011flam penceresi geni\u015f olan bir model (\u00f6rne\u011fin Claude-3-Opus) kullanarak \u00e7ok uzun bir metni (\u00f6rne\u011fin 10.000 kelime) i\u015flemesini istemek.<\/li>\n<li><strong>Test Ad\u0131mlar\u0131:<\/strong><\/li>\n<ol>\n<li>Ger\u00e7ek veya sentetik olarak olu\u015fturulmu\u015f \u00e7ok uzun bir metin haz\u0131rlay\u0131n.<\/li>\n<li>Bu metni, desteklenen modelin ba\u011flam penceresi s\u0131n\u0131rlar\u0131 dahilinde bir iste\u011fe <code>messages<\/code> parametresi olarak g\u00f6nderin.<\/li>\n<li>Modelden, metnin belirli bir b\u00f6l\u00fcm\u00fcn\u00fc \u00f6zetlemesini veya metin i\u00e7inden belirli bir bilgiyi \u00e7\u0131karmas\u0131n\u0131 isteyin.<\/li>\n<\/ol>\n<li><strong>Beklenen Sonu\u00e7:<\/strong> Modelin, uzun metni do\u011fru bir \u015fekilde i\u015flemesi ve istenen g\u00f6revi ba\u015far\u0131yla tamamlamas\u0131. E\u011fer metin ba\u011flam penceresini a\u015farsa, modelin bunu belirtmesi veya bilginin bir k\u0131sm\u0131n\u0131 kaybetmesi beklenir.<\/li>\n<\/ul>\n<p>        Bu t\u00fcr testler, LLM&#8217;lerin s\u0131n\u0131rlar\u0131n\u0131 anlamak ve projenizin gereksinimlerine uygun olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in kritik \u00f6neme sahiptir.\n        <\/p>\n<p>Bu vaka analizleri, OpenRouter&#8217;\u0131 kullanarak ne kadar \u00e7e\u015fitli ve derinlemesine testler yapabilece\u011finizi g\u00f6stermektedir. Her senaryo, API&#8217;nin farkl\u0131 y\u00f6nlerini vurgular ve uygulaman\u0131z\u0131n g\u00fcvenilirli\u011fini art\u0131rman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<\/section>\n<section>\n<h2>API Testlerinde Dikkat Edilmesi Gerekenler ve \u0130pu\u00e7lar\u0131<\/h2>\n<p>API testlerini daha etkili ve verimli hale getirmek i\u00e7in baz\u0131 \u00f6nemli noktalara dikkat etmek gerekir. \u00d6ncelikle, <strong>test verisi y\u00f6netimi<\/strong> kritik bir konudur. Testlerinizde kullanaca\u011f\u0131n\u0131z verilerin ger\u00e7ek\u00e7i, \u00e7e\u015fitli ve tekrarlanabilir olmas\u0131 \u00f6nemlidir. \u00d6rne\u011fin, bir kullan\u0131c\u0131 kayd\u0131 API&#8217;sini test ediyorsan\u0131z, hem ge\u00e7erli hem de ge\u00e7ersiz e-posta adresleri, zay\u0131f \u015fifreler, \u00f6zel karakterler i\u00e7eren isimler gibi farkl\u0131 veri kombinasyonlar\u0131n\u0131 denemelisiniz. Bu, API&#8217;nin farkl\u0131 senaryolara nas\u0131l tepki verdi\u011fini g\u00f6rmenizi sa\u011flar. Ayr\u0131ca, hassas test verilerini (\u00f6rne\u011fin ger\u00e7ek kullan\u0131c\u0131 bilgileri) \u00fcretim ortam\u0131ndan almaktan ka\u00e7\u0131n\u0131n; bunun yerine sentetik veya anonimle\u015ftirilmi\u015f veriler kullan\u0131n. \u0130kinci olarak, <strong>test otomasyonu<\/strong>na yat\u0131r\u0131m yapmak, uzun vadede b\u00fcy\u00fck fayda sa\u011flar. Manuel testler zaman al\u0131c\u0131 ve hataya a\u00e7\u0131kt\u0131r. Tekrarlayan test senaryolar\u0131n\u0131 otomatikle\u015ftirmek, geli\u015ftirme d\u00f6ng\u00fcs\u00fcn\u00fc h\u0131zland\u0131r\u0131r ve test kapsam\u0131n\u0131 art\u0131r\u0131r. Python, JavaScript gibi dillerde yaz\u0131lan test betikleri veya Postman gibi ara\u00e7larla olu\u015fturulan test koleksiyonlar\u0131, otomasyon i\u00e7in harika se\u00e7eneklerdir. Bu otomasyonlar, CI\/CD (Continuous Integration\/Continuous Deployment &#8211; S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m) pipeline&#8217;lar\u0131na entegre edilerek her kod de\u011fi\u015fikli\u011finde otomatik olarak \u00e7al\u0131\u015ft\u0131r\u0131labilir. \u00dc\u00e7\u00fcnc\u00fc olarak, <strong>kapsaml\u0131 dok\u00fcmantasyon<\/strong> her zaman elinizin alt\u0131nda olmal\u0131d\u0131r. OpenRouter&#8217;\u0131n API dok\u00fcmantasyonu, hangi parametrelerin mevcut oldu\u011funu, hangi de\u011ferlerin kabul edildi\u011fini ve olas\u0131 hata kodlar\u0131n\u0131 anlamak i\u00e7in temel kaynakt\u0131r. Dok\u00fcmantasyonu dikkatlice okumak, test senaryolar\u0131n\u0131z\u0131 daha do\u011fru bir \u015fekilde tasarlaman\u0131za yard\u0131mc\u0131 olur. API&#8217;nin davran\u0131\u015f\u0131 hakk\u0131nda herhangi bir \u015f\u00fcpheniz oldu\u011funda, dok\u00fcmantasyona ba\u015fvurmak en h\u0131zl\u0131 \u00e7\u00f6z\u00fcm yoludur. D\u00f6rd\u00fcnc\u00fc olarak, <strong>s\u00fcr\u00fcm kontrol\u00fc<\/strong> (version control) kullanmak, test kodlar\u0131n\u0131z\u0131n ve yap\u0131land\u0131rmalar\u0131n\u0131z\u0131n takibini kolayla\u015ft\u0131r\u0131r. Git gibi sistemler, test betiklerinizdeki de\u011fi\u015fiklikleri izlemenize, \u00f6nceki s\u00fcr\u00fcmlere geri d\u00f6nmenize ve ekip \u00fcyeleriyle i\u015fbirli\u011fi yapman\u0131za olanak tan\u0131r. Bu, \u00f6zellikle b\u00fcy\u00fck projelerde veya birden fazla geli\u015ftiricinin \u00e7al\u0131\u015ft\u0131\u011f\u0131 ekiplerde \u00f6nemlidir. Be\u015finci olarak, <strong>test ortam\u0131<\/strong>n\u0131n \u00fcretim ortam\u0131n\u0131 m\u00fcmk\u00fcn oldu\u011funca taklit etmesi \u00f6nemlidir. Geli\u015ftirme, test ve \u00fcretim ortamlar\u0131 aras\u0131nda farkl\u0131l\u0131klar olmas\u0131, testlerinizde ba\u015far\u0131l\u0131 olman\u0131za ra\u011fmen canl\u0131da sorunlarla kar\u015f\u0131la\u015fman\u0131za neden olabilir. Bu nedenle, test ortam\u0131n\u0131z\u0131n veritaban\u0131, a\u011f yap\u0131land\u0131rmas\u0131 ve di\u011fer ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n \u00fcretim ortam\u0131na benzemesini sa\u011flamaya \u00e7al\u0131\u015f\u0131n. Son olarak, <strong>performans ve y\u00fck testleri<\/strong>ni ihmal etmeyin. Bir API&#8217;nin sadece do\u011fru \u00e7al\u0131\u015fmas\u0131 yetmez; ayn\u0131 zamanda beklenen y\u00fck alt\u0131nda da kararl\u0131 kalmal\u0131d\u0131r. OpenRouter gibi platformlar, LLM&#8217;lerin performans\u0131n\u0131 test etmek i\u00e7in harika olsa da, kendi uygulaman\u0131z\u0131n API&#8217;sinin de belirli bir trafik alt\u0131nda ne kadar iyi \u00f6l\u00e7eklenebildi\u011fini anlamak \u00f6nemlidir. Bu t\u00fcr testler, potansiyel darbo\u011fazlar\u0131 belirlemenize ve \u00f6nleyici tedbirler alman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<\/section>\n<section>\n<h2>Geli\u015fmi\u015f API Test Teknikleri ve \u00d6rnekler<\/h2>\n<p>Temel ve orta d\u00fczey test senaryolar\u0131n\u0131 ele ald\u0131ktan sonra, \u015fimdi daha ileri d\u00fczey tekniklere g\u00f6z atal\u0131m. Bu teknikler, API&#8217;nizin s\u0131n\u0131rlar\u0131n\u0131 zorlaman\u0131za ve daha derinlemesine analizler yapman\u0131za olanak tan\u0131r. \u0130lk olarak, <strong>rate limiting (istek s\u0131n\u0131rlama)<\/strong> testleri. Bir\u00e7ok API, k\u00f6t\u00fcye kullan\u0131m\u0131 \u00f6nlemek veya kaynaklar\u0131 adil bir \u015fekilde da\u011f\u0131tmak i\u00e7in istek s\u0131n\u0131rlamalar\u0131 uygular. OpenRouter&#8217;\u0131n da belirli kullan\u0131m limitleri olabilir. Bu limitleri test etmek, uygulaman\u0131z\u0131n bu s\u0131n\u0131rlamalara nas\u0131l uyum sa\u011flad\u0131\u011f\u0131n\u0131 anlamak i\u00e7in \u00f6nemlidir.\n        <\/p>\n<h3>Vaka Analizi 4: \u0130stek S\u0131n\u0131rlamalar\u0131na Uyum<\/h3>\n<p>Bir m\u00fc\u015fteri hizmetleri uygulamas\u0131nda, kullan\u0131c\u0131lar\u0131n belirli bir s\u00fcre i\u00e7inde g\u00f6nderebilece\u011fi soru say\u0131s\u0131 s\u0131n\u0131rl\u0131ysa, bu s\u0131n\u0131rlamay\u0131 test etmeliyiz.<\/p>\n<ul>\n<li><strong>Test Senaryosu:<\/strong> OpenRouter API&#8217;sine, belirlenen bir zaman dilimi i\u00e7inde izin verilenden daha fazla istek g\u00f6ndermek.<\/li>\n<li><strong>Test Ad\u0131mlar\u0131:<\/strong><\/li>\n<ol>\n<li>OpenRouter&#8217;\u0131n belirledi\u011fi veya sizin belirledi\u011finiz bir istek s\u0131n\u0131rlamas\u0131n\u0131 (\u00f6rne\u011fin, saniyede 10 istek) g\u00f6z \u00f6n\u00fcnde bulundurun.<\/li>\n<li>Bu s\u0131n\u0131rlamay\u0131 a\u015facak \u015fekilde k\u0131sa aral\u0131klarla \u00e7ok say\u0131da istek g\u00f6nderin.<\/li>\n<li>API&#8217;nin yan\u0131tlar\u0131n\u0131 izleyin.<\/li>\n<\/ol>\n<li><strong>Beklenen Sonu\u00e7:<\/strong> API&#8217;nin, s\u0131n\u0131rlamay\u0131 a\u015ft\u0131\u011f\u0131n\u0131zda uygun bir hata kodu (genellikle 429 Too Many Requests) ve bir hata mesaj\u0131 d\u00f6nd\u00fcrmesi. Bu, uygulaman\u0131z\u0131n kullan\u0131c\u0131ya veya sisteme bu durum hakk\u0131nda bilgi vermesini sa\u011flar.<\/li>\n<\/ul>\n<p>        Bu test, uygulaman\u0131z\u0131n yo\u011fun kullan\u0131ma kar\u015f\u0131 dayan\u0131kl\u0131 olmas\u0131n\u0131 ve kullan\u0131c\u0131 deneyimini olumsuz etkileyecek ani duraklamalar\u0131 veya engellemeleri \u00f6nlemesini sa\u011flar.\n        <\/p>\n<p>\u0130kinci olarak, <strong>stateful testing (durum bilgisi tutan testler)<\/strong>. Baz\u0131 API etkile\u015fimleri, \u00f6nceki iste\u011fin sonucuna ba\u011fl\u0131d\u0131r. \u00d6rne\u011fin, bir sohbet botunda, \u00f6nceki mesajlar sonraki yan\u0131t\u0131 etkiler. Bu t\u00fcr durumlar\u0131 test etmek, API&#8217;nin haf\u0131zas\u0131n\u0131 ve ba\u011flam\u0131 koruma yetene\u011fini do\u011frular.\n        <\/p>\n<h3>Vaka Analizi 5: Sohbet Botu Konu\u015fma Ak\u0131\u015f\u0131 Testi<\/h3>\n<p>Bir sohbet botu geli\u015ftirdi\u011fimizi ve kullan\u0131c\u0131n\u0131n ad\u0131n\u0131 sorup daha sonra bu adla hitap etmesini istedi\u011fimizi varsayal\u0131m.<\/p>\n<ul>\n<li><strong>Test Senaryosu:<\/strong> Kullan\u0131c\u0131n\u0131n ad\u0131n\u0131 \u00f6\u011frenen ve ard\u0131ndan bu adla hitap eden bir sohbet ak\u0131\u015f\u0131n\u0131 sim\u00fcle etmek.<\/li>\n<li><strong>Test Ad\u0131mlar\u0131:<\/strong><\/li>\n<ol>\n<li>\u0130lk iste\u011fi g\u00f6nderin: <code>{\"role\": \"user\", \"content\": \"Benim ad\u0131m Ali.\"}<\/code><\/li>\n<li>API&#8217;den gelen yan\u0131t\u0131 al\u0131n ve modelin ad\u0131 anlad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n.<\/li>\n<li>Ard\u0131ndan, \u00f6nceki konu\u015fma ge\u00e7mi\u015fini de i\u00e7eren yeni bir istek g\u00f6nderin: <code>[{\"role\": \"user\", \"content\": \"Benim ad\u0131m Ali.\"}, {\"role\": \"assistant\", \"content\": \"Merhaba Ali! Sana nas\u0131l yard\u0131mc\u0131 olabilirim?\"}, {\"role\": \"user\", \"content\": \"Bug\u00fcn hava nas\u0131l?\"}]<\/code><\/li>\n<li>Modelin, &#8220;Ali&#8221; ad\u0131n\u0131 kullanarak yan\u0131t \u00fcretip \u00fcretmedi\u011fini kontrol edin.<\/li>\n<\/ol>\n<li><strong>Beklenen Sonu\u00e7:<\/strong> Modelin, \u00f6nceki konu\u015fma ba\u011flam\u0131n\u0131 anlayarak tutarl\u0131 ve ki\u015fiselle\u015ftirilmi\u015f bir yan\u0131t \u00fcretmesi.<\/li>\n<\/ul>\n<p>        Bu test, LLM&#8217;lerin konu\u015fma ak\u0131\u015f\u0131n\u0131 s\u00fcrd\u00fcrme ve ba\u011flam\u0131 koruma yeteneklerini de\u011ferlendirir.\n        <\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc olarak, <strong>fuzzing (rastgele veri \u00fcretimi)<\/strong>. Bu teknikte, API&#8217;ye rastgele olu\u015fturulmu\u015f girdiler g\u00f6nderilir. Ama\u00e7, beklenmedik girdilerle API&#8217;nin \u00e7\u00f6kmesine veya hatal\u0131 davranmas\u0131na neden olabilecek g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 veya mant\u0131k hatalar\u0131n\u0131 bulmakt\u0131r. OpenRouter gibi LLM API&#8217;lerinde fuzzing, genellikle metin girdileri \u00fczerinde yap\u0131l\u0131r. \u00d6rne\u011fin, rastgele karakter dizileri, uzun metinler, \u00f6zel kodlama karakterleri i\u00e7eren girdiler denenebilir. Bu, LLM&#8217;nin \u00f6ng\u00f6r\u00fclemeyen girdilere kar\u015f\u0131 ne kadar dayan\u0131kl\u0131 oldu\u011funu g\u00f6sterir. Python&#8217;da <code>fuzzing<\/code> gibi k\u00fct\u00fcphaneler veya \u00f6zel betikler bu ama\u00e7la kullan\u0131labilir. Bu ileri d\u00fczey teknikler, API&#8217;nizin sadece do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 de\u011fil, ayn\u0131 zamanda zorlu ko\u015fullar alt\u0131nda bile g\u00fcvenilir ve g\u00fcvenli oldu\u011funu garanti etmenize yard\u0131mc\u0131 olur.<\/p>\n<\/section>\n<section>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>OpenRouter, LLM tabanl\u0131 uygulamalar geli\u015ftiren geli\u015ftiriciler i\u00e7in g\u00fc\u00e7l\u00fc ve eri\u015filebilir bir ara\u00e7t\u0131r. Sundu\u011fu \u00fccretsiz API eri\u015fimi, standartla\u015ft\u0131r\u0131lm\u0131\u015f aray\u00fcz\u00fc ve geni\u015f model yelpazesi, API testlerini hem kolay hem de etkili hale getirir. Bu rehberde, API testinin \u00f6neminden OpenRouter&#8217;\u0131n sundu\u011fu avantajlara, temel test senaryolar\u0131ndan ileri d\u00fczey tekniklere kadar bir\u00e7ok konuyu ele ald\u0131k. Unutmay\u0131n ki API testi, yaz\u0131l\u0131m geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r ve hatalar\u0131 erken tespit etmek, g\u00fcvenli\u011fi sa\u011flamak ve performans\u0131 optimize etmek i\u00e7in kritik \u00f6neme sahiptir. OpenRouter ile yapaca\u011f\u0131n\u0131z d\u00fczenli ve kapsaml\u0131 testler, uygulaman\u0131z\u0131n kalitesini ve g\u00fcvenilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r. Bu sayede, kullan\u0131c\u0131lar\u0131n\u0131za daha iyi bir deneyim sunabilir ve potansiyel sorunlar\u0131 proaktif olarak \u00e7\u00f6zebilirsiniz. API testleri, sadece bir &#8220;yap\u0131lmas\u0131 gereken&#8221; g\u00f6rev de\u011fil, ayn\u0131 zamanda \u00fcr\u00fcn\u00fcn\u00fcz\u00fcn ba\u015far\u0131s\u0131n\u0131 do\u011frudan etkileyen stratejik bir ad\u0131md\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<dl>\n<dt><strong>OpenRouter&#8217;\u0131n \u00fccretsiz katman\u0131nda ne kadar istek g\u00f6nderebilirim?<\/strong><\/dt>\n<dd>OpenRouter&#8217;\u0131n \u00fccretsiz katman\u0131ndaki istek limitleri zaman zaman g\u00fcncellenebilir. En g\u00fcncel bilgiler i\u00e7in OpenRouter&#8217;\u0131n resmi web sitesindeki fiyatland\u0131rma veya kullan\u0131m politikalar\u0131 b\u00f6l\u00fcm\u00fcn\u00fc kontrol etmeniz \u00f6nerilir. Genellikle, geli\u015ftiricilerin deneme yapmas\u0131 ve temel testleri ger\u00e7ekle\u015ftirmesi i\u00e7in yeterli bir limit sunulur.<\/dd>\n<dt><strong>OpenRouter ile hangi LLM modellerini test edebilirim?<\/strong><\/dt>\n<dd>OpenRouter, OpenAI (GPT serisi), Anthropic (Claude serisi), Google (Gemini serisi) ve Meta (Llama serisi) gibi \u00f6nde gelen sa\u011flay\u0131c\u0131lardan bir\u00e7ok pop\u00fcler LLM modeline eri\u015fim sunar. Desteklenen modellerin tam listesi i\u00e7in OpenRouter belgelerine g\u00f6z atabilirsiniz.<\/dd>\n<dt><strong>API anahtar\u0131m\u0131 g\u00fcvende tutmak i\u00e7in ne yapmal\u0131y\u0131m?<\/strong><\/dt>\n<dd>API anahtar\u0131n\u0131z, hesab\u0131n\u0131za ve hizmetinize eri\u015fim sa\u011flayan hassas bir bilgidir. Anahtar\u0131n\u0131z\u0131 asla kodunuzun i\u00e7ine do\u011frudan g\u00f6mmeyin. Bunun yerine, ortam de\u011fi\u015fkenleri (environment variables) kullan\u0131n veya g\u00fcvenli anahtar y\u00f6netim ara\u00e7lar\u0131ndan faydalan\u0131n. Anahtar\u0131n\u0131z\u0131 kimseyle payla\u015fmay\u0131n ve yetkisiz eri\u015fimi \u00f6nlemek i\u00e7in gerekli \u00f6nlemleri al\u0131n.<\/dd>\n<dt><strong>API testlerinde hata mesajlar\u0131n\u0131 nas\u0131l yorumlamal\u0131y\u0131m?<\/strong><\/dt>\n<dd>API&#8217;den gelen hata mesajlar\u0131, sorunun ne oldu\u011funu anlamak i\u00e7in kritik ipu\u00e7lar\u0131 sunar. HTTP durum kodlar\u0131 (\u00f6rne\u011fin 4xx istemci hatalar\u0131, 5xx sunucu hatalar\u0131) ve hata mesaj\u0131n\u0131n i\u00e7eri\u011fi, sorunun kayna\u011f\u0131n\u0131 (ge\u00e7ersiz parametre, yetkilendirme sorunu, sunucu hatas\u0131 vb.) belirlemenize yard\u0131mc\u0131 olur. Anla\u015f\u0131l\u0131r hata mesajlar\u0131, testlerinizi daha verimli hale getirir.<\/dd>\n<dt><strong>OpenRouter&#8217;\u0131n API&#8217;sini test etmek i\u00e7in hangi programlama dilleri kullan\u0131labilir?<\/strong><\/dt>\n<dd>OpenRouter, standart bir REST API kulland\u0131\u011f\u0131 i\u00e7in Python, JavaScript (Node.js veya taray\u0131c\u0131 taraf\u0131), Java, Ruby, Go gibi HTTP istekleri yapabilen hemen hemen her programlama dili ile test edilebilir. En pop\u00fcler se\u00e7enekler genellikle Python (<code>requests<\/code> k\u00fct\u00fcphanesi ile) ve JavaScript (<code>fetch<\/code> API veya <code>axios<\/code> gibi k\u00fct\u00fcphanelerle) olmaktad\u0131r.<\/dd>\n<\/dl>\n<\/section>\n<p>#Teknoloji #WebGeli\u015ftirme #APITest #OpenRouter #LLM<\/p>\n","protected":false},"excerpt":{"rendered":"API&#8217;leriniz bekledi\u011finiz gibi \u00e7al\u0131\u015f\u0131yor mu? \u00dccretsiz OpenRouter ile bu sorunun yan\u0131t\u0131n\u0131 kolayca bulun.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-45149","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi\" \/>\n<meta property=\"og:description\" content=\"API&#039;leriniz bekledi\u011finiz gibi \u00e7al\u0131\u015f\u0131yor mu? \u00dccretsiz OpenRouter ile bu sorunun yan\u0131t\u0131n\u0131 kolayca bulun.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-12T06:00:36+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"22 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi\",\"datePublished\":\"2026-10-12T06:00:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/\"},\"wordCount\":4090,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/\",\"name\":\"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-10-12T06:00:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi","og_description":"API'leriniz bekledi\u011finiz gibi \u00e7al\u0131\u015f\u0131yor mu? \u00dccretsiz OpenRouter ile bu sorunun yan\u0131t\u0131n\u0131 kolayca bulun.","og_url":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-10-12T06:00:36+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"22 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi","datePublished":"2026-10-12T06:00:36+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/"},"wordCount":4090,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/","name":"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-10-12T06:00:36+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/openrouter-ile-api-testi-ucretsiz-uc-nokta-testi-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"OpenRouter ile API Testi: \u00dccretsiz U\u00e7 Nokta Testi Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=45149"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45149\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=45149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=45149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=45149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}