Sobes.tech
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.