Her API testinin üzerinde çalışmak için verilere ihtiyacı vardır. Bir giriş testi kullanıcılara ihtiyaç duyar. Bir ödeme testi siparişlere, adreslere ve ödeme kayıtlarına ihtiyaç duyar. Bir arama testi, sayfalama gerçekten bir işe yarasın diye birkaç bin satıra ihtiyaç duyar. Bu verileri elle yazmak yavaştır ve elle yazılan sürüm, gerçek hataları yakalamak için her zaman fazla temizdir.
Bir test verisi oluşturucu bunu çözer. İhtiyaç duyulduğunda gerçekçi, çeşitli kayıtlar üretir, böylece testleriniz üretim verilerinizin sonunda karşılaşacağı uç durumları çalıştırır. Bu kılavuz, bir test verisi oluşturucunun ne olduğunu, seçebileceğiniz ana türlerini ve ayrı bir araç eklemeden doğrudan Apidog içinde test verisi nasıl oluşturulacağını açıklar.
API yanıtlarını tamamen taklit etmeye yeni başlıyorsanız, mock API'nin ne olduğu ile başlayın ve sorunun veri tarafı için buraya geri dönün.
Test verisi oluşturucu nedir?
Bir test verisi oluşturucu, gerçek üretim verilerine benzeyen sentetik kayıtlar oluşturan bir araç veya kütüphanedir. `{"name": "test", "email": "test@test.com"}` ifadesini yüzlerce kez yazmak yerine, istediğiniz şekli (bir ad, geçerli bir e-posta, 10 ile 500 arasında bir fiyat) tanımlarsınız ve oluşturucu inanılır değerlerle doldurur.
İyi test verilerinin üç özelliği vardır:
- Gerçekçi. İsimler isimlere benzer, e-postalar doğrulamayı geçer, tarihler mantıklı aralıklara düşer.
- Çeşitli. Hiçbir iki kayıt aynı değildir, böylece iddialarınız bir eksik ve sınır hatalarını yakalar.
- Güvenli. Sentetiktir, bu nedenle gerçek müşteri kayıtlarını (ve onların kişisel tanımlayıcı bilgilerini) asla bir test paketine kopyalamazsınız.
Amaç güzel veriler değildir. Kapsamdır. Bir oluşturucu, düzenli manuel test verilerinizin asla yapamayacağı şekillerde kodu bozan girdilerin uzun kuyruğunu (boş dizeler, unicode adlar, büyük sayılar, süresi dolmuş tarihler) üretmenizi sağlar.
Gerçekçi test verileri API testleri için neden önemlidir?
API'ler girdiyi doğrular. Yanlış biçimlendirilmiş e-postaları reddeder, aralık dışı sayıları sınırlar ve isteğe bağlı alanlarda dallanır. Eğer her test kaydı `John Doe / john@example.com / miktar 1` ise, sadece mutlu yolu test etmiş olursunuz.
Gerçekçi, oluşturulmuş veriler, elle yapamayacağınız üç şeyi yapmanızı sağlar:
- Büyük hacimli testler yapın. 5.000 ürün oluşturun ve sayfalama, sıralama ve filtreleme gerçek bir çalışma yapsın.
- Sınırları bilerek zorlayın. Doğrulamanın geçerliliğini teyit etmek için tam olarak 0 fiyat, negatif miktarlar veya 256 karakterli adlar isteyin.
- Veri odaklı testler çalıştırın. Bir girdi tablosunu tek bir test üzerinden besleyin ve her satır için doğru sonucu doğrulayın.
Son nokta, bir oluşturucunun en çok işe yaradığı yerdir ve Apidog'un veri oluşturmayı doğrudan test yürütmeye bağladığı yerdir. Daha fazlası aşağıda.
Test verisi oluşturucuların ana türleri
Test verisi oluşturucular dört kategoriye ayrılır. Çoğu ekip birden fazlasını kullanır.
1. Kod kütüphaneleri
Faker.js (JavaScript) ve Faker (Python) gibi kütüphaneler size programatik bir API sunar: `faker.person.fullName()`, `faker.internet.email()`, `faker.commerce.price()`. Verileri kod içinde oluşturduğunuz, tekrarlanabilirlik için tohumladığınız ve betiklere bağladığınız için en esnek seçenektirler.
Dezavantajı, kod yazıp sürdürmenizdir. JavaScript dünyasında yaşıyorsanız, Faker.js ve Apidog'da nasıl kullanılacağına dair derinlemesine incelememiz, kütüphaneyi ayrıntılı olarak ele alır ve aynı Faker kurallarının Apidog'un mock motoruna nasıl takıldığını gösterir.
2. Bağımsız ve çevrimiçi oluşturucular
Mockaroo gibi araçlar, bir web arayüzünde sütunları tanımlamanıza ve CSV, JSON veya SQL olarak indirmenize olanak tanır. Tek seferlik bir tohum dosyası veya hızlı bir veri kümesi için kullanışlıdırlar ve yazılacak kod gerektirmezler. Dezavantajı: veriler statik bir dışa aktarımdır. Yeniden oluşturmak veya değişen bir şema ile senkronize tutmak, her seferinde UI'ya geri dönmek anlamına gelir.
3. Şema tabanlı oluşturucular
Halihazırda bir OpenAPI spesifikasyonunuz veya JSON Şemanız varsa, şema tabanlı bir oluşturucu alan türlerini ve kısıtlamalarını okur ve otomatik olarak eşleşen veriler üretir. Bu, test verilerinizi sözleşmeyle uyumlu tutar. OpenAPI akışını OpenAPI şemalarından mock veri nasıl oluşturulur bölümünde ele alıyoruz. JSON Şema standardı bunu mümkün kılar: türler, biçimler ve aralıklar tamamen makine tarafından okunabilir.
4. Yapay Zeka tabanlı oluşturucular
En yeni seçenek, bir modelden bağlama duyarlı kayıtlar icat etmesini ister: gerçekçi bir destek bileti, akla yatkın bir ürün açıklaması, tutarlı bir kullanıcı profili. Bu, rastgele alan değerlerinden ziyade birlikte "anlamlı" olan verilere ihtiyaç duyduğunuzda parlar. Uygulamalı bir örnek için Claude Code kullanarak mock veri oluşturmaya bakın.
Apidog'da test verisi nasıl oluşturulur?
Çoğu "test verisi oluşturucu" özetinin atladığı kısım şurasıdır: API'leri Apidog'da test ediyorsanız, ayrı bir oluşturucuya hiç ihtiyacınız yoktur. Veri oluşturma, iş akışının üç yerine yerleşiktir.
Alan kurallarıyla akıllı mock. Apidog bir uç noktayı mockladığında, her alan adını ve türünü okur ve otomatik olarak inanılır değerler oluşturur. Bir `email` alanı geçerli bir e-posta döndürür, bir `createdAt` alanı bir tarih döndürür, bir `price` alanı bir sayı döndürür. Çıkışı kontrol etmek için her alana Faker tarzı kurallar ekleyebilirsiniz, böylece mock, gerçek API'nizin döndüreceği aynı şekli döndürür. Apidog'u indirin ve tanımladığınız herhangi bir uç nokta, anında gerçekçi veriler döndürmeye başlar, sürdürülecek bir `db.json` dosyası olmaz.

Yapay Zeka tarafından oluşturulan test verileri. Apidog, bir uç nokta için şemasından bir toplu test kaydı oluşturabilir, böylece her alan için elle kural yazmadan çeşitli bir veri kümesi elde edersiniz.

Veri odaklı test. Döngüyü kapatan budur. Bir CSV veya JSON veri kümesini bir test adımına eklersiniz ve Apidog adımı her satır için bir kez çalıştırır, değerleri değişken olarak ikame eder. Tek bir test, birçok girdi, tek bir doğrulama deseni. Mekanikler CSV ve JSON'dan parametreli API testleri nasıl çalıştırılır bölümünde ele alınmıştır ve bu özel iş için araçları tartıyorsanız, veri odaklı API testi için hangi aracı kullanmalı seçenekleri karşılaştırır. CI'da mı çalışıyorsunuz? Aynı veri kümeleri, Apidog CLI'da veri odaklı test ile terminalden çalışır.
Adım adım: bir uç nokta için test verisi oluşturma
- Apidog'da projenizi açın ve test verisi istediğiniz uç noktayı seçin.
- Yanıt şemasını tanımlayın (veya OpenAPI dosyanızdan içe aktarın). Alan adları ve türleri oluşturmayı yönlendirir.
- Mock'u açın. Apidog her alan için oluşturulan değerleri hemen döndürür.
- Belirli alanları kontrol etmek için bir mock kuralı ekleyin (örneğin, `status` değerini `active`, `pending`, `closed` değerlerinden birine ayarlayın).
- Test çalıştırmaları için bir veri kümesi (CSV veya JSON) oluşturun, test adımına ekleyin ve adım her satır üzerinde döner.
Artık geliştirme için gerçekçi yanıtlara ve testler için tekrarlanabilir bir girdi tablosuna sahipsiniz, hepsi de testleri yazdığınız ve çalıştırdığınız aynı yerden.
Test verisi oluşturucu nasıl seçilir?
| İhtiyacınız varsa… | Kullanın | Neden |
|---|---|---|
| JS/Python'da tam programatik kontrol | Faker kütüphanesi | Esnek, betiklenebilir, tohumlarla tekrarlanabilir |
| Hızlı bir statik tohum dosyası | Mockaroo veya benzeri | Kodsuz, dışa aktar ve git |
| API sözleşmenize uygun veriler | Şema tabanlı (OpenAPI/JSON Şema) | Spesifikasyonla senkronize kalır |
| Bağlama duyarlı, "mantıklı" kayıtlar | Yapay Zeka oluşturucu | Tutarlı çok alanlı veriler |
| Mock'lara ve testlere bağlı oluşturulmuş veriler | Apidog | Mock, oluşturma ve çalıştırma için tek araç |
Tek bir kazanan yoktur. Betiklemeye ağırlık veren bir ekip Faker'a güvenir; Apidog'da zaten API tasarlayan bir ekip, çalışma alanından ayrılmadan oluşturma, mocklama ve veri odaklı çalıştırmalar elde eder.
API test verileri için en iyi uygulamalar
- Tekrarlanabilirlik için tohumlama. Başarısız olan bir test, yalnızca onu bozan tam veriyi yeniden oluşturabilirseniz faydalıdır. Tekrarlamanız gereken çalıştırmalar için sabit bir tohum kullanın.
- Kötü verileri de oluşturun. Boş alanlar, yanlış türler, aşırı büyük yükler ve süresi dolmuş belirteçler sadece geçerli satırlar değil, veri kümenizde yer almalıdır.
- Verileri ve şemayı senkronize tutun. Sözleşme değiştiğinde, yeniden oluşturun. Şema tabanlı oluşturma bunu otomatikleştirir.
- Asla gerçek kişisel tanımlayıcı bilgileri kullanmayın. Sentetik veriler, gizlilik kurallarını ve müşteri kayıtlarının bir depoya sızdırılma riskini atlar.
- Hacmi teste göre eşleştirin. Sayfalama ve performans testleri binlerce satıra ihtiyaç duyar; tek bir doğrulama kontrolü birkaç taneye ihtiyaç duyar.
Sıkça Sorulan Sorular
Test verisi oluşturucu ile mock sunucusu arasındaki fark nedir? Bir oluşturucu veriyi üretir; bir mock sunucusu onu HTTP üzerinden sahte API yanıtları olarak sunar. Genellikle ikisini de istersiniz, bu yüzden Apidog onları birleştirir: mock, oluşturucunun oluşturduğu veriyi döndürür. Bağımsız bir oluşturucu size sadece bir dosya verir.
OpenAPI spesifikasyonumdan test verisi oluşturabilir miyim? Evet. Şema tabanlı araçlar, eşleşen kayıtlar üretmek için spesifikasyonun türlerini ve kısıtlamalarını okur. OpenAPI şemalarından mock veri oluşturmaya bakın.
Oluşturulan test verisi bir depoya commit etmek için güvenli midir? Sentetik veriler güvenlidir, çünkü gerçek kişisel bilgi içermez. Üretim verilerinin dışa aktarımlarını asla commit etmeyin.
Bir testi birçok oluşturulmuş girdiye karşı nasıl çalıştırırım? Veri odaklı test kullanın: bir CSV veya JSON veri kümesi ekleyin ve test her satır için tekrarlanır. Parametreli test kılavuzu kurulumu gösterir.
Test verilerini kullanmak için sahte bir sunucu kurmam gerekir mi? Gerekmez. Düz bir dosya tarafından desteklenen tek kullanımlık bir REST API istiyorsanız, json-server ve JSONPlaceholder kılavuzumuza bakın. Şema farkında olan, ekip içinde paylaşılabilir mock'lar için Apidog'un yerleşik mock'unu kullanın.
Kısa versiyon
Bir test verisi oluşturucu, kayıtları icat etmenin yavaş ve hataya açık işini, istediğiniz şeklin tek satırlık bir açıklamasına dönüştürür. Betik kontrolü için bir kod kütüphanesi, sözleşmenizle uyumlu kalmak için şema tabanlı bir araç veya tutarlı kayıtlar için bir Yapay Zeka oluşturucu seçin. API'leri zaten Apidog'da test ediyorsanız, oluşturma, akıllı mock'lar ve veri odaklı çalıştırmaları tek bir yerde elde edersiniz, böylece oluşturduğunuz veriler doğrudan onu kullanan testlere akar. Apidog'u indirin ve ilk istekte gerçekçi test verilerini görmek için bir uç noktaya yönlendirin.
