Rehber · Güncelleme 2026-10-31
Proxy ile Uygulama Testi: Geo QA Senaryoları ve Düzeni
Proxy ile uygulama testi nasıl kurulur? Ülkeyi belirleyen altı sinyal, dört eksenli test matrisi, altı geo QA senaryosu, sticky oturum, CI kaydı ve ürün seçimi.

Proxy ile uygulama testi neyi doğrular, neyi doğrulamaz?
Proxy ile uygulama testi, kendi uygulamanızın farklı bir ülkeden ya da farklı bir ağ türünden gelen kullanıcıya ne gösterdiğini, test cihazını yerinden oynatmadan kontrol etmektir. Proxy yalnız tek bir şeyi değiştirir: sunucunuzun gördüğü çıkış IP adresini ve o adresin ait olduğu ülke, şehir ve ağ türü bilgisini. Fiyat para birimi, ödeme yöntemi listesi, dil yönlendirmesi ya da bölgesel kampanya gibi kararlar sunucu tarafında bu adrese bakılarak veriliyorsa, proxy o kararların her ülke için doğru çalışıp çalışmadığını gösterir.
Cihazın dil ayarı, saat dilimi, SIM kartın operatör kodu, GPS konumu ve uygulama mağazası hesabının ülkesi ise proxy’den etkilenmez. Uygulama ülkeyi bu kaynaklardan birinden okuyorsa, Almanya çıkışlı bir proxy açsanız bile Türkiye davranışını görürsünüz; bu durumda sorun test tasarımındadır. Testin ilk işi, uygulamanın hangi kararı hangi sinyalden verdiğini listelemektir.
Anlatılan düzen yalnız kendi uygulamanız ya da test izniniz olan ortamlar içindir ve sunucu loglarına erişiminiz olduğunu varsayar; en güvenilir doğrulama kaynağı o loglardır. Üretim trafiği ile test trafiği her zaman ayrı tutulur: ayrı test hesabı, ayrı işaretli istekler ve mümkünse ayrı ortam.
Sinyal haritası: uygulama ülkeyi nereden okur?
IP adresi: Sunucu, isteğin geldiği adresi bir konum veritabanında arar. Proxy bunu doğrudan değiştirir. Para birimi, vergi, stok bölgesi ve coğrafi kısıtlar çoğunlukla buradan okunur.
Dil başlığı ve cihaz dili: Tarayıcı ya da uygulama, isteğe cihazın dil tercihini ekler. Proxy bunu değiştirmez; test cihazında dil elle ayarlanır. Dil yönlendirmesi IP ile dil başlığının çelişmesine göre farklı davranabilir ve bu çelişki başlı başına bir test senaryosudur.
SIM ve operatör kodu: Mobil uygulamalar operatör bilgisini işletim sisteminden okuyabilir. Proxy değiştirmez. Operatöre bağlı özellik ya da ödeme seçeneği test ediliyorsa emülatörde operatör kodu ayarlanır ya da gerçek SIM kullanılır.
GPS ve sistem konumu: Konum izni verilmiş uygulamalar koordinatı cihazdan alır. Proxy değiştirmez; emülatörün sahte konum özelliği kullanılır. IP ülkesi ile GPS ülkesi farklıysa uygulamanın hangisine güvendiği test edilir.
Mağaza hesabı ülkesi: Uygulama içi satın alma ve mağaza listeleme, mağaza hesabının ülkesine bağlıdır. Proxy değiştirmez ve değiştirmeye çalışmak mağaza kurallarına aykırıdır; bu alan testin kapsamı dışında bırakılır.
Saat dilimi: Kampanya başlangıcı, gece modu ve tarih biçimi cihaz saatinden okunabilir. Proxy değiştirmez; emülatörde ayarlanır. Haritadaki altı sinyalden yalnız ilki proxy ile değişir; kalan beşi cihazdan ayarlanır ve her test senaryosunda hangisinin hangi değerde olduğu kayda yazılır.
Test matrisi: dört eksen ve matrisin küçültülmesi
Tam matris dört eksenin çarpımıdır: ülke, ağ türü, oturum modeli ve platform. Ülke ekseni uygulamanın yayında olduğu pazarlardır. Ağ türü ekseni datacenter, residential ve mobil çıkıştır; sunucunuz ya da kullandığınız üçüncü taraf servisler ağ türüne göre farklı davranıyorsa bu eksen gerekir, davranmıyorsa tek değere iner. Oturum ekseni, test boyunca aynı adreste kalmak ile her istekte adres değiştirmek arasındadır. Platform ekseni web, Android ve iOS istemcileridir.
Beş ülke, üç ağ türü, iki oturum modeli ve üç platform 90 hücre eder; hepsini her sürümde koşmak gereksizdir. Küçültmek için sunucu tarafında ülkeye bağlı her karar yalnız IP ekseninde koşulur, diğer eksenler sabit tutulur. Ağ türü ekseni yalnız ağ türüne bakan kararlar için açılır: örneğin mobil operatör üzerinden faturalama seçeneği yalnız mobil çıkışla anlam kazanır. Oturum ekseni, akış testlerinde sticky, örnekleme testlerinde rotating olarak sabitlenir ve çarpım yerine toplam olur.
Sonuçta çoğu uygulama için sürüm başına koşulan hücre sayısı ülke sayısının birkaç katıdır. Geri kalan hücreler yalnız ilgili özellik değiştiğinde koşulur ve matris dosyasında hangi hücrenin hangi özelliğe bağlı olduğu yazılı durur.
Altı geo QA senaryosu
Fiyat ve para birimi: Aynı ürün sayfası her ülke çıkışından açılır; para birimi, vergi satırı ve yuvarlama kuralı beklenen değerle karşılaştırılır. En sık yakalanan hata, önbellekten dönen sayfanın ilk ülkenin para birimini sonraki ülkeye de göstermesidir.
Ödeme yöntemi listesi: Sepet adımında listelenen yöntemler ülke çıkışına göre kaydedilir. Ülkeye özgü bir yöntemin yanlış ülkede görünmesi ya da görünmesi gereken ülkede kaybolması bu senaryoda çıkar.
Dil yönlendirmesi: IP ülkesi ile cihaz dili uyumlu ve uyumsuz iki kombinasyonda açılış ekranı kaydedilir. Uyumsuz kombinasyon gerçek hayatta yaygındır: yurt dışında yaşayan Türkçe cihazlı kullanıcı gibi. Uygulamanın hangi sinyale öncelik verdiği belgelenir ve ürün kararıyla karşılaştırılır.
Bölgesel kampanya ve teklif: Belirli ülkelere açılmış kampanya, hem hedef ülkeden hem hedef dışı bir ülkeden kontrol edilir. İkinci kontrol daha önemlidir, çünkü kampanyanın hedef dışı ülkeye sızması, hedef ülkede görünmemesinden daha pahalıya mal olur.
Coğrafi kısıt mesajı: Uygulamanın belirli ülkelerde sunmadığı bir özellik, o ülkeden açılarak doğru kısıt mesajının çıkıp çıkmadığına bakılır. Mesajın dili, yönlendirme bağlantısı ve geri dönüş yolu kaydedilir. Bu senaryo yalnız kendi uygulamanızın kısıtlarını test etmek içindir.
Yavaş ve uzak ağ davranışı: Uzak bir ülke çıkışı ve mobil ağ türüyle açılış süresi, yeniden deneme davranışı ve zaman aşımı mesajları gözlenir. Proxy gerçek bir mobil ağın gecikmesini birebir vermez; yalnız ağ türü sinyalini ve ek gecikmeyi verir, bu sınır raporda belirtilir.
Oturum sabitliği: test boyunca adres neden değişmemeli?
Bir akış testi, açılıştan ödeme onayına kadar onlarca istek üretir. Her istekte adres değişirse sunucu akışın ortasında farklı bir ülke görür, sepet para birimi değişir, oturum doğrulaması tetiklenir ve test gerçek bir kullanıcıda olmayacak bir hatayla başarısız olur. Bu yüzden akış testleri sticky oturumla koşulur: test başlangıcında bir oturum kimliği üretilir, proxy kullanıcı adına eklenir ve test bitene kadar aynı adres korunur. Oturum süresi ürün tarafında sınırlıdır; uzun akışlar için testin toplam süresi bu sınırın altında tutulur ya da akış mantıklı bir noktadan ikiye bölünür. Aralık seçimi rotasyon aralığı rehberinde ayrıntılı anlatılır.
Rotating mod ise örnekleme testlerinde kullanılır: açılış ekranının yüz farklı adresten nasıl göründüğü, ülke içi şehir dağılımının fiyat gösterimini değiştirip değiştirmediği ya da yük dengeleyicinin farklı adresleri farklı sunuculara düşürüp düşürmediği gibi sorular. Burada her istek bağımsızdır ve adres değişimi istenen davranıştır.
İki mod aynı test koşusunda karışmaz. Test tanımında oturum modeli açıkça yazılır ve koşu raporunda her isteğin çıkış adresi kaydedilir; aynı testte iki farklı adres görülmesi, oturum sınırının aşıldığına ya da oturum parametresinin düşürüldüğüne işarettir.
CI içinde proxy: test başına yapılandırma ve ilk istek
Sürekli entegrasyon ortamında proxy, tüm sürece değil tek tek test senaryolarına bağlanır. Her senaryo kendi proxy adresini, ülke parametresini ve oturum kimliğini test tanımından alır; böylece aynı koşuda beş ülke beş ayrı senaryo olarak koşar ve hangi ülkenin hangi adımda bozulduğu raporda ayrı görünür. Kimlik bilgileri sürecin gizli değişkenlerinde tutulur, test dosyasına ve loglara yazılmaz.
Her senaryonun ilk isteği, uygulamaya değil çıkış adresini döndüren bir uç noktaya gider. Dönen adres ve ülke, senaryonun beklediği ülkeyle karşılaştırılır; eşleşmiyorsa senaryo daha başlamadan durur. Bu tek istek, en sık görülen iki hatayı erkenden yakalar: ülke parametresinin yanlış yazılması ve proxy ayarının o istemciye hiç uygulanmaması.
Senaryonun son adımı, kendi sunucunuzun logundan aynı oturum kimliğiyle gelen istekleri çekip çıkış adresini ve sunucunun o adrese atadığı ülkeyi okumaktır. Sunucunun gördüğü ülke ile proxy’nin bildirdiği ülke farklıysa sorun uygulamada değil, sunucunun kullandığı konum veritabanındadır; bu bulgu da raporda ayrı bir satırdır.
Emülatör ve gerçek cihaz: trafik gerçekten proxy’den geçiyor mu?
Web testlerinde proxy tarayıcıya ya da test aracına verilir ve tüm istekler geçer. Mobil uygulamalarda durum farklıdır: emülatörün ağ ayarına yazılan proxy, işletim sisteminin HTTP kütüphanesini kullanan istekleri yönlendirir; kendi soket bağlantısını açan kütüphaneler, bazı video oynatıcılar ve üçüncü taraf SDK’lar bu ayarı yok sayabilir. Uygulamanın bir kısmı proxy’den, bir kısmı doğrudan çıkıyorsa sunucu aynı oturumda iki ülke görür.
Doğrulama için iki yol vardır. Birincisi, sunucu logunda senaryo boyunca gelen tüm isteklerin kaynak adresine bakmaktır; proxy dışı adres görülüyorsa hangi uç noktanın proxy’yi atladığı oradan okunur. İkincisi, emülatörün ya da cihazın tüm trafiğini proxy’ye zorlayan sistem düzeyinde bir yönlendirme kullanmaktır; bu yöntem uygulamanın ayarını değil cihazın ağ katmanını değiştirdiği için SDK trafiğini de kapsar.
Sertifika sabitleme kullanan uygulamalar HTTPS trafiğini proxy üzerinden sorunsuz geçirir, çünkü proxy tüneli açar ve içeriğe dokunmaz; sabitleme yalnız trafiği çözmeye çalışan araçları engeller. Test için trafiği çözmeye gerek yoktur; doğruluk sunucu logundan okunur.
Rapor alanları ve ürün seçimi
Her senaryo koşusu şu alanlarla kaydedilir: senaryo adı, beklenen ülke, proxy’nin bildirdiği çıkış adresi ve ülkesi, sunucunun gördüğü ülke, ağ türü, oturum kimliği, cihazdan ayarlanan beş sinyalin değerleri, uygulama sürümü, başlangıç ve bitiş zamanı, sonuç. Bu alanlar olmadan başarısız bir test, proxy hatası ile uygulama hatası arasında ayrım yapılamayan bir kayıt olarak kalır.
Ürün seçimi senaryoya göre yapılır. Sunucu tarafı ülke kararları için rotating IPv4 datacenter yeterlidir ve en düşük maliyetlidir; 10 GB paketi 6 USD’dir. Sunucunuz ya da kullandığınız servisler ağ türüne göre davranış değiştiriyorsa rotating IPv4 residential kullanılır; 10 GB 12 USD’dir. Operatör ağına bağlı özellikler ve mobil reklam akışları için rotating mobile seçilir; 10 GB 25 USD’dir. Üç ürün de aynı on beş ülkeyi listeler ve paketlerin süre sınırı yoktur; kalan kota bir sonraki sürüme devreder.
Tüketim hesabı için varsayım açıkça yazılır: bir akış testi 2 MB trafik üretiyor olsun. Beş ülke ve günde üç koşu, ayda yaklaşık 900 MB eder; en küçük paket bile birkaç aya yeter. Rapora katkısı olmayan görsel ve video indirmeleri test istemcisinde engellenerek tüketim daha da düşürülür. Hangi ağ türünün hangi işte fark yarattığı ağ türü karşılaştırma rehberinde, ülke filtresinin havuz davranışı ülke seçimi rehberinde anlatılır.
Sık sorulan sorular
Proxy ile uygulama testinde VPN yerine neden proxy? Test senaryosu başına farklı ülke ve oturum, tek cihazda aynı anda koşabilmelidir; proxy istemci ya da senaryo düzeyinde ayarlanır, VPN ise cihazın tamamını tek ülkeye bağlar. CI içinde paralel koşu için proxy gerekir.
Şehir düzeyinde test yapılabilir mi? Ülke filtresi ürün parametresiyle verilir; şehir dağılımı havuza bağlıdır ve ülke içinde hangi şehirlerin görüleceği önceden taahhüt edilmez. Şehre bağlı bir karar test ediliyorsa, rotating modda örnekleme yapılır ve sunucunun gördüğü şehir dağılımı raporlanır.
Uygulama mağazasının ülke kısıtını proxy ile aşabilir miyim? Hayır ve bu amaçla kullanılmamalıdır. Mağaza ülkesi hesap verisidir, IP ile değişmez; uygulamanın mağaza listesini test etmek için mağazanın kendi test ve dağıtım araçları kullanılır.
Sunucu logunda proxy ülkesi ile farklı bir ülke görüyorum; hangisi doğru? Proxy’nin bildirdiği ülke, adresin kayıtlı ülkesidir; sunucunuzun gördüğü ülke, kullandığı konum veritabanının o adres için verdiği cevaptır. İkisi farklıysa veritabanı güncel değildir ya da sağlayıcısına göre farklı okur; gerçek kullanıcılar için de aynı fark oluşacağından bu bulgu uygulama ekibine iletilir.
