Sahte Test Verisi Üretici
QA ve veritabanı testi için gerçekçi görünen ama tamamen uydurma satırlar üretin — ad, e-posta, telefon, adres. Buradaki hiçbir veri gerçek bir kişiye ait değildir.
245 görüntülenme
Aşağıdaki tüm veriler yalnızca test amacıyla rastgele uydurulmuştur — gerçek hiçbir kişiyi tanımlamaz.
Gerçek Kullanıcı Verisiyle Test Etmek Neden Kötü Bir Pratik
Bir geliştirme veritabanını, üretim müşteri tablosundan bir dilim dışa aktararak doldurmak pratik gibi görünür ve şirketlerin kişisel veriyi kazara sızdırmasının en yaygın yollarından biridir. AB'nin GDPR'ı ve Türkiye'nin KVKK'sı gibi düzenlemeler altında, kişisel verinin yalnızca toplandığı belirli amaç için işlenmesi ve o amaca uygun güvenlikle korunması beklenir — bir staging veya dev ortamı, genelde üretimden çok daha az kilitlidir, çoğu zaman her mühendis tarafından erişilebilir, bazen daha az güvenli depolamaya loglanır veya yedeklenir, veya bir staging URL'si indekslenir ya da bir test sunucusu yanlış yapılandırılırsa kazara açığa çıkabilir. Bu düzeyde bir açığa çıkma için hiç denetlenmemiş bir veritabanında oturan gerçek bir müşterinin adı, e-postası, telefon numarası ve adresi ders kitabı düzeyinde bir uyum ve güvenlik sorumluluğudur; "bir demoda üretim verisini kullandık" gerçek veri ihlali sonrası raporlarında tekrar tekrar karşılaşılan bir cümledir. Uydurma veri tüm bu sorunu baştan çözer: bilgilendirilecek gerçek bir kişi yoktur, gerekçelendirilecek bir rıza temeli yoktur ve bir test veritabanı sızarsa bildirilecek bir ihlal de yoktur, çünkü satırlar hiçbir zaman gerçekte kimseye karşılık gelmemiştir.
Uyumluluğun ötesinde, uydurma test verisi QA için basitçe daha kullanışlıdır. Gerçek üretim verisi, mevcut kullanıcılarınızın nasıl göründüğünü yansıtır — testçilerin gerçekten ihtiyaç duyduğu uç durumları güvenilir biçimde içermez: olağandışı karakterler taşıyan adlar, boş bırakılmış isteğe bağlı alanlar, maksimum uzunlukta dizeler veya bir formun kabul ettiği her girdiye eşit yayılmış değerler gibi. Sentetik üretim, hacmi ve şekli hassas biçimde kontrol etmenizi sağlar: bu araç 1 ile 100 arası satır istemenize ve tam olarak hangi alanların doldurulacağını seçmenize izin verir — bu, gerçek müşteri dışa aktarmalarının hiçbir zaman tasarlanmadığı bir iş akışıdır.
Rastgelelik Nasıl Çalışıyor
Buradaki her değer — hangi ad, hangi şehir, telefon numarasındaki hangi rakamlar — Math.random() yerine Web Crypto API'sinin kriptografik olarak güvenli rastgele sayı kaynağı olan crypto.getRandomValues() kullanılarak seçilir. Neden olduğunu netleştirmek gerekirse: bir test satırı için sahte bir ad seçmenin gerçek güvenlik riski neredeyse sıfırdır, bu yüzden bu, bir parola veya oturum belirteci üretmede olduğu gibi bir güvenlik gerekliliği değildir. Bu aracın yine de bunu kullanmasının nedeni, doğru varsayılan alışkanlığı göstermektir — Math.random(), çıktısı ilke olarak ortamlar arasında tahmin edilebilir veya yeniden üretilebilir olan, hızlı ama kriptografik olmayan bir sözde-rastgele üreticidir; crypto.getRandomValues() ise işletim sisteminin güvenli entropi kaynağından çeker ve rastgeleliğin tahmin edilemez olması gerektiği her durumda doğru araçtır — bu yüzden varsayılan olarak ona yönelmek, bir indirim kodu veya sıfırlama belirteci üretmek gibi tahmin edilebilirliğin gerçekten önemli olduğu bir bağlamda Math.random() kullanma hatasından kaçınır. Modulo yanlılığından (rastgele aralık çıktı uzayına tam bölünmediğinde bazı değerleri diğerlerinden çok hafif daha olası kılan ince bir çarpıklık) kaçınmak için, her seçim reddetme örneklemesi (rejection sampling) kullanır: bu çarpıklığı yaratacak değerler atılır ve yeniden çekilir.
- Dile göre ayrı ad ve şehir havuzları: "Türkçe" veri seçmek, özel bir Türkçe ad, soyad ve şehir havuzundan üretir; "İngilizce" seçmek ayrı bir İngilizce havuzdan çeker, böylece veri, ilgisiz adlandırma kurallarının bir karışımı yerine yerel-tutarlı okunur.
- Yalnızca sahte alan adları: üretilen e-postalar her zaman RFC 2606 tarafından belgeleme ve test kullanımı için resmi olarak ayrılmış example.com, example.org veya example.net alan adlarını kullanır — postayı kazara bir yere yönlendirebilecek gerçek, kayıtlı bir alan adı asla kullanılmaz.
- CSV dışa aktarımı RFC 4180 biçimindedir: alanlar virgülle ayrılır ve tırnak içine alınır, böylece virgül, tırnak veya satır sonu içeren değerler bile Excel, Google E-Tablolar veya standartlara uygun herhangi bir CSV içe aktarıcısında doğru şekilde ayrıştırılır.
- Tamamen yerel: üretim tarayıcınızda gerçekleşir; hiçbir şey bir sunucuya gönderilmez, loglanmaz veya kendi indirmeniz dışında hiçbir yerde saklanmaz.
Sıkça Sorulan Sorular
Bu verilerden herhangi biri gerçek veya gerçek bir kişiye izlenebilir mi?
Hayır. Her satır, bu araç için özel olarak oluşturulmuş sabit ad, şehir, şirket ve alan adı havuzlarından rastgele değerler birleştirilerek oluşturulur. Herhangi bir gerçek kişi, müşteri listesi veya dış veri kaynağına karşı bir sorgu yapılmaz; gerçek bir bireyle benzerlik tesadüfidir.
Araç neden Math.random() yerine crypto.getRandomValues() kullanıyor?
Buradaki güvenlik riski düşüktür, ama araç kasıtlı olarak doğru varsayılan alışkanlığı modelleyerek çalışır: crypto.getRandomValues() işletim sisteminin güvenli entropi kaynağından çeker ve Math.random()'ın taşıdığı tahmin edilebilirlik riskinden kaçınır; bunu varsayılan olarak kullanmak, belirteçler veya kodlar gibi tahmin edilebilirliğin gerçekten sorun olacağı bağlamlar için doğru içgüdüyü oluşturur.
Bunu bir üretim veya paylaşılan veritabanını doldurmak için kullanabilir miyim?
Bu araç QA, staging ve yerel geliştirme testi için tasarlanmıştır — müşteriye dönük herhangi bir şeyi doldurmak için değil. Değerler rastgele üretildiğinden, ayrı üretim çalıştırmaları arasında yinelenen adlar veya e-postalar mümkündür ve kontrol edilmez.
Üretilen e-posta alan adları neden hep example.com veya benzeri?
example.com, example.net ve example.org, özellikle belgeleme ve test için RFC 2606 tarafından kalıcı olarak ayrılmış, gerçek bir kuruluşa asla atanmayacağı garanti edilen alan adlarıdır — bunları kullanmak, birinin gerçekten sahip olduğu bir alan adında kazara sahte bir adres üretme riskinden kaçınır.
CSV indirmesi hangi biçimde?
RFC 4180'i izler: virgülle ayrılmış alanlar, her değer çift tırnak içine alınmış ve iç tırnaklar kaçışlanmış, CRLF satır sonlarıyla — bu, Excel, Google E-Tablolar ve neredeyse her veritabanı içe aktarma aracının varsayılan olarak beklediği biçimdir.
Benzer Araçlar
Sorun Bildir
Sahte Test Verisi Üretici
Yorumlar
Henüz yorum yok — ilk yorumu siz yazın!