Middle+
Rääkige juhtumitest, kus mobiilirakenduses kontrolliti uuesti ühendamist.
sobes.tech AI
Vastus AI-lt
Rekonnect testid kontrollivad, kuidas mobiilirakendus käitub kaotades ja seejärel taastades ühenduse serveri või teiste võrguteguritega:
Testimise stsenaariumid:
- Võrgu vahetamine:
- Wi-Fi -> Mobiilne internet (LTE/5G):
- Mobiilne internet (LTE/5G) -> Wi-Fi:
- Wi-Fi (üks punkt) -> Wi-Fi (teine punkt):
- Signaali kadumine:
- Sisenemine katvusteta tsooni (lift, metroo):
- "Lennurežiimi" sisse- ja väljalülitamine:
- Võrgu liidese sunniviisiline väljalülitus (Wi-Fi, Cellular Data) seadme seadistustes:
- Serveri probleemid:
- API ajutine kättesaamatus:
- Serveri taaskäivitamine:
- Võrgu viivitused (simuleeritakse vaheseadmete kaudu):
Mida kontrollime:
- UI/UX käitumine:
- Laadimis- või veateatiste näitamine:
- Praeguse oleku säilitamine (nt lõpetamata sisestus, nimekiri positsioon):
- Teavituste õige kuvamine ühenduse kadumise/taastamise kohta:
- Rakenduse tõrkeid või "seiskumisi":
- Andmete terviklikkus:
- Ühenduse katkemise ajal saadetud/saadud andmed peavad olema õigesti töödeldud pärast taastamist:
- Kohapeal salvestatud andmed peavad olema sünkroniseeritavad serveriga:
- Korduvad katsed (Retry Logic):
- Rakendusel peab olema korduvkatsete loogika koos eksponentsiaalse viivitusega (backoff):
- Korduvkatsete arv ja ootamise aeg peavad olema piiratud:
- Sessioonide haldus:
- Kasutaja sessioon peab säilima või õigesti taastuma ilma sunnitud välja logimata:
Tööriistad ja tehnoloogiad:
- Võrgu vaheseadmed: Charles Proxy, Fiddler. Võimaldavad simuleerida viivitusi, pakettide kadu, päringute blokeerimist:
- Võrgu utiliidid: Brauseri arendustööriistad (veebiview), spetsialiseeritud mobiilse liikluse kontrolli utiliidid:
- "Lennurežiim": Lihtne viis simuleerida täielikku ühenduse kadumist:
- Võrgu liidese väljalülitus: Seadme süsteemse seadistuse kaudu:
- Võrgu emulaatorid: Tööriistad, mis võimaldavad simuleerida erinevaid võrgu tingimusi (kiirus, viivitus, pakettide kadu):
- Automatiseerimine: Kasutades Appium, Espresso (Android), XCUITest (iOS) stsenaariumite automatiseerimiseks, võrgu vahetamiseks või süsteemifunktsioonide (lennurežiimi sisse/välja) kutsumiseks:
// Näide automatiseeritud rekonekstesti kasutades Appium (Python)
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android',
'deviceName': 'Android Emulator', # või reaalne seade
'appPackage': 'com.yourapp.package',
'appActivity': 'com.yourapp.MainActivity',
'automationName': 'UiAutomator2'
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
try:
// Tehke tegevusi, mis nõuavad võrku
driver.find_element_by_accessibility_id("some_button").click()
time.sleep(5) # oodake andmete laadimist
// Lülitage sisse "Lennurežiim"
driver.open_notifications()
driver.find_element_by_accessibility_id("Airplane mode").click()
driver.back() # sulge teavitused
print("Airplane mode ON")
time.sleep(10) # oodake ühenduse kaotust
// Püüdke teha võrgu tegevust
driver.find_element_by_accessibility_id("another_button").click()
// Kontrollige veateate või võrgu puudumise indikaatorit
// Lülitage välja "Lennurežiim"
driver.open_notifications()
driver.find_element_by_accessibility_id("Airplane mode").click()
driver.back() # sulge teavitused
print("Airplane mode OFF")
time.sleep(10) # oodake ühenduse taastumist
// Kontrollige funktsionaalsuse taastumist ja andmete õigsust
// ... assert-väited ...
except Exception as e:
print(f"Error: {e}")
finally:
driver.quit()
Rekonnect testimine on kriitiline mobiilirakenduse stabiilsuse ja usaldusväärsuse tagamiseks ebastabiilsetes võrgutingimustes.