TC Üret
11 HaneTC üretmek için ücretsiz araç.
Yardımcı Blog Yazıları
Tümünü görToplu TC Üretimi
10.000 adede kadar TC üretin ve CSV olarak indirin. Toplu veri ihtiyaçlarınız için.
TC Nasıl Üretilir?
TC üretimi, algoritma kurallarına uygun rastgele numara oluşturur. Üretilen TC yalnızca format açısından geçerlidir; gerçek kişi/kuruma ait değildir.
- Uzunluk 11 hane; ilk hane 0 olamaz.
- 10. hane:
((1,3,5,7,9).toplam × 7 − (2,4,6,8).toplam) mod 10 - 11. hane:
ilk 10 hanenin toplamı mod 10
Araç yalnızca format doğrular; gerçek kişi/kurum teyidi yapmaz.
TC Neden Üretmeliyim?
- Yazılım testlerinde gerçek TC kullanmaktan kaçınmak için.
- Veritabanı dolum, form testi ve API entegrasyonunda geçerli formatlı TC üretimi.
- QA ekipleri için hızlı TC test verisi üretimi.
- Geçersiz TC ile hata yakalama senaryoları oluşturma.
QA otomasyonunda TC üret fonksiyonu: test piramidinin tabanı
TC Üret aracı, özellikle birim ve entegrasyon testi yazan QA mühendisleri için hızlı bir test verisi kaynağıdır. Jest, Vitest, Mocha, pytest gibi framework'lerde "given-when-then" aşamasının given kısmı çoğu zaman gerçekçi görünen bir kimlik numarası gerektirir; bu aracın ürettiği 11 haneli numaralar algoritma kontrolünden geçer ancak MERNİS sisteminde karşılığı yoktur.
Hangi senaryolarda kullanılmalı?
- Jest snapshot testleri: Form bileşenlerinin geçerli TC ile render'ını dondurma.
- pytest parametrik testleri: <code>@pytest.mark.parametrize</code> ile 50+ farklı TC varyasyonunu tek testte deneme.
- xUnit Theory testleri: .NET tarafında <code>[InlineData]</code> ile test matrisleri kurma.
- Cypress/Playwright E2E: Kayıt akışlarında otomatik form doldurma adımları.
Test veri üretim stratejisi ve determinizm
Test piramidinde tabana indikçe deterministik veri kritikleşir. TC Üret aracı rastgele üretim yapar; ancak kendi testlerinizde seed-bazlı üretim istiyorsanız, <code>Math.random</code> yerine <code>seedrandom</code> (Node.js) veya <code>random.seed()</code> (Python) kullanan kütüphanelerimize geçin. Böylece CI'da başarısız olan bir test, aynı seed ile lokalde birebir yeniden üretilebilir. Algoritma adımı şu sırayla işler: 9 hane üret, 10. haneyi çift-tek ağırlıklı mod ile hesapla, 11. haneyi toplam mod 10 ile kapat.
Sık karşılaşılan tuzak: flaky test kaynağı
QA ekipleri genelde her testte yeni TC üreterek "daha gerçekçi" veri peşinde koşar. Ancak bu, veritabanı UNIQUE constraint'i olan sütunlarda tekrar riskini değil; test sıralama bağımlılığı riskini getirir. Testler birbirinin ürettiği TC'ye güvenirse paralel çalıştırmada patlar.
Kod entegrasyonu / İleri adımlar
Kendi test suite'inize TCKN üretim fonksiyonu gömmek için Node.js kütüphanesi veya Python kütüphanesi üzerinden başlayın. 10.000+ numaraya ihtiyaç duyan regression testleri için toplu TCKN üretimi sayfasındaki CSV çıktısını kullanın. Genel kavramsal arka plan için TCKN nedir yazısına göz atabilirsiniz.
Sık Sorulan Sorular
beforeEach hook'unda yeni bir TC üretmek yerine, describe düzeyinde üretip sabit tutmak daha sağlıklıdır. Böylece snapshot testler kararlı kalır. Örnek kullanım için Node.js kütüphanemize bakın.@pytest.fixture(scope='session') ile tek sefer üretim genelde yeterlidir. Ancak paralel çalıştırma (xdist) senaryosunda worker başına üretim yapmak daha güvenlidir, aksi halde veritabanı UNIQUE ihlali yaşanır.INFO altında tutmayı öneririz. Detaylar: TCKN test verisi rehberi.İlgili TC Araçları
Son güncelleme: