Test kimlik verisi, bir yazılımı sınarken kullanılan ama arkasında gerçek bir kişi bulunmayan kimlik kaydıdır. Bu yazıda bu tür kayıtların hangi işler için gerektiğini, gerçek kişilerin bilgileriyle test yapmanın neden riskli olduğunu ve tek bir kimlik kaydının içinde hangi parçaların bulunduğunu bulacaksınız.
Test kimlik verisi tam olarak ne anlama gelir?
Bir uygulamayı geliştirirken formun, veritabanının ve doğrulama kurallarının gerçek bir kullanıcı gelmeden önce denenmesi gerekir. Bu deneme sırasında kullanılan kayda test kimlik verisi denir. Adı “kimlik” olsa da buradaki kimlik bir kişiyi değil, bir kişi kaydının şeklini temsil eder: ad, soyad, doğum tarihi, kimlik numarası, adres, telefon ve benzeri alanlar bir arada durur.
Bu kayıtların en belirgin özelliği, gerçek dünyadan kopyalanmamış olmasıdır. Bir kayıt kendi başına tutarlı görünür, biçimsel kurallara uyar, hatta kontrol basamağı doğru hesaplanmış olabilir; ama arkasında o bilgileri taşıyan bir insan yoktur. Bu yüzden kaydın hiçbir alanı, gerçek bir kişiyi aramak, doğrulamak veya o kişiye ulaşmak için kullanılamaz.
Sentetik kayıtların ikinci özelliği yeniden üretilebilirlik, üçüncü özelliği ise paylaşılabilirliktir. Aynı anahtar her seferinde aynı kaydı üretiyorsa test sonucu da değişmez; kaydın arkasında korunması gereken bir kişi olmadığı için hata kaydına, ekran görüntüsüne veya ekip sohbetine rahatça konabilir. Sitemizdeki kimlik üreticisi bu iki özelliği birlikte sunar: ülkeyi seçip üretirsiniz, sonucu kopyalarsınız ve aynı kimlik anahtarıyla aynı kaydı her zaman geri getirebilirsiniz.
Gerçek kişilerin bilgileri test ortamına neden girmemeli?
En sık duyulan gerekçe “test verisi gerçekçi olmalı” cümlesidir. Gerçekçilik ile gerçeklik aynı şey değildir: bir kaydın biçimi ülkenin kurallarına uyduğu sürece gerçekçidir, o kaydın gerçek bir kişiden kopyalanmış olması gerekmez. Gerçek müşteri kayıtlarını test ortamına taşımak, gerçekçilikten çok daha ağır sonuçlar doğurur.
Birincisi, kopyalanan her kayıt kişisel verinin ikinci bir nüshasını oluşturur. Üretim sisteminin güvenlik önlemleriyle test ortamının önlemleri nadiren aynı düzeydedir; test veritabanı daha geniş bir ekibe açıktır, yedekleri daha gevşek saklanır ve çoğu zaman kurulum sırasında gerçek isimlerle doldurulur.
İkincisi, silme işlemi sanıldığı kadar temiz değildir. Bir kopyayı silmek, o kaydın geçici dosyalarda, log kayıtlarında, hata raporlarında ve geliştiricinin kendi dizüstü bilgisayarında da bulunabileceği gerçeğini değiştirmez. Nerede olduğu bilinmeyen bir kopyayı silmek mümkün olmadığı için, en güvenli yöntem kopyayı hiç oluşturmamaktır.
Üçüncüsü, test ortamındaki gerçek veri hukuki bir yükümlülük haline gelir. Kaydın kime ait olduğunu bilmek, ne kadar süre tutulacağını belgelemek ve kişinin talebi geldiğinde cevap verebilmek gerekir. Sentetik kayıtlarla çalışırken bu yükümlülüklerin hiçbiri doğmaz; çünkü ortada verisi işlenen bir kişi yoktur. Bu konunun ayrıntıları için GDPR ve test verisi yazısına bakabilirsiniz.
Hangi işler için sentetik kimlik kaydına ihtiyaç duyulur?
Her ekip aynı nedenle sentetik veri kullanmaz; ihtiyaç genellikle dört başlıkta toplanır.
- Form ve doğrulama testleri: Zorunlu alanlar, uzunluk sınırları, karakter kümesi kuralları ve koşullu alanlar, henüz gerçek kullanıcı yokken denenir.
- Kayıt akışı denemeleri: Kayıt, giriş ve profil güncelleme ekranları baştan sona çalıştırılır; e-posta doğrulaması ve şifre kuralları bu akışta sınanır.
- Toplu üretim ve yük denemeleri: Yüzlerce satırlık bir liste hâlinde kayıt üretilip tablonun, aramanın ve dışa aktarmanın davranışı ölçülür. Bunun için toplu üretim yaklaşımını hazır bir küme üzerinden kurmak daha kolaydır.
- Demo ve tasarım çalışmaları: Sunumda, prototipte veya ekran görüntüsünde yer tutucu metin yerine gerçek görünen bir kayıt gösterilir.
Bu başlıkların ortak noktası şudur: amaç, yazılımın davranışını görmektir. Kaydın arkasında bir kişi olması hiçbir senaryoda işe yaramaz; aksine, her senaryoda ek bir risk getirir.
Bir kimlik kaydı hangi alanlardan oluşur?
Bir kimlik kaydı, birbiriyle ilişkili alanlardan oluşan küçük bir bütündür. Alanların çoğu tek başına anlamsızdır; anlamı, diğer alanlarla birlikte kurduğu tutarlılıktan alır. Ülke seçimi bunun en açık örneğidir: ülke değiştiğinde adresin yapısı, telefonun ülke kodu, kimlik numarasının uzunluğu ve hatta adın yazım biçimi de değişir.
Kaydın tipik parçaları şunlardır:
| Alan grubu | İçerdiği bilgiler | Neye bağlıdır |
|---|---|---|
| Kişi | ad, soyad, cinsiyet | Dil ve ülke kuralları |
| Doğum | doğum tarihi, yaş | Bugünün tarihi |
| Kimlik numarası | numaranın kendisi, biçimi | Ülkenin numaralandırma düzeni |
| İletişim | telefon, e-posta | Ülke kodu ve alan kodu |
| Adres | sokak, şehir, idari bölüm, posta kodu | Ülkenin adres düzeni |
| Çevrimiçi | profil adresi, kullanıcı adı | Dil ve yazım kuralları |
Bu tabloyu bir kontrol listesi olarak kullanmak, kaydın eksik üretilmesini engeller. Örneğin adres üretilirken ülke alanı boş bırakılırsa, posta kodunun hangi biçime uyacağı belirsiz kalır ve doğrulama kodu yanlış bir sonuç verir.
Üretilen kayıt gerçek bir kişi gibi kullanılabilir mi?
Hayır, kullanılamaz. Bu sitede üretilen kayıtlar yalnızca test amaçlıdır ve gerçek bir kişiyi taklit etmek için kullanılmamalıdır. Biçimsel doğruluk, bir kaydı kimlik kanıtı hâline getirmez; bir kurumun kendi kaydında bulunmayan hiçbir numara o kurum için geçerli değildir.
Bu ayrım pratikte iki soruyla netleşir. Birincisi: bu kaydı bir kuruma gösterip hesap açabilir miyim? Cevap hayırdır, çünkü kurumlar yalnızca kendi kaynaklarından gelen bilgiyi kabul eder ve sentetik bir kaydın kendi kayıtlarında karşılığı yoktur. İkincisi: bu kaydı başka birinin önünde o kişi gibi davranmak için kullanabilir miyim? Cevap yine hayırdır ve bu kullanım aracın amacının tamamen dışındadır.
Kurgusal kayıtların faydası, gerçek bir kişinin verisini hiç ortaya koymadan yazılımı sınamaktır. Bu fayda, kaydın sınırlarını bilerek kullanıldığında ortaya çıkar; sınırları zorlamak ise hem hukuki hem de etik açıdan yanlış bir yola çıkar.
Geliştiriciler için: alan bağımlılıkları ve sabit örnek kararı
Bir kimlik kaydını test verisi olarak kurarken ilk karar, alanların birbirine nasıl bağlandığıdır. Doğum tarihi ile yaş aynı gerçeğin iki gösterimidir; ikisini bağımsız üretmek, ilk bakışta fark edilmeyen ama tutarlılık kontrolünü sürekli tetikleyen bir hata üretir. Aynı şekilde kimlik numarasının uzunluğu ülkeye, telefonun ülke kodu hem ülkeye hem bölgeye, posta kodu da şehir ve idari bölüme bağlıdır.
İkinci karar, her çalıştırmada yeni kayıt üretmek ile sabit bir örnek kullanmak arasındadır. İkisinin yeri farklıdır. Sabit örnek, belirli bir hatayı yakalamak ve o hatayı tekrar üretmek için gereklidir: bir hata kaydında gördüğünüz kişiyi aynı anahtarla yeniden açabilmek, sorunun kaynağını bulmanın en kısa yoludur. Rastgele üretim ise kapsamı genişletmek için yararlıdır; farklı ülkelerden, farklı uzunlukta alanlarla ve farklı karakterlerle çalışan bir küme, tek bir örneğin gösteremeyeceği kırılmaları ortaya çıkarır.
Üçüncü karar, üretilen kaydın işaretlenmesidir. Kaydın kurgusal olduğunu belirten bir etiket, bir bayrak veya sabit bir ön ek kullanmak; veri test ortamının dışına yanlışlıkla çıktığında kimsenin onu gerçek bir kayıt sanmasını engeller.
Son olarak, kaydı bir bütün olarak sınamayı ihmal etmeyin. Alanları tek tek doğrulayan bir kod, alanların birbiriyle uyumunu kendiliğinden kontrol etmez. Bu yüzden test setinizde hem her alanı doğru olan mutlu yol, hem de yalnızca bir alanı uyumsuz olan bozuk örnek bulunmalıdır.
Sonraki adımlar
İlk adım, hangi testlerde sabit bir kayda, hangilerinde geniş bir kümeye ihtiyacınız olduğunu yazılı olarak belirlemektir; bu ayrım yapılmadan toplanan veri genellikle iki işi de yapmaz. İkinci adım, gerçek veri kopyalama alışkanlığını tamamen bırakmaktır. Kendi test kümenizi hemen kurmak isterseniz kimlik üreticisinde ülke seçip kaydı üretebilir, aynı kimlik anahtarıyla o kaydı her zaman geri getirebilirsiniz. Üretim yöntemlerinin karşılaştırması için çevrimiçi üreticiler ve kütüphaneler yazısı da işinize yarayabilir; Türkiye kayıtlarının biçimlerini görmek için Türkiye sayfası kısa bir özet sunar.