Δοκιμή απόδοσης εφαρμογής για κινητά

⚡ Έξυπνη Σύνοψη

Οι δοκιμές απόδοσης εφαρμογών για κινητά μετρούν την ταχύτητα εκκίνησης μιας εφαρμογής, την κατανάλωση μπαταρίας και μνήμης, την ταχύτητα απόκρισης των API της και την ομαλή συμπεριφορά της σε αναξιόπιστα δίκτυα.

  • 🔘 Τρεις κατηγορίες: Η απόδοση της συσκευής, η απόδοση του διακομιστή ή του API και η απόδοση του δικτύου καλύπτουν από κοινού κάθε σημείο συμφόρησης για κινητά.
  • ☑️ Σήματα συσκευής: Ο χρόνος εκκίνησης, η εξάντληση της μπαταρίας, η κατανάλωση μνήμης, η διακύμανση υλικού και η επαναφορά φόντου είναι οι βασικοί έλεγχοι της συσκευής.
  • Σήματα διακομιστή: Μέγεθος ωφέλιμου φορτίου, αριθμός κλήσεων API ανά ενέργεια και ένα τεκμηριωμένο σχέδιο ανακατεύθυνσης σε περίπτωση διακοπής λειτουργίας του διακομιστή.
  • 🧪 Σήματα δικτύου: Το τρεμούλιασμα, η απώλεια πακέτων και οι αλλαγές ταχύτητας πρέπει όλα να παράγουν ένα σαφές μήνυμα και όχι μια παγωμένη οθόνη.
  • Εργαλεία: Robotium, MonkeyRunner και Automator εμφανίζονται εδώ, αν και τα δύο πρώτα δεν συντηρούνται πλέον.
  • 📊 Ετοιμότητα: Μια λίστα ελέγχου που καλύπτει τη μνήμη RAM, τον χρόνο απόκρισης, την ταυτόχρονη λειτουργία και την αντοχή σε σφάλματα καθορίζει εάν μια έκδοση θα είναι έτοιμη.

Δοκιμή απόδοσης εφαρμογών για κινητά σε όλα τα επίπεδα συσκευών, διακομιστή και δικτύου

Για οποιαδήποτε εφαρμογή για κινητά, η απόδοση είναι πολύ σημαντική. Εάν η εφαρμογή σας για κινητά δεν αποδίδει καλά, ο τελικός χρήστης θα απεγκαταστήσει την εφαρμογή σας και θα βρει μια άλλη εφαρμογή που αποδίδει καλύτερα.

Η εφαρμογή για κινητά πρέπει να ελεγχθεί διεξοδικά πριν την κυκλοφορήσει στον τελικό χρήστη.

Στρατηγική δοκιμής εφαρμογών για κινητά

Η απόδοση της εφαρμογής σε ένα κινητό τηλέφωνο ή σε οποιαδήποτε έξυπνη συσκευή μετριέται συνήθως στις ακόλουθες τρεις κατηγορίες.

  • Απόδοση συσκευής
  • Απόδοση διακομιστή/API
  • Απόδοση δικτύου

Το παρακάτω διάγραμμα αντιστοιχίζει αυτά τα τρία επίπεδα με τους ελέγχους τους.

Έλεγχοι απόδοσης συσκευών, διακομιστή και δικτύου για γραφήματα στρατηγικής δοκιμών εφαρμογών για κινητά

Απόδοση συσκευής

Όταν ο πελάτης αντιμετωπίζει αργή εφαρμογή, ενοχλείται.

Για την απόδοση της συσκευής, θα ελέγξετε τα εξής:

  • Έναρξη εφαρμογής: Πόσος χρόνος χρειάζεται για να ξεκινήσει η εφαρμογή σας; Είναι η πρώτη παράμετρος απόδοσης που κρίνεται από τον χρήστη. Κατά κανόνα, αφού ο χρήστης πατήσει στο εικονίδιο της εφαρμογής, η πρώτη οθόνη θα πρέπει να εμφανίζεται σε 1-2 δευτερόλεπτα.
  • Διάρκεια μπαταρίας κατά τη χρήση μιας εφαρμογής: Με συνεχή χρήση, ορισμένες εφαρμογές για κινητά καταναλώνουν μεγάλη διάρκεια ζωής της μπαταρίας και υπερθερμαίνουν το τηλέφωνο. Αυτό συμβαίνει συνήθως όταν η εφαρμογή σας χρησιμοποιεί περισσότερους πόρους από τους απαιτούμενους, γεγονός που δημιουργεί επιβάρυνση στον επεξεργαστή.
  • Κατανάλωση μνήμης: Κατά τη Δοκιμές μια εφαρμογή, θα πρέπει να ελεγχθεί η κατανάλωση μνήμης από μια εφαρμογή. Με την εφαρμογή ορισμένων λειτουργιών στην εφαρμογή, αυξάνεται και η κατανάλωση μνήμης. Για παράδειγμα, σε Android εφαρμογές όταν εφαρμόζονται ειδοποιήσεις push, τότε η κατανάλωση μνήμης αυξάνεται.

    Σε ορισμένες περιπτώσεις, έχει παρατηρηθεί ότι η χρήση μνήμης από ολόκληρο το λειτουργικό σύστημα είναι μόλις 14%, αλλά μια νέα εφαρμογή καταναλώνει 11%. Επομένως, αυτοί οι παράγοντες πρέπει να αντιμετωπιστούν πριν από την ανάπτυξη της εφαρμογής στον πραγματικό κόσμο ή την παροχή στον πελάτη.

  • Παραλλαγή υλικού/λογισμικού: Κατά τη δοκιμή μιας εφαρμογής για κινητά, είναι υποχρεωτικό να ελέγχετε τις εφαρμογές σε διαφορετικές συσκευές. Θα μπορούσε να συμβαίνει ότι η εφαρμογή εκτελείται ομαλά σε μια συσκευή αλλά όχι σε άλλη. Όπως για διαφορετικούς προμηθευτές Android συσκευές, μπορούμε να ελέγξουμε την εφαρμογή σε τηλέφωνα Samsung, HTC και Lenovo. Ομοίως, η εφαρμογή πρέπει να ελεγχθεί με διαφορετικές προδιαγραφές RAM και επεξεργαστή, όπως 1 GB ή 2 GB.
  • Χρήση με άλλες εφαρμογές: Όταν η υπό δοκιμή εφαρμογή εκτελείται παράλληλα με άλλες εφαρμογές, δεν θα πρέπει να υπάρχουν παρεμβολές. Ο καλύτερος τρόπος για να το ελέγξετε είναι να αλλάξετε εφαρμογή υπό δοκιμή και άλλες εφαρμογές.
  • Εφαρμογή στο παρασκήνιο: Όταν ανακτάται μια εφαρμογή που εκτελείται στο παρασκήνιο, θα πρέπει να παραμένει στην ίδια κατάσταση που ήταν πριν. Εάν αυτό το σενάριο δεν αντιμετωπιστεί σωστά, τότε τα δεδομένα χάνονται. Σχετικές περιπτώσεις κύκλου ζωής καλύπτονται στο δοκιμή διακοπής.

Απόδοση διακομιστή/API

Όταν η εφαρμογή αλληλεπιδρά με τον διακομιστή μέσω API, ο χρόνος απόκρισης καθίσταται κρίσιμος για την απόδοση. Για την απόδοση του διακομιστή, θα ελέγξετε:

  • Δεδομένα προς και από τον διακομιστή: Η εφαρμογή θα πρέπει να χειρίζεται αποτελεσματικά τα δεδομένα που αποστέλλονται από τον διακομιστή. Δεν πρέπει να χρειάζεται πολύς χρόνος κατά τη φόρτωση των δεδομένων. Σε ορισμένες εφαρμογές, τα δεδομένα αποστέλλονται σε μια καθορισμένη μορφή, επομένως πριν εμφανιστούν στην εφαρμογή, θα πρέπει να μετατραπούν σε μια σχετική μορφή. Σε αυτήν τη διαδικασία, οι εφαρμογές μερικές φορές γίνονται πιο αργές και ο χρόνος απόκρισης μεγαλώνει.
  • Κλήσεις API που δημιουργούνται από την εφαρμογή: Ο αριθμός των κλήσεων από την εφαρμογή υπό δοκιμή προς τον διακομιστή που δημιουργείται από την εφαρμογή θα πρέπει να είναι μικρότερος. Σε ορισμένες περιπτώσεις, πραγματοποιούνται πολλαπλές κλήσεις API για την ίδια λειτουργία. Για καλύτερη απόδοση, αυτό θα πρέπει να αντιμετωπιστεί με μικρότερο αριθμό κλήσεων.
  • Χρόνος διακοπής λειτουργίας διακομιστή: Για οποιονδήποτε λόγο, εάν ο διακομιστής είναι εκτός λειτουργίας ή μη προσβάσιμος, μπορούμε να αποθηκεύσουμε δεδομένα στην εγγενή βάση δεδομένων. Έτσι, κάθε φορά που ο διακομιστής είναι εκτός λειτουργίας, μπορούμε να εμφανίσουμε δεδομένα που είναι αποθηκευμένα στην εγγενή βάση δεδομένων. Μια άλλη λύση θα μπορούσε να είναι οι διακομιστές βάσης δεδομένων με ανακατεύθυνση (failover), δηλαδή εάν ένας από τους διακομιστές είναι εκτός λειτουργίας ή βρίσκεται σε φάση συντήρησης, ο εφεδρικός διακομιστής θα πρέπει να είναι διαθέσιμος για εναλλαγή. Ο εφεδρικός διακομιστής/διακομιστής δημιουργίας αντιγράφων ασφαλείας θα πρέπει να βρίσκεται σε συνεχή αναπαραγωγή και συγχρονισμό με τον κύριο διακομιστή.

Απόδοση δικτύου

Η απόδοση της εφαρμογής σε διαφορετικά δίκτυα και ιδιότητες δικτύου πρέπει να μετρηθεί.

Για την απόδοση του δικτύου, θα ελέγξετε τα ακόλουθα.

  • Νευρικότητα: Όταν υπάρχει καθυστέρηση στη λήψη πληροφοριών στο δίκτυο, τότε ονομάζεται jitters. Είναι ένα πρόβλημα με τα δίκτυα χωρίς σύνδεση ή τα δίκτυα μεταγωγής πακέτων. Καθώς οι πληροφορίες διανέμονται σε πακέτα, τα πακέτα μπορούν να ταξιδέψουν από μια ανόμοια διαδρομή από τον αποστολέα στον παραλήπτη. Όταν τα δεδομένα φτάνουν στην προβλεπόμενη τοποθεσία, γίνονται κωδικοποιημένα από αυτά που στάλθηκαν αρχικά. Στην περίπτωση του Jitters, η εφαρμογή για κινητά θα πρέπει να είναι αρκετά ικανή να το χειριστεί.

    Πρέπει να εμφανίσετε τις κατάλληλες ειδοποιήσεις στον τελικό χρήστη, είτε για να στείλετε ξανά το αίτημα είτε για να περιμένετε μέχρι να απαντήσει ξανά το σύστημα.

  • Απώλεια πακέτων: Σε περίπτωση πλήρους απώλειας πακέτων, η εφαρμογή θα πρέπει να μπορεί να στείλει ξανά το αίτημα για τις πληροφορίες ή θα πρέπει να δημιουργήσει τις ειδοποιήσεις ανάλογα. Εάν τα δεδομένα δεν είναι πλήρη, τότε ο χρήστης δεν θα μπορεί να κατανοήσει τις πληροφορίες που εμφανίζονται στην εφαρμογή. Αυτό μπορεί να είναι αγχωτικό για τον χρήστη. Επομένως, είναι καλύτερο να εμφανίσετε ένα κατάλληλο μήνυμα ή να ζητήσετε από τον χρήστη να προσπαθήσει ξανά.
  • Ταχύτητα δικτύου: Η εφαρμογή πρέπει να ελεγχθεί σε μια ποικιλία δικτύων με μεταβλητή ταχύτητα. Η εφαρμογή θα πρέπει να δοκιμαστεί σε δίκτυα 3G, 4G και 5G. Σε αυτό περιλαμβάνονται τόσο τα δίκτυα Wi-Fi όσο και τα δίκτυα κινητής τηλεφωνίας. Επίσης, η συμπεριφορά της εφαρμογής θα πρέπει να παρακολουθείται, ειδικά όταν και τα δύο δίκτυα είναι διαθέσιμα και έχει γίνει εναλλαγή από το ένα δίκτυο στο άλλο.

    Για παράδειγμα, ενδέχεται να προκύψει κάποιο πρόβλημα σε μια εφαρμογή για τους χρήστες κατά την εναλλαγή του τηλεφωνικού δικτύου από 4G σε Wi-Fi και αντίστροφα. Σε αυτήν την περίπτωση, η εφαρμογή δεν ανταποκρίνεται και ενδέχεται να απαιτηθεί επανεκκίνηση της εφαρμογής για χρήση.

Αντιμετώπιση προβλημάτων απόδοσης εφαρμογών για φορητές συσκευές

Αφού ανακαλύψετε τα θέματα/προβλήματα ενώ Δοκιμές ΑπόδοσηςΕίναι καιρός να tracε και διορθώστε τα σφάλματα.

Πρόβλημα 1) Καθυστέρηση ή αργή απόκριση της εφαρμογής για κινητά.

Η αιτία αυτής της καθυστέρησης μπορεί να είναι η μνήμη RAM, η προσωρινή μνήμη κ.λπ.

Πρέπει να σκοτώσετε περιττές διεργασίες ή να καθαρίσετε την προσωρινή μνήμη. Η αντιμετώπιση προβλημάτων συνδεσιμότητας μπορεί να λύσει ορισμένα από τα προβλήματα που δημιουργούν καθυστερήσεις

Πρόβλημα 2) Επανεκκίνηση εφαρμογής, κλείδωμα, πάγωμα ή μη απόκριση.

Μπορεί να διορθωθεί με μερικά από τα παρακάτω βήματα

  • Βελτιστοποίηση των κωδικών εφαρμογών
  • Το λογισμικό πρέπει να διορθωθεί και να ενημερωθεί.
  • Αυτόματες επαναφέρει
  • Διαχείριση RAM ή σε ορισμένες περιπτώσεις ROM κατά τη χρήση εξωτερικών καρτών
  • Wiping η διαμέριση της προσωρινής μνήμης
  • Επαλήθευση της λειτουργίας της εφαρμογής με άλλες εφαρμογές και API τρίτων κατασκευαστών
  • Χάρτηςping εφαρμογή για κινητά ανάλογα με τη συσκευή

Χρήσιμα εργαλεία δοκιμής εφαρμογών για κινητά

Εργαλεία δοκιμής εφαρμογών για κινητά ποικίλλουν ανάλογα με τις συσκευές ή το κινητό λειτουργικό σύστημα. Μερικά κοινά εργαλεία δοκιμής απόδοσης εφαρμογών για κινητά είναι

ANDROID

  • Robotium Είναι ακριβώς σαν Selenium για εφαρμογές για κινητά. Ο ελεγκτής μπορεί να εγγράψει και να παίξει πολλά βήματα που απαιτούνται για την εκτέλεση της δοκιμής.
  • Monkey Runner Το MonkeyRunner μπορεί να εκτελέσει δοκιμές σε πραγματικές συσκευές συνδεδεμένες σε υπολογιστή ή εξομοιωτές. Το εργαλείο διαθέτει ένα API, το οποίο επιτρέπει τον έλεγχο ενός smartphone, ενός tablet ή ενός εξομοιωτή από έξω Android κώδικας.

⚠️ Σημείωση έκδοσης: Και τα δύο Android Οι καταχωρήσεις είναι παλαιού τύπου. Robotium δεν έχει κυκλοφορήσει από το 2016 και Google σηματοδοτεί το MonkeyRunner ως μη συντηρημένο, υποδεικνύοντας τις ομάδες στο UI Automator και το uiautomatorviewer επιθεωρητή αντ' αυτού.

APPLE

  • Αυτοματιστής (Mac) Το Automator είναι μια εφαρμογή που αναπτύχθηκε από την Apple για... macOSΥλοποιεί τη δημιουργία ροών εργασίας με point-and-click (ή drag and drop) για την αυτοματοποίηση επαναλαμβανόμενων εργασιών σε παρτίδες για ταχύτερη τροποποίηση. Αυτό εξοικονομεί χρόνο και προσπάθεια σε σχέση με την ανθρώπινη παρέμβαση για χειροκίνητη αλλαγή κάθε αρχείου ξεχωριστά.

Προκλήσεις

Οι βασικές προκλήσεις που αντιμετωπίζονται κατά τη διάρκεια των δοκιμών απόδοσης περιλαμβάνονται

  • Οργάνωση διαφορετικών κινητών πλατφορμών και των λειτουργικών τους συστημάτων
  • Προσομοίωση συνδεσιμότητας όπως 3G, 4G, 5G ή Wi-Fi, κ.λπ.
  • Περιορισμοί φορητών συσκευών όπως η κατανάλωση μπαταρίας και πόρων
  • Ευχρηστία κινητού τηλεφώνου
  • Τα διάφορα μεγέθη των κινητών συσκευών για την εκτέλεση της ίδιας εφαρμογής

Ρυθμίστε το περιβάλλον δοκιμής απόδοσης εφαρμογής για κινητά

Για να διαμορφώσετε το Test Environment, πρέπει να-

  • Κατανόηση της εφαρμογής για κινητά που πρέπει να δοκιμαστεί
  • Προσδιορισμός διαφορετικών λειτουργικών συστημάτων στα οποία πρέπει να εκτελεστεί η εφαρμογή
  • Δημιουργία της ρύθμισης δοκιμής
  • Δημιουργήστε τους εξομοιωτές ή τους προσομοιωτές
  • Πρωτότυποping της πραγματικής εγκατάστασης
  • Επιλογή του κατάλληλου εργαλείου για τη δοκιμή

Λίστα ελέγχου απόδοσης εφαρμογών για κινητά

Η δοκιμή της απόδοσης των εφαρμογών για κινητά είναι ένα σημαντικό μέτρο πριν από την κυκλοφορία. Ο έλεγχος απόδοσης γίνεται για έλεγχο

  • Πόση ποσότητα μνήμης RAM απαιτείται για τη χρήση αυτής της εφαρμογής;
  • Για να επαληθεύσετε την ταχύτητα και τον χρόνο απόκρισης της APP υπό διαφορετικά δίκτυα και συνθήκες.
  • Εξασφαλίστε ρεαλιστική εμπειρία χρήστη υπό διάφορες συνθήκες δικτύου
  • Βεβαιωθείτε ότι επιτυγχάνονται τα απαιτούμενα αποτελέσματα σε περίπτωση πολλαπλών συνδεσιμότητας
  • Βεβαιωθείτε ότι η εφαρμογή δεν θα κολλήσει.
  • Διασφάλιση καλής απόδοσης των εφαρμογών για φορητές συσκευές κατά τη χρήση δεδομένων, Wi-Fi ή άλλης συνδεσιμότητας
  • Παρακολούθηση του χρόνου λειτουργίας και των σημείων συμφόρησης της χρήσης API για κινητά
  • Για να εξασφαλιστεί ο μέγιστος αριθμός ταυτόχρονων χρηστών
  • Τέλος, για να ελέγξετε την εφαρμογή για κινητά στα όριά της

Συχνές Ερωτήσεις

Ο συνήθης στόχος είναι κάτω από δύο δευτερόλεπτα σε μια συσκευή μεσαίας εμβέλειας, κάτι που αντιστοιχεί στον κανόνα που αναφέρθηκε παραπάνω. Μετρήστε το 95ο εκατοστημόριο και όχι τον μέσο όρο, επειδή οι αργές συσκευές κυριαρχούν στα πραγματικά παράπονα.

Ένα ANR είναι ένα συμβάν "Η εφαρμογή δεν αποκρίνεται", το οποίο ενεργοποιείται όταν το Android μπλοκ κύριων νημάτων. Το ποσοστό χωρίς σφάλματα είναι το μερίδιο των περιόδων σύνδεσης που λήγουν χωρίς σφάλμα. Google Το Play υποβαθμίζει τις εφαρμογές που υπερβαίνουν τα δημοσιευμένα όριά του για οποιοδήποτε από τα δύο.

Τα εξήντα καρέ ανά δευτερόλεπτο είναι η βασική τιμή για την κύλιση και την κίνηση, ενώ οι νεότερες οθόνες στοχεύουν σε ενενήντα ή υψηλότερα καρέ. Τα καρέ που χάνονται, που ονομάζονται jank, θεωρούνται κακής ποιότητας ακόμα και όταν δεν υπάρχει σφάλμα.

Η μηχανική μάθηση καθορίζει τις βασικές τιμές κάθε μετρικής ανά μοντέλο συσκευής, επομένως μια παλινδρόμηση επισημαίνεται σε σχέση με παρόμοιο υλικό αντί για έναν καθολικό αριθμό. Επίσης, ομαδοποιεί αργά traces, κατάταξη του σημείου συμφόρησης που επηρεάζει τις περισσότερες συνεδρίες.

Το Copilot σχεδιάζει καλά την επαναλαμβανόμενη δομή, όπως έναν σκελετό σεναρίου φόρτωσης ή έναν βρόχο που καταγράφει δείγματα μνήμης. Τα κατώφλια και η επιλογή συσκευών αντικατοπτρίζουν το προϊόν σας, επομένως ελέγξτε κάθε δημιουργημένη δήλωση πριν την εμπιστευτείτε.

Χρησιμοποιήστε και τα δύο. Οι εξομοιωτές παρέχουν φθηνές, επαναλήψιμες εκτελέσεις δικτύου και API μέσα σε έναν αγωγό. Απαιτούνται πραγματικές συσκευές για την εξάντληση της μπαταρίας, τον θερμικό περιορισμό και τη συμπεριφορά που εξαρτάται από τον προμηθευτή, τις οποίες οι εξομοιωτές δεν μπορούν να αναπαράγουν πιστά.

JMeter είναι η συνηθισμένη επιλογή ανοιχτού κώδικα για την οδήγηση ταυτόχρονων αιτημάτων στα ίδια τελικά σημεία που χρησιμοποιεί η εφαρμογή. Μετράει τη χωρητικότητα του διακομιστή, την οποία τα εργαλεία της συσκευής δεν βλέπουν ποτέ.

Ένα καταγεγραμμένο όριο για τον χρόνο εκκίνησης, τη μνήμη ή το μέγεθος της δέσμης που ελέγχει αυτόματα η κατασκευή. Η υπέρβασή του αποτυγχάνει στην κατασκευή, επομένως οι παλινδρομήσεις καταγράφονται κατά τον χρόνο συγχώνευσης αντί μετά την κυκλοφορία.

Συνοψίστε αυτήν την ανάρτηση με: