Sobes.tech
Middle+

Pastāstiet par gadījumiem, kad pārbaudīta atkārtota savienojuma iespēja mobilajā lietotnē.

sobes.tech AI

Atbilde no AI

Rekonnect testi pārbauda, kā mobilā lietotne darbojas zaudējot un pēc tam atjaunojot savienojumu ar serveri vai citiem tīkla resursiem:

Testēšanas scenāriji:

  • Tīkla pārslēgšana:
    • Wi-Fi -> Mobilais internets (LTE/5G):
    • Mobilais internets (LTE/5G) -> Wi-Fi:
    • Wi-Fi (viens punkts) -> Wi-Fi (cits punkts):
  • Signāla zudums:
    • Ieeja zonā bez pārklājuma (lifts, metro):
    • "Lidojuma režīma" ieslēgšana/izslēgšana:
    • Tīkla interfeisa piespiedu izslēgšana (Wi-Fi, Cellular Data) ierīces iestatījumos:
  • Servera problēmas:
    • API pagaidu nepieejamība:
    • Servera pārstartēšana:
    • Tīkla aizkaves (simulācija ar starpniekserveriem):

Ko mēs pārbaudām:

  • UI/UX uzvedība:
    • Ielādes vai kļūdas indikatoru parādīšana:
    • Pašreizējā stāvokļa saglabāšana (piemēram, nepabeigta ievade, saraksta pozīcija):
    • Paziņojumu par zaudētu/atjaunotu savienojumu pareiza parādīšana:
    • Programmas avārijas vai "iestrēgšanas":
  • Datu integritāte:
    • Dati, kas tika nosūtīti/saņemti pār pārtraukumu, ir pareizi apstrādāti pēc atjaunošanas:
    • Lokāli saglabātie dati ir sinhronizējami ar serveri:
  • Atkārtotie mēģinājumi (Retry Logic):
    • Lietotnei jābūt atkārtoto mēģinājumu loģikai ar eksponenciālu aizkavi (backoff):
    • Ierobežojumi atkārtoto mēģinājumu skaitam un gaidīšanas laikam:
  • Sesijas pārvaldība:
    • Lietotāja sesija jāglabā vai pareizi jāatjauno bez obligāta pieteikšanās izrakstīšanās:

Rīki un tehnoloģijas:

  • Tīkla starpniekserveri: Charles Proxy, Fiddler. Ļauj simulēt aizkaves, paketes zudumu, bloķēt pieprasījumus:
  • Tīkla utilītas: Pārlūkprogrammas izstrādes rīki (webview), specializētas mobilo datu plūsmas kontroles utilītas:
  • "Lidojuma režīms": Vienkāršs veids, kā simulēt pilnīgu savienojuma zudumu:
  • Tīkla interfeisa atslēgšana: Caur ierīces sistēmas iestatījumiem:
  • Tīkla emulatori: Rīki, kas ļauj simulēt dažādus tīkla apstākļus (ātrums, aizkave, paketes zudums):
  • Automatizācija: Izmantojot Appium, Espresso (Android), XCUITest (iOS) scenāriju automatizācijai, tīkla pārslēgšanai vai sistēmas funkciju (ieslēgt/izslēgt lidojuma režīmu):
// Piemērs automatizētā testa rekonekta ar Appium (Python)

from appium import webdriver
import time

desired_caps = {
    'platformName': 'Android',
    'deviceName': 'Android Emulator', # vai reāls ierīce
    'appPackage': 'com.yourapp.package',
    'appActivity': 'com.yourapp.MainActivity',
    'automationName': 'UiAutomator2'
}

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

try:
    // Veiciet darbības, kas prasa tīklu
    driver.find_element_by_accessibility_id("some_button").click()
    time.sleep(5) # gaidīt datu ielādi

    // Ieslēgt "Lidojuma režīmu"
    driver.open_notifications()
    driver.find_element_by_accessibility_id("Airplane mode").click()
    driver.back() # aizvērt paziņojumus
    print("Airplane mode ON")
    time.sleep(10) # gaidīt zaudēšanas savienojumu

    // Mēģināt veikt tīkla darbību
    driver.find_element_by_accessibility_id("another_button").click()
    // Pārbaudīt kļūdas vai tīkla trūkuma indikatoru

    // Izslēgt "Lidojuma režīmu"
    driver.open_notifications()
    driver.find_element_by_accessibility_id("Airplane mode").click()
    driver.back() # aizvērt paziņojumus
    print("Airplane mode OFF")
    time.sleep(10) # gaidīt savienojuma atjaunošanos

    // Pārbaudīt funkcionalitātes atjaunošanu un datu pareizību
    // ... assert apgalvojumi ...

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

finally:
    driver.quit()

Rekonnect testēšana ir ļoti svarīga, lai nodrošinātu mobilās lietotnes stabilitāti un uzticamību nestabilu tīkla apstākļos.