Middle+
Mobil uygulamada yeniden bağlantı kontrolü vakalarını anlatın.
sobes.tech yapay zeka
AI'dan gelen yanıt
Rekonekt testleri, mobil uygulamanın sunucu veya diğer ağ kaynaklarıyla bağlantısını kaybettiğinde ve sonra yeniden kurduğunda nasıl davrandığını kontrol eder.
Test senaryoları:
- Ağ değişimi:
- Wi-Fi -> Mobil internet (LTE/5G).
- Mobil internet (LTE/5G) -> Wi-Fi.
- Wi-Fi (bir nokta) -> Wi-Fi (başka bir nokta).
- Sinyal kaybı:
- Kapsama alanı olmayan bölgeye giriş (asansör, metro).
- Uçak modu etkinleştir veya devre dışı bırak.
- Cihaz ayarları aracılığıyla ağ arayüzlerini zorla devre dışı bırak.
- Sunucu sorunları:
- API geçici olarak kullanılamıyor.
- Sunucu yeniden başlatılıyor.
- Ağ gecikmeleri (proxy kullanılarak simüle edilir).
Neleri kontrol ediyoruz:
- UI/UX Davranışı:
- Yükleme veya hata göstergeleri.
- Kullanıcının mevcut durumu (örneğin, tamamlanmamış giriş, liste konumu).
- Bağlantı kaybı/yeniden bağlantı bildirimlerinin doğru gösterimi.
- Uygulamada çökme veya "kilitlenme" olmaması.
- Veri bütünlüğü:
- Bağlantı koparken gönderilen/alınan veriler, geri yüklemeden sonra doğru şekilde işlenmelidir.
- Yerel olarak saklanan veriler sunucu ile senkronize edilmelidir.
- Yeniden deneme (Retry) mantığı:
- Uygulama, üssel gecikmeli tekrar deneme mantığına sahip olmalıdır.
- Tekrar deneme sayısı ve bekleme süresi sınırlandırılmalı.
- Oturum yönetimi:
- Kullanıcı oturumu kaydedilmeli veya doğru şekilde geri yüklenmelidir, zorunlu çıkış olmadan.
Kullanılan araçlar ve teknikler:
- Ağ proxyleri: Charles Proxy, Fiddler. Gecikmeleri, paket kaybını, istekleri engellemeyi simüle ederler.
- Ağ araçları: Tarayıcı geliştirme araçları (webview için), trafik kontrolü için özel mobil araçlar.
- "Uçak modu": Bağlantının tamamen kaybını simüle etmenin basit yolu.
- Ağ arayüzlerini devre dışı bırakma: Cihazın sistem ayarları aracılığıyla.
- Ağ emülatörleri: Farklı ağ koşullarını (hız, gecikme, paket kaybı) simüle etmeye imkan tanıyan araçlar.
- Otomasyon: Appium, Espresso (Android), XCUITest (iOS) kullanarak ağ değişimi veya sistem fonksiyonlarını çağırma (Uçak modunu aç/kapa) otomasyonu.
// Appium kullanarak rekonekt test otomasyon örneği (Python)
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android',
'deviceName': 'Android Emulator', # veya gerçek cihaz
'appPackage': 'com.yourapp.package',
'appActivity': 'com.yourapp.MainActivity',
'automationName': 'UiAutomator2'
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
try:
// Ağ gerektiren işlemleri yap
driver.find_element_by_accessibility_id("some_button").click()
time.sleep(5) # Veri yüklenmesini bekle
// Uçak modunu etkinleştir
driver.open_notifications()
driver.find_element_by_accessibility_id("Airplane mode").click()
driver.back() # Bildirimleri kapat
print("Uçak modu AÇIK")
time.sleep(10) # Bağlantı kaybını bekle
// Ağ işlemi yapmaya çalış
driver.find_element_by_accessibility_id("another_button").click()
// Hata veya ağ yok bildirimi gösterimini kontrol et
// Uçak modunu devre dışı bırak
driver.open_notifications()
driver.find_element_by_accessibility_id("Airplane mode").click()
driver.back() # Bildirimleri kapat
print("Uçak modu KAPALI")
time.sleep(10) # Bağlantı yeniden sağlanmasını bekle
// İşlevselliğin ve verilerin doğru şekilde geri yüklendiğini kontrol et
// ... assert ifadeleri ...
except Exception as e:
print(f"Hata: {e}")
finally:
driver.quit()
Rekonekt testi, istikrarlı ve güvenilir bir mobil uygulama sağlamak için kritik öneme sahiptir.