Οδηγός δοκιμής εφαρμογών iOS: Εγχειρίδιο και αυτοματισμός
Τι είναι το iOS App Testing;
Δοκιμή εφαρμογών iOS είναι μια διαδικασία δοκιμής κατά την οποία μια εφαρμογή iOS δοκιμάζεται σε πραγματικές συσκευές Apple για να ελεγχθεί εάν λειτουργεί όπως αναμένεται ή όχι για συγκεκριμένες ενέργειες χρήστη όπως χρόνος εγκατάστασης, διεπαφή χρήστη, εμπειρία χρήστη, εμφάνιση, συμπεριφορά, λειτουργικότητα, χρόνος φόρτωσης, απόδοση, εφαρμογή Καταχώριση καταστήματος, υποστήριξη έκδοσης λειτουργικού συστήματος κ.λπ.
Γιατί το iOS App Testing;
Δοκιμή εφαρμογών iOS απαιτείται επειδή το iOS είναι η πλατφόρμα της Apple για κινητές εφαρμογές που κυκλοφόρησε στις 29 Ιουνίου 2007. Σε αντίθεση με Android, η Apple δεν αδειοδοτεί το iOS για εγκατάσταση σε υλικό εκτός της Apple. Οι εφαρμογές iOS και iOS μπορούν να εγκατασταθούν μόνο σε συσκευές Apple, επομένως, η εφαρμογή σας iOS πρέπει να είναι συμβατή με εκδόσεις iOS και συσκευές iOS.
Αυτή είναι η συνηθισμένη ερώτηση όταν ο προγραμματιστής δημιουργεί μια εφαρμογή iOS.
Δεν έχει σημασία πόσο χρόνο επενδύετε στο σχεδιασμό και την υλοποίηση, τα λάθη είναι αναπόφευκτα και θα εμφανιστούν σφάλματα. Υπάρχουν ορισμένα κοινά σφάλματα στην εφαρμογή iOS. Όπως φαίνεται στο παρακάτω σχήμα.
Η εφαρμογή κολλάει
Ένα από τα πιο απογοητευτικά προβλήματα, όταν χρησιμοποιείτε τις συσκευές της Apple, είναι ότι μια εφαρμογή ενδέχεται να διακόπτεται συχνά κατά την εκτέλεση. Πολλές φορές η εφαρμογή διακόπτεται επειδή υπάρχουν κάποια σφάλματα ή διαρροή μνήμης στις εφαρμογές.
Ασυμβατότητες εφαρμογής
Η εφαρμογή σας iOS μπορεί να εκτελείται τέλεια στην τρέχουσα έκδοση iOS, αλλά εάν το iOS αναβαθμιστεί, ενδέχεται να μην λειτουργεί λόγω προβλημάτων ασυμβατότητας.
Ευπάθεια ασφαλείας
Μια ευπάθεια ασφαλείας στο iOS επιτρέπει στον χάκερ να επιτεθεί στις συσκευές σας iOS, να κλέψει τις προσωπικές σας πληροφορίες. Μέχρι τώρα, σοβαρές ευπάθειες ασφαλείας του iPhone ανακαλύπτονται σε διαφορετικές εκδόσεις iOS.
Διαρροές μνήμης
Οι διαρροές μνήμης είναι μπλοκ εκχωρημένης μνήμης που το πρόγραμμα δεν χρησιμοποιεί πλέον. Οι διαρροές μνήμης προκαλούν διακοπή λειτουργίας της εφαρμογής iOS.
Είναι σφάλματα και πρέπει πάντα να επιδιορθώνονται.
Το MindMap δοκιμάζει το iOS
Όπως φαίνεται στο παραπάνω σχήμα, το iOS Δοκιμές Το MindMap εμφανίζει όλα τα στοιχεία που πρέπει να λάβει υπόψη ο ελεγκτής κατά τη διεξαγωγή δοκιμών στο iOS.
Λίστα ελέγχου εφαρμογών iOS
Αυτή η λίστα ελέγχου έχει σχεδιαστεί ειδικά για να δοκιμάσει τα χαρακτηριστικά των εφαρμογών για κινητές συσκευές iOS. Προφανώς, ελέγχει μόνο γενικά χαρακτηριστικά εφαρμογής και όχι τη λειτουργικότητά του.
- Ελέγξτε το χρόνο εγκατάστασης που χρειάστηκε η εφαρμογή στη συσκευή. Βεβαιωθείτε ότι η εφαρμογή έχει εγκατασταθεί εντός αποδεκτού χρόνου.
- Μόλις εγκατασταθεί η εφαρμογή, ελέγξτε εάν η εφαρμογή έχει το εικονίδιο και το όνομα της εφαρμογής. Επίσης, βεβαιωθείτε ότι τόσο το εικονίδιο όσο και το όνομα είναι αυτονόητα και αντικατοπτρίζουν τη βασική πρόθεση της εφαρμογής.
- Εκκινήστε την εφαρμογή και ελέγξτε εάν εμφανίζεται η οθόνη εκκίνησης.
- Ελέγξτε το χρονικό όριο λήξης της οθόνης εκκίνησης και τον χρόνο που απαιτείται για τη φόρτωση της αρχικής οθόνης. Η αρχική οθόνη της εφαρμογής θα πρέπει να φορτώσει εντός αποδεκτού χρόνου. Εάν η αρχική οθόνη χρειάζεται περισσότερο χρόνο για να φορτώσει, τότε ο χρήστης έχει περισσότερες πιθανότητες να κλείσει ή ακόμα και να απεγκαταστήσει την ίδια την εφαρμογή. Επίσης, ελέγξτε πώς φορτώνονται τα περιεχόμενα στην Αρχική οθόνη.
- Η κύρια λειτουργία της εφαρμογής θα πρέπει να είναι εμφανής αμέσως. Θα πρέπει να μιλήσει από μόνο του.
- Ελέγξτε εάν η εφαρμογή υποστηρίζει τόσο οριζόντιο όσο και κατακόρυφο προσανατολισμό. Εάν ναι, ελέγξτε την εφαρμογή και στους δύο προσανατολισμούς. Η διεπαφή χρήστη της εφαρμογής θα πρέπει να ρυθμιστεί ανάλογα.
- Χωρίς σύνδεση στο Διαδίκτυο, εκκινήστε την εφαρμογή. Βεβαιωθείτε ότι η εφαρμογή συμπεριφέρεται όπως έχει σχεδιαστεί/επιθυμηθεί. Υπάρχει περίπτωση η εφαρμογή να διακοπεί κατά την εκκίνησή της ή να εμφανίσει απλώς μια κενή οθόνη.
- Εάν η εφαρμογή χρησιμοποιεί υπηρεσίες τοποθεσίας, ελέγξτε εάν εμφανίζεται η ειδοποίηση άδειας τοποθεσίας ή όχι. Αυτή η ειδοποίηση θα πρέπει να ζητηθεί στον χρήστη μόνο μία φορά.
- Εάν η εφαρμογή στέλνει ειδοποιήσεις push, ελέγξτε εάν εμφανίζεται η ειδοποίηση άδειας ειδοποίησης push ή όχι. Αυτή η ειδοποίηση θα πρέπει επίσης να ζητηθεί στον χρήστη μόνο μία φορά.
- Εκκινήστε την εφαρμογή, κλείστε την και επανεκκινήστε. Ελέγξτε εάν η εφαρμογή συμπεριφέρεται όπως έχει σχεδιαστεί/επιθυμηθεί
- Κλείστε την εφαρμογή πατώντας το κουμπί Home της συσκευής και ανοίξτε ξανά την εφαρμογή. Ελέγξτε αν η εφαρμογή λειτουργεί όπως έχει σχεδιαστεί/επιθυμηθεί.
- Μόλις εγκατασταθεί, ελέγξτε εάν η εφαρμογή αναφέρεται στην εφαρμογή ρυθμίσεων του iPhone.
- Αφού γίνει ζωντανή η εφαρμογή, ελέγξτε εάν η εφαρμογή μπορεί να βρεθεί στο "App Store". Θα υπάρχει υποστηριζόμενη έκδοση λειτουργικού συστήματος για την εφαρμογή. Επομένως, βεβαιωθείτε ότι η εφαρμογή μπορεί να βρεθεί στο "App Store" αυτών των υποστηριζόμενων εκδόσεων λειτουργικού συστήματος. Επίσης, η εφαρμογή δεν πρέπει να αναφέρεται στο "App Store" της συσκευής έκδοσης λειτουργικού συστήματος που δεν υποστηρίζεται.
- Ελέγξτε εάν η εφαρμογή μεταβαίνει σε κατάσταση αναστολής λειτουργίας όταν εκτελείται στο παρασκήνιο για να αποτρέψετε την εξάντληση της μπαταρίας.
- Εάν η απόδοση της εφαρμογής είναι αργή ή κάθε φορά που φορτώνεται το περιεχόμενο, ελέγξτε εάν υπάρχει ένα εικονίδιο κατάστασης προόδου («Φόρτωση…»), κατά προτίμηση με ένα συγκεκριμένο μήνυμα.
- Αναζητήστε την εφαρμογή με το όνομά της στη γραμμή αναζήτησης συσκευής. Ελέγξτε εάν η εφαρμογή περιλαμβάνεται στη λίστα
- Ελέγξτε εάν η εμφάνιση των κουμπιών που εκτελούν τυπικές ενέργειες δεν έχουν αλλάξει στην εφαρμογή (για παράδειγμα: ανανέωση, οργάνωση, κάδος απορριμμάτων, Απάντηση, επιστροφή κ.λπ.)
- Ελέγξτε εάν τα τυπικά κουμπιά δεν χρησιμοποιούνται για άλλες λειτουργίες στη συνέχεια για τις οποίες χρησιμοποιούνται συνήθως
Στρατηγική δοκιμών iOS
Το παρακάτω σχήμα παρουσιάζει ορισμένους κοινούς τύπους στρατηγικής δοκιμών iOS.
Αυτοματοποιημένες δοκιμές
Η αυτοματοποιημένη δοκιμή είναι τα περισσότερα πλεονεκτήματα της δοκιμής iOS. Σας δίνει τη δυνατότητα να εντοπίσετε γρήγορα τα σφάλματα και τα ζητήματα απόδοσης. Τα οφέλη των αυτοματοποιημένων δοκιμών όπως φαίνονται παρακάτω:
- Οι αυτοματοποιημένες δοκιμές μπορούν να εκτελεστούν σε πολλές συσκευές, εξοικονομώντας χρόνο
- Οι αυτοματοποιημένες δοκιμές μπορούν να στοχεύσουν SDK. Μπορείτε να εκτελέσετε δοκιμή σε διαφορετικές εκδόσεις SDK
- Οι αυτοματοποιημένες δοκιμές αυξάνουν την παραγωγικότητα των δοκιμών σας, εξοικονομώντας το κόστος ανάπτυξης λογισμικού
- Υπάρχουν πολλά πλαίσια δοκιμών ανοιχτού κώδικα που υποστηρίζουν αυτοματοποιημένες δοκιμές σε iOS
Δοκιμή μονάδας με OCUnit
Όταν κυκλοφόρησε το αρχικό iOS SDK, έλειπε Δοκιμή μονάδας δυνατότητες. Έτσι η Apple επανέφερε το Μονάδα OCU λύση δοκιμής μονάδας στην έκδοση 2.2 του iOS SDK.
Το OCUnit είναι ένα πλαίσιο δοκιμών για το C- Objective στο Mac OS. Τα μεγαλύτερα πλεονεκτήματα ενός πλαισίου OCUnit είναι η στενή ενσωμάτωση σε Xcode περιβάλλον ανάπτυξης όπως φαίνεται παρακάτω.
Μερικά από τα οφέλη του OCUnit φαίνονται στο παρακάτω σχήμα.
Δοκιμή διεπαφής χρήστη με αυτοματισμό UIA
Αυτοματισμός διεπαφής χρήστη είναι ένα JavaΓραφή βιβλιοθήκη που παρέχεται από την Apple Inc, η οποία μπορεί να χρησιμοποιηθεί για την εκτέλεση αυτοματοποιημένης δοκιμής σε πραγματικές συσκευές και στο iOS Simulator. Αυτό το πλαίσιο προστίθεται στο iOS SDK4.0. Χρησιμοποιώντας το UI Automation, μπορείτε να αυτοματοποιήσετε τη δοκιμή της εφαρμογής όχι μόνο στον προσομοιωτή αλλά και στην πραγματική συσκευή.
Ο αυτοματισμός UIA σας προσφέρει τα εξής πλεονεκτήματα:
- Μειώστε την προσπάθεια Μη αυτόματη δοκιμή
- Χρησιμοποιήστε λιγότερο τη μνήμη σας για να εκτελέσετε όλες τις δοκιμές σας
- Απλοποιήστε τη διαδικασία δοκιμών διεπαφής χρήστη (απλώς πατήστε ένα ή τρία κουμπιά και εκτελέστε πλήρως τις δοκιμαστικές σουίτες)
Το όργανο αυτοματισμού UIA λειτουργεί από σενάρια, τα οποία είναι γραμμένα JavaΓραφή. Προσομοιώνει συμβάντα χρήστη σε στοχευμένη εφαρμογή iOS.
Μειονεκτήματα UIA Automation vs.Pros
ΥΠΕΡ | ΚΑΤΑ | |
---|---|---|
1. | Καλή υποστήριξη για χειρονομίες και περιστροφή | Δεν είναι ανοιχτού κώδικα, λιγότερη υποστήριξη από τον προγραμματιστή |
2. | Μπορεί να εκτελέσει δοκιμές UIAutomation στη συσκευή, όχι στον μοναδικό προσομοιωτή. | Δεν μπορεί να ενσωματωθεί εξαιρετικά καλά με άλλα εργαλεία |
3. | Αναπτύχθηκε από JavaΣενάριο, είναι μια δημοφιλής γλώσσα προγραμματισμού. |
Το παραπάνω σχήμα αντιπροσωπεύει μερικές κοινές κλάσεις στο πλαίσιο UIAutomation.
- Τα Διαχωριστικά UIAElement Η κλάση είναι η υπερκλάση για όλα τα στοιχεία διεπαφής χρήστη στο πλαίσιο του Αυτοματισμού
- Τα Διαχωριστικά UIATarget Η κλάση αντιπροσωπεύει τα στοιχεία διεπαφής χρήστη υψηλού επιπέδου του υπό δοκιμή συστήματος
- Τα Διαχωριστικά UIALogger Η τάξη παρέχει πληροφορίες δοκιμών και σφαλμάτων σχετικά με τη λειτουργικότητα ανάκτησης
- Τα Διαχωριστικά UIAActivityViewclass επιτρέπει την πρόσβαση και τον έλεγχο των προβολών δραστηριότητας εντός της εφαρμογής σας.
- Τα Διαχωριστικά Φύλλο δράσης UIAA Η τάξη επιτρέπει την πρόσβαση και τον έλεγχο των φύλλων ενεργειών εντός της εφαρμογής σας.
- Χρήστες Δράση εκδήλωσης
- Κατηγορία UISlider
- Κατηγορία UIAButton
- Κατηγορία UIAkey
- Κατηγορία πληκτρολογίου UIAK
Άλλα αυτοματοποιημένα πλαίσια δοκιμών
- Ειλικρινής: Αυτοματοποιημένο Δοκιμή αποδοχής πλαίσιο για iPhone και iPad
- ΠΩΣ : είναι iOS τεστ ολοκλήρωσης δομή. Επιτρέπει τον εύκολο αυτοματισμό των εφαρμογών iOS αξιοποιώντας τα χαρακτηριστικά προσβασιμότητας που το λειτουργικό σύστημα καθιστά διαθέσιμα για άτομα με προβλήματα όρασης.
Χειροκίνητη δοκιμή
Διερευνητικές δοκιμές
Είναι μια δοκιμή χωρίς επίσημο σχέδιο δοκιμών. Το Exploratory Testing είναι μέθοδος δοκιμής χαμηλού κόστους, αλλά μπορεί να χάσει τα πιθανά σφάλματα στην εφαρμογή iOS.
Μειονεκτήματα διερευνητικών δοκιμών έναντι πλεονεκτημάτων
ΥΠΕΡ | ΚΑΤΑ | |
---|---|---|
1. | Less χρειάζεται προετοιμασία, έγκαιρα εντοπισμός σοβαρών σφαλμάτων. | Απαιτεί υψηλή δεξιότητα του ελεγκτή |
2. | Δεν χρειάζεται Σχέδιο δοκιμής επιταχύνετε τον εντοπισμό σφαλμάτων. | Η κάλυψη δοκιμής είναι χαμηλή. Δεν εγγυάται ότι όλες οι απαιτήσεις σας έχουν δοκιμαστεί. |
3. | Τα περισσότερα σφάλματα ανακαλύπτονται νωρίς με κάποιο είδος διερευνητικής δοκιμής | Έλλειψη τεκμηρίωσης δοκιμών |
Δοκιμή χρηστών
Η δοκιμή χρήστη είναι ένας τύπος μη αυτόματης δοκιμής σε iOS. Ο σκοπός αυτής της δοκιμής είναι να δημιουργήσει καλύτερες εφαρμογές, όχι μόνο χωρίς έντομα εφαρμογές. Το παρακάτω σχήμα δείχνει τέσσερις τύπους δοκιμών χρήστη
Έλεγχος έννοιας
Αξιολογήστε την ανταπόκριση των χρηστών σε μια ιδέα εφαρμογής πριν την κυκλοφορία στην αγορά. Οι διαδικασίες δοκιμής ιδέας στο iOS περιγράφονται παρακάτω
Δοκιμές Ευχρηστίας
Δοκιμές Ευχρηστίας είναι μια δοκιμή πόσο εύκολη είναι η χρήση της εφαρμογής σας iOS. Στις δοκιμές iOS, η δοκιμή ευχρηστίας θα μπορούσε να είναι καταγράφονται να θυμάστε ή να μοιραστείτε με άλλους.
Υπάρχουν ορισμένα εργαλεία που υποστηρίζουν τη δοκιμή ευχρηστίας στο iOS.
TryMyUI εφαρμογές δοκιμής χρηστών κινητών για Android και iOS.
Delight.io, αυτό το εργαλείο μπορεί να καταγράψει την πραγματική αλληλεπίδραση των χρηστών στις εφαρμογές σας iOS.
Δοκιμή beta
Το Beta Testing είναι το δοκιμή ολοκλήρωσης με πραγματικά δεδομένα για να λάβετε τελική ανατροφοδότηση από τους χρήστες. Για να διανείμετε τις εφαρμογές σας για δοκιμή beta, πρέπει να ακολουθήσετε τα παρακάτω βήματα.
-Προϋπόθεση: Εάν δοκιμάζετε beta έναν τελικό υποψήφιο για κυκλοφορία, φροντίστε να επικυρώσετε την εφαρμογή πριν τη διανείμετε στους υπεύθυνους δοκιμών.
-Βρείτε τον ελεγκτή μέσω της υπηρεσίας: συλλέγετε αναγνωριστικά συσκευών από δοκιμαστές και τα προσθέτετε σε Κέντρο μελών
-Δημιουργία ad-hoc διανομής: Η Ad Hoc διανομή επιτρέπει στον ελεγκτή να εκτελεί την εφαρμογή σας στη συσκευή του χωρίς ανάγκη Xcode. Αυτό το βήμα περιλαμβάνει 2 υποστάδια
- Δημιουργία πιστοποιητικών διανομής
- Δημιουργήστε ad-hoc προφίλ παροχής
-Ζητήστε σχόλια από τον ελεγκτή: Ο ελεγκτής διεξάγει δοκιμές και σας στέλνει αναφορές σφαλμάτων. Αφού κυκλοφορήσει η εφαρμογή σας, μπορείτε να λάβετε τις αναφορές από iTunes συνδέω-συωδεομαι.
Α / Β δοκιμές
Α / Β δοκιμές είναι ένας από τους πιο ισχυρούς τρόπους για να αξιολογήστε την αποτελεσματικότητα της εφαρμογής σας iOS. Χρησιμοποιεί τυχαιοποιημένα πειράματα με δύο συσκευές, Α και Β.
Η δοκιμή A/B περιλαμβάνει τρία κύρια βήματα
- Διαμόρφωση μιας δοκιμής: Ετοιμάστηκαν 2 εκδόσεις της εφαρμογής σας για iOS (A & B) και μέτρηση δοκιμής
- Δοκιμή: Δοκιμάστε 2 παραπάνω εκδόσεις εφαρμογών iOS σε συσκευές ταυτόχρονα.
- Αναλύστε: Μετρήστε και επιλέξτε καλύτερη έκδοση για κυκλοφορία
Τα παρακάτω εργαλεία υποστηρίζουν τη δοκιμή A/B σε iOS.
- Arise: Δοκιμή A/B τόσο για iOS όσο και για Android. Μπορεί να ενσωματωθεί στην εφαρμογή σας για iOS και να κάνει τη διαδικασία δοκιμής πιο γρήγορη.
καλυτερα πρακτικες για δοκιμες Α/Β
- Ορίστε το στόχος της δοκιμής σας. Κάθε δοκιμή είναι άχρηστη χωρίς στόχο.
- Δες Οι τελικοί χρήστες χρησιμοποιούν την εφαρμογή σας την πρώτη φορά
- τρέξιμο ένας δοκιμή μόνο ανά ενημέρωση. Εξοικονομεί χρόνο κατά τη διεξαγωγή δοκιμών
- Παρακολούθηση το τεστ σας προσεκτικά. Μπορείτε να μάθετε εμπειρίες από το τεστ σας παρακολουθώντας το.
iOS testing καλυτερα πρακτική
Ακολουθούν ορισμένες συμβουλές που πρέπει να γνωρίζετε όταν οργανώνετε τη δοκιμή της εφαρμογής σας iOS
- Δοκιμάστε την εφαρμογή σε α πραγματική συσκευή για να κατανοήσετε την απόδοση
- Βελτίωση τις μεθόδους δοκιμής σας, επειδή οι παραδοσιακές μέθοδοι δοκιμών δεν επαρκούν πλέον για να καλύψουν όλες τις δοκιμές σε δοκιμές iOS
- Χρησιμοποιώντας αρχείο καταγραφής κονσόλας για να δοκιμάσετε την εφαρμογή iOS. Αυτή είναι μια λειτουργία iOS που περιλαμβάνει πληροφορίες από κάθε εφαρμογή στη συσκευή.
- Έγγραφο σφάλματα εφαρμογής χρησιμοποιώντας σύντομη ενσωματωμένη οθόνη εντολή. Βοηθά τον προγραμματιστή να κατανοήσει πώς εμφανίζονται τα σφάλματα.
- Αναφορά σφαλμάτων είναι χρήσιμα εργαλεία κατά τη δοκιμή της εφαρμογής σας. Μπορούν να εντοπίσουν σφάλματα και να καταγράψουν λεπτομέρειες, ώστε να μπορείτε να διερευνήσετε εύκολα τα σφάλματα.
ΜΥΘΟΙ για τις δοκιμές iOS
Αυτή η ενότητα εξετάζει μερικούς δημοφιλείς μύθους και πραγματικότητες των δοκιμών iOS
Δοκιμή εφαρμογής σε iOS και Android είναι το ίδιο πράγμα.
iOS και Android είναι δύο πλατφόρμες που αναπτύχθηκαν από την Apple Inc και την Google. Είναι τελείως διαφορετικά. Κ.λπ. περιβάλλοντα δοκιμών, πλαίσια δοκιμών, γλώσσες προγραμματισμού.
Αρκεί η δοκιμή εφαρμογής στο iOS Simulator.
Το iOS Simulator δεν είναι αρκετά ισχυρό για τη δοκιμή μιας εφαρμογής. Επειδή το iOS Simulator έχει ορισμένους περιορισμούς:
- Περιορισμοί υλικού (κάμερα, είσοδος μικροφώνου, αισθητήρας)
- Η διεπαφή χρήστη της εφαρμογής σας μπορεί να φαίνεται ότι εκτελείται πιο γρήγορα και πιο ομαλά από ότι σε μια συσκευή
- Περιορισμοί API
- Ορισμένα πλαίσια που δεν υποστηρίζονται (Media Player, Store Kit, Message UI..)
Όλοι θα κάνουν λήψη των εφαρμογών μου στο κατάστημα εφαρμογών επειδή έχει πολλές δυνατότητες
Όσο περισσότερες δυνατότητες έχει η εφαρμογή σας, τόσο περισσότερα σφάλματα θα μπορούσατε να λάβετε. Κανένας χρήστης δεν θα κατεβάσει την εφαρμογή σας εάν εξακολουθεί να έχει πολλά ελαττώματα.