Middle+
Αναφέρετε περιπτώσεις ελέγχου επανασύνδεσης στην κινητή εφαρμογή.
sobes.tech AI
Απάντηση από AI
Οι δοκιμές επανασύνδεσης ελέγχουν πώς συμπεριφέρεται η κινητή εφαρμογή κατά την απώλεια και την επαναφορά της σύνδεσης με τον διακομιστή ή άλλους δικτυακούς πόρους.
Σενάρια δοκιμών:
- Μεταγωγή δικτύου:
- Wi-Fi -> Κινητό διαδίκτυο (LTE/5G).
- Κινητό διαδίκτυο (LTE/5G) -> Wi-Fi.
- Wi-Fi (ένα σημείο) -> Wi-Fi (άλλο σημείο).
- Απώλεια σήματος:
- Είσοδος σε περιοχή χωρίς κάλυψη (ανελκυστήρας, μετρό).
- Ενεργοποίηση/απενεργοποίηση λειτουργίας "Πτήση".
- Εξαναγκαστική απενεργοποίηση δικτυακών διεπαφών (Wi-Fi, Κινητά Δεδομένα) μέσω ρυθμίσεων συσκευής.
- Προβλήματα στον διακομιστή:
- Προσωρινή μη διαθεσιμότητα API.
- Επανεκκίνηση διακομιστή.
- Καθυστερήσεις δικτύου (εξομοίωση με διαμεσολαβητές).
Τι ελέγχουμε:
- Συμπεριφορά UI/UX:
- Εμφάνιση δεικτών φόρτωσης ή σφαλμάτων.
- Διατήρηση τρέχουσας κατάστασης χρήστη (π.χ., μη ολοκληρωμένη εισαγωγή, θέση στη λίστα).
- Ορθή εμφάνιση ειδοποιήσεων για απώλεια/επαναφορά σύνδεσης.
- Χωρίς σφάλματα ή "πάγωμα" της εφαρμογής.
- Ακεραιότητα δεδομένων:
- Τα δεδομένα που αποστέλλονται/λαμβάνονται κατά τη διάρκεια διακοπής πρέπει να διαχειρίζονται σωστά μετά την επαναφορά.
- Τα τοπικά αποθηκευμένα δεδομένα πρέπει να συγχρονίζονται με τον διακομιστή.
- Επαναληπτικές προσπάθειες (Retry Logic):
- Η εφαρμογή πρέπει να διαθέτει λογική επαναπροσπάθειας αποστολής αιτημάτων με εκθετική καθυστέρηση (backoff).
- Όρια στον αριθμό των επαναπροσπαθειών και τον χρόνο αναμονής.
- Διαχείριση συνεδριών:
- Η συνεδρία χρήστη πρέπει να διατηρείται ή να επαναφέρεται σωστά χωρίς αναγκασική έξοδο.
Εργαλεία και τεχνικές:
- Προξυ-διακομιστές δικτύου: Charles Proxy, Fiddler. Επιτρέπουν την προσομοίωση καθυστερήσεων, απώλειας πακέτων, αποκλεισμού αιτημάτων.
- Εργαλεία δικτύου: Εργαλεία ανάπτυξης σε browser (για webview), εξειδικευμένα εργαλεία κινητής για έλεγχο κυκλοφορίας.
- Λειτουργία "Πτήση": Απλός τρόπος προσομοίωσης πλήρους απώλειας σύνδεσης.
- Απενεργοποίηση δικτυακών διεπαφών: Μέσω ρυθμίσεων συστήματος συσκευής.
- Εξομοιωτές δικτύου: Εργαλεία που επιτρέπουν την προσομοίωση διαφόρων συνθηκών δικτύου (ταχύτητα, καθυστέρηση, απώλεια πακέτων).
- Αυτοματισμός: Χρήση Appium, Espresso (Android), XCUITest (iOS) για αυτοματοποίηση σεναρίων με εναλλαγή δικτύων ή κλήση λειτουργιών συστήματος (ενεργοποίηση/απενεργοποίηση λειτουργίας "Πτήση").
// Παράδειγμα αυτοματοποίησης δοκιμής επανασύνδεσης με Appium (Python)
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android',
'deviceName': 'Android Emulator', # Ή πραγματική συσκευή
'appPackage': 'com.yourapp.package',
'appActivity': 'com.yourapp.MainActivity',
'automationName': 'UiAutomator2'
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
try:
// Εκτελούμε ενέργειες που απαιτούν σύνδεση
driver.find_element_by_accessibility_id("some_button").click()
time.sleep(5) # Αναμονή για φόρτωση
// Ενεργοποιούμε λειτουργία "Πτήση"
driver.open_notifications()
driver.find_element_by_accessibility_id("Airplane mode").click()
driver.back() # Κλείσιμο ειδοποιήσεων
print("Λειτουργία Πτήση ΕΝΕΡΓΟΠΟΙΗΘΗΚΕ")
time.sleep(10) # Αναμονή για απώλεια σύνδεσης
// Προσπαθούμε να εκτελέσουμε δικτυακή ενέργεια
driver.find_element_by_accessibility_id("another_button").click()
// Ελέγχουμε την εμφάνιση δείκτη σφάλματος/έλλειψης δικτύου
// Απενεργοποιούμε λειτουργία "Πτήση"
driver.open_notifications()
driver.find_element_by_accessibility_id("Airplane mode").click()
driver.back() # Κλείσιμο ειδοποιήσεων
print("Λειτουργία Πτήση ΑΝΕΝΕΡΓΟΠΟΙΗΘΗΚΕ")
time.sleep(10) # Αναμονή για επαναφορά σύνδεσης
// Ελέγχουμε την επαναφορά λειτουργικότητας και την ορθότητα δεδομένων
// ... δηλώσεις assert ...
except Exception as e:
print(f"Σφάλμα: {e}")
finally:
driver.quit()
Η δοκιμή επανασύνδεσης είναι κρίσιμη για την εξασφάλιση σταθερότητας και αξιοπιστίας της κινητής εφαρμογής υπό ασταθή δικτυακό περιβάλλον.