Sobes.tech
Middle+

Meséljen az újracsatlakozás ellenőrzésének eseteiről a mobil alkalmazásban.

sobes.tech MI

Válasz az MI-től

Az újracsatlakozási tesztek azt vizsgálják, hogy a mobilalkalmazás hogyan viselkedik a szerver vagy más hálózati erőforrásokkal való kapcsolat elvesztése és helyreállítása során.

Teszt szcenáriók:

  • Hálózati váltások:
    • Wi-Fi -> Mobil internet (LTE/5G).
    • Mobil internet (LTE/5G) -> Wi-Fi.
    • Wi-Fi (egy pont) -> Wi-Fi (másik pont).
  • Jelvesztés:
    • Belépés olyan zónába, ahol nincs lefedettség (lift, metró).
    • Repülő mód aktiválása/deaktiválása.
    • A hálózati interfészek kényszerített kikapcsolása (Wi-Fi, Mobil adatok) a készülék beállításaiból.
  • Szerver problémák:
    • API ideiglenes elérhetetlensége.
    • Szerver újraindítása.
    • Hálózati késleltetések (proxy-k segítségével szimulálva).

Mit ellenőrzünk:

  • UI/UX viselkedés:
    • Betöltési vagy hibajelzők megjelenítése.
    • A felhasználó aktuális állapotának megőrzése (pl. beviteli folyamat, lista pozíciója).
    • A kapcsolat elvesztéséről vagy helyreállításáról szóló értesítések helyes megjelenítése.
    • Hiba vagy "lefagyás" nélküli alkalmazás működés.
  • Adatok integritása:
    • A megszakítás idején küldött/kapott adatok helyesen kezelendők a helyreállítás után.
    • A helyben tárolt adatok szinkronizálása a szerverrel.
  • Újrapróbálkozások (Retry Logic):
    • Az alkalmazásnak rendelkeznie kell újrapróbálkozási logikával, exponenciális késleltetéssel (backoff).
    • A próbálkozások számának és a várakozási időnek korlátai.
  • Ügyfélkezelés:
    • A felhasználói munkamenet meg kell, hogy maradjon vagy helyesen kell helyreálljon, kényszerített kijelentkezés nélkül.

Eszközök és technikák:

  • Hálózati proxy-k: Charles Proxy, Fiddler. Lehetővé teszik késleltetések, csomagveszteség szimulálását, kérések blokkolását.
  • Hálózati eszközök: Fejlesztői eszközök böngészőben (webview-hez), speciális mobil eszközök a forgalom ellenőrzéséhez.
  • "Repülő mód" mód: Egyszerű módszer a teljes kapcsolatvesztés szimulálására.
  • Hálózati interfészek kikapcsolása: A készülék rendszerbeállításain keresztül.
  • Hálózati emulátorok: Olyan eszközök, amelyek különböző hálózati körülményeket (sebesség, késleltetés, csomagveszteség) szimulálnak.
  • Automatizálás: Appium, Espresso (Android), XCUITest (iOS) használata hálózati váltások vagy rendszerfunkciók (pl. Repülő mód bekapcsolása/kikapcsolása) automatizálására.
// Példa az automatikus újracsatlakozási teszt automatizálására Appium segítségével (Python)

from appium import webdriver
import time

desired_caps = {
    'platformName': 'Android',
    'deviceName': 'Android Emulator', # vagy valódi eszköz
    'appPackage': 'com.yourapp.package',
    'appActivity': 'com.yourapp.MainActivity',
    'automationName': 'UiAutomator2'
}

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

try:
    // Olyan műveletek végrehajtása, amelyek hálózatot igényelnek
    driver.find_element_by_accessibility_id("some_button").click()
    time.sleep(5) # Várakozás betöltésre

    // Repülő mód aktiválása
    driver.open_notifications()
    driver.find_element_by_accessibility_id("Airplane mode").click()
    driver.back() # Értesítések bezárása
    print("Repülő mód BE")
    time.sleep(10) # Várakozás a kapcsolat elvesztésére

    // Hálózati művelet próbálása
    driver.find_element_by_accessibility_id("another_button").click()
    // Hibajelző vagy hálózati hiány megjelenésének ellenőrzése

    // Repülő mód kikapcsolása
    driver.open_notifications()
    driver.find_element_by_accessibility_id("Airplane mode").click()
    driver.back() # Értesítések bezárása
    print("Repülő mód KI")
    time.sleep(10) # Kapcsolat helyreállításának várása

    // Funkcionalitás és adatok helyességének ellenőrzése
    // ... assert állítások ...

except Exception as e:
    print(f"Hiba: {e}")

finally:
    driver.quit()

Az újracsatlakozási teszt kritikus a mobilalkalmazás stabilitásának és megbízhatóságának biztosításában instabil hálózati környezetben.