Middle+
Ispričajte slučajeve provjere ponovnog povezivanja u mobilnoj aplikaciji.
sobes.tech АИ
Одговор од АИ
Testovi ponovnog povezivanja proveravaju kako se mobilna aplikacija ponaša pri gubitku i ponovnom uspostavljanju veze sa serverom ili drugim mrežnim resursima.
Scenariji testiranja:
- Prebacivanje mreže:
- Wi-Fi -> Mobilni internet (LTE/5G).
- Mobilni internet (LTE/5G) -> Wi-Fi.
- Wi-Fi (jedna tačka) -> Wi-Fi (druga tačka).
- Gubitak signala:
- Ulazak u zonu bez pokrivenosti (lift, metro).
- Uključivanje/isključivanje režima "Avion".
- Prisilno isključivanje mrežnih interfejsa (Wi-Fi, Mobilni podaci) putem podešavanja uređaja.
- Problemi na serveru:
- Privremena nedostupnost API-ja.
- Restartovanje servera.
- Kašnjenja u mreži (simulirana proxy serverima).
Šta proveravamo:
- Ponašanje UI/UX:
- Prikaz indikatora učitavanja ili grešaka.
- Čuvanje trenutnog stanja korisnika (npr. nedovršeni unos, pozicija u listi).
- Ispravno prikazivanje obaveštenja o gubitku/obnovi veze.
- Bez padova ili "zamrzavanja" aplikacije.
- Integritet podataka:
- Podaci koji su bili u procesu slanja/prijema tokom prekida moraju biti pravilno obrađeni nakon obnove.
- Lokalno sačuvani podaci moraju biti sinhronizovani sa serverom.
- Ponavljajući pokušaji (Retry Logic):
- Aplikacija mora imati logiku ponovnih pokušaja slanja zahteva sa eksponencijalnim odlaganjem (backoff).
- Limiti na broj ponovnih pokušaja i vreme čekanja.
- Upravljanje sesijama:
- Korisnička sesija mora biti sačuvana ili pravilno obnovljena bez prinudnog odjavljivanja.
Alati i tehnike:
- Mrežni proxy-ji: Charles Proxy, Fiddler. Omogućavaju simulaciju kašnjenja, gubitka paketa, blokiranje zahteva.
- Mrežni alati: Alati za razvoj u pregledaču (za webview), specijalizovani mobilni alati za kontrolu saobraćaja.
- Režim "Avion": Jednostavan način za simulaciju potpune gubitka veze.
- Isključivanje mrežnih interfejsa: Kroz sistemska podešavanja uređaja.
- Emulatori mreže: Alati koji omogućavaju simulaciju različitih mrežnih uslova (brzina, kašnjenje, gubitak paketa).
- Automatizacija: Korišćenje Appium, Espresso (Android), XCUITest (iOS) za automatizaciju scenarija sa prebacivanjem mreža ili pozivanjem sistemskih funkcija (uključivanje/isključivanje režima "Avion").
// Primer automatizacije testa ponovnog povezivanja korišćenjem Appium (Python)
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android',
'deviceName': 'Android Emulator', # Ili pravi uređaj
'appPackage': 'com.yourapp.package',
'appActivity': 'com.yourapp.MainActivity',
'automationName': 'UiAutomator2'
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
try:
// Izvršavanje radnji koje zahtevaju mrežu
driver.find_element_by_accessibility_id("some_button").click()
time.sleep(5) # Čekanje na učitavanje
// Uključivanje režima "Avion"
driver.open_notifications()
driver.find_element_by_accessibility_id("Airplane mode").click()
driver.back() # Zatvaranje obaveštenja
print("Režim "Avion" UKLJUČEN")
time.sleep(10) # Čekanje na gubitak veze
// Pokušaj izvršenja mrežne radnje
driver.find_element_by_accessibility_id("another_button").click()
// Provera prikaza indikatora greške/nedostatka mreže
// Isključivanje režima "Avion"
driver.open_notifications()
driver.find_element_by_accessibility_id("Airplane mode").click()
driver.back() # Zatvaranje obaveštenja
print("Režim "Avion" ISKLJUČEN")
time.sleep(10) # Čekanje na obnavljanje veze
// Provera obnavljanja funkcionalnosti i tačnosti podataka
// ... assert izjave ...
except Exception as e:
print(f"Greška: {e}")
finally:
driver.quit()
Testiranje ponovnog povezivanja je ključno za obezbeđivanje stabilnosti i pouzdanosti mobilne aplikacije u uslovima nestabilne mrežne okoline.