Android Εκμάθηση δοκιμών APP με Πλαίσιο Αυτοματισμού

Γιατί Android Δοκιμές;

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

Android Δοκιμές

Δεν έχει σημασία πόσο χρόνο επενδύετε στο σχεδιασμό και την υλοποίηση, τα λάθη είναι αναπόφευκτα και θα εμφανιστούν σφάλματα.

Android Δοκιμές

Android Στρατηγική Δοκιμών

Μια σωστή στρατηγική δοκιμών Android θα πρέπει να περιλαμβάνει τα ακόλουθα

  1. Δοκιμή μονάδας
  2. Έλεγχος ολοκλήρωσης
  3. Operaτεστ
  4. Δοκιμή συστήματος

Android Στρατηγική Δοκιμών

Δοκιμές μονάδας

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

Android Η πλατφόρμα είναι προενσωματωμένη Junit πλαίσιο 3.0. Είναι πλαίσιο ανοιχτού κώδικα για αυτοματοποίηση Δοκιμή μονάδας. Android Το Testing Framework είναι ένα ισχυρό εργαλείο για τον προγραμματιστή να γράψει το αποτελεσματικό πρόγραμμα δοκιμής μονάδας.

Ενσωμάτωση του Android και  JUnit Πλαίσιο
Η ενσωμάτωση του Android και JUnit πλαίσιο

Μια προσθήκη στο Unit Testing είναι οι δοκιμές User Interface (UI). Αυτές οι δοκιμές σχετίζονται με στοιχεία διεπαφής χρήστη της εφαρμογής-στόχου σας. Οι δοκιμές διεπαφής χρήστη διασφαλίζουν ότι η εφαρμογή σας επιστρέφει τη σωστή έξοδο διεπαφής χρήστη ως απόκριση στην ακολουθία ενεργειών χρήστη στη συσκευή.

Κοινές ενέργειες διεπαφής χρήστη στην εφαρμογή
Συνήθεις ενέργειες διεπαφής χρήστη στην εφαρμογή

Ο συνηθισμένος τρόπος για δοκιμές διεπαφής απόδοσης στη συσκευή είναι Android Όργανα. Αλλά αυτό έχει προβλήματα απόδοσης. Ένα από τα καλύτερα εργαλεία για τη διεξαγωγή δοκιμών διεπαφής χρήστη Android is Ενα ρομπότ.

Δοκιμές ολοκλήρωσης

In Δοκιμή ολοκλήρωσης, όλες οι μονάδες που έχουν δοκιμαστεί στη μονάδα, συνδυάζονται και επαληθεύονται. Σε Android, οι δοκιμές ολοκλήρωσης συχνά περιλαμβάνουν έλεγχο ενοποίησης μεAndroid στοιχεία όπως η δοκιμή υπηρεσιών, η δοκιμή δραστηριότητας, η δοκιμή παρόχου περιεχομένου κ.λπ

Δοκιμές ολοκλήρωσης
Τύποι δοκιμής ολοκλήρωσης σε Android

Υπάρχουν πολλά πλαίσια δοκιμών που χρησιμοποιούνται για τη διεξαγωγή δοκιμής ολοκλήρωσης Android όπως Troyd, Robolectric, Robotium.

Operaεθνικές δοκιμές

  • Operaονομάζονται επίσης Λειτουργικές Δοκιμές ή Δοκιμές Αποδοχής. Είναι τεστ υψηλού επιπέδου σχεδιασμένα να ελέγχουν την πληρότητα και την ορθότητα της εφαρμογής.
  • In Android, FitNesse είναι πλαίσιο ανοιχτού κώδικα που διευκολύνει τη διεξαγωγή επιχειρησιακών δοκιμών για εφαρμογή-στόχο.

Δοκιμές συστήματος

In Δοκιμή συστήματος το σύστημα ελέγχεται στο σύνολό του και ελέγχεται η αλληλεπίδραση μεταξύ των στοιχείων, του λογισμικού και του υλικού.

In Android, Η δοκιμή συστήματος συνήθως περιλαμβάνει

  • Δοκιμές GUI
  • Δοκιμές χρηστικότητας
  • Δοκιμές απόδοσης
  • Δοκιμές άγχους

Στην παραπάνω λίστα, Δοκιμές Απόδοσης δίνεται περισσότερη εστίαση. Μπορείτε να χρησιμοποιήσετε εργαλεία όπως Traceview για τη διεξαγωγή δοκιμής απόδοσης σε Android .Αυτό το εργαλείο μπορεί να σας βοηθήσει να εντοπίσετε σφάλματα της εφαρμογής σας και να προφίλ της απόδοσής της.

Αυτοματοποιημένη ΔΟΚΙΜΗ ANDROID

Καθώς το Android είναι κατακερματισμένο, απαιτείται δοκιμή σε πολλές συσκευές. Αλλά αυτό θα σας κοστίσει και χρήματα. Αυτοματοποιημένο Android Οι δοκιμές μπορούν να βοηθήσουν στη μείωση του κόστους

Οφέλη από την αυτοματοποιημένη δοκιμή Android

  • Μειώστε το χρόνο για την εκτέλεση δοκιμαστικών υποθέσεων
  • Αυξήστε την παραγωγικότητα της διαδικασίας ανάπτυξής σας
  • Έγκαιρη ανίχνευση σφαλμάτων, εξοικονόμηση κόστους στη συντήρηση του λογισμικού
  • Βρήκε γρήγορα και διορθώστε τα σφάλματα κατά την υλοποίηση
  • Εξασφαλίστε την ποιότητα του λογισμικού

Θα μελετήσουμε τα ακόλουθα 2 πλαίσια

  • Android Πλαίσιο δοκιμών
  • Πλαίσιο ρομποηλεκτρικών δοκιμών

Android πλαίσιο δοκιμών

Ένα από τα τυπικά πλαίσια δοκιμών για Android εφαρμογή είναι Android πλαίσιο δοκιμών. Είναι ένα ισχυρό και εύχρηστο πλαίσιο δοκιμών που είναι καλά ενσωματωμένο με το Android Εργαλεία SDK.

Android Πλαίσιο δοκιμών
Android πλαίσιο δοκιμών Archiδομή
  1. Πακέτο εφαρμογής είναι η εφαρμογή στόχος σας που πρέπει να δοκιμαστεί
  2. InstrumentationTestRunner είναι το Δοκιμαστική θήκη runner που εκτελεί δοκιμαστική περίπτωση σε εφαρμογή προορισμού. Περιλαμβάνει:

2a) Εργαλεία δοκιμής: Εργαλεία SDK για δοκιμή δόμησης. Είναι ενσωματωμένα σε Eclipse IDE ή εκτέλεση ως γραμμή εντολών.

2b) MonkeyRunner: Ένα εργαλείο που παρέχει API για τη σύνταξη προγράμματος που ελέγχουν ένα Android συσκευή ή εξομοιωτή εκτός Android κώδικας.

  1. Δοκιμαστικό πακέτο οργανώνονται σε δοκιμαστικά έργα. Αυτό το πακέτο ακολουθεί τη σύμβαση ονομασίας. Εάν η υπό δοκιμή εφαρμογή έχει όνομα πακέτου "com.mydomain.myapp", τότε το πακέτο δοκιμής θα πρέπει να είναι "com.mydomain.myapp.test". Το πακέτο δοκιμής περιλαμβάνει 2 αντικείμενα όπως παρακάτω:

3α) Κατηγορίες δοκιμαστικών περιπτώσεων: περιλαμβάνουν μεθόδους δοκιμής που θα εκτελεστούν στην εφαρμογή-στόχο.

3β) Mock αντικείμενα : περιλαμβάνει εικονικά δεδομένα που θα χρησιμοποιηθούν ως δείγματα εισόδου για δοκιμαστικές περιπτώσεις.

Android Μαθήματα δοκιμαστικών περιπτώσεων

Android Μαθήματα δοκιμαστικών περιπτώσεων
AndroidΔιάγραμμα κλάσης TestCase
  1. TestCase περιλαμβάνει JUnit μεθόδους εκτέλεσης JUnit δοκιμή
  2. TestSuite χρησιμοποιείται για την εκτέλεση συνόλων δοκιμαστικών περιπτώσεων
  3. InstrumentationTestSuite είναι ένα TestSuite που εισάγει τα όργανα στο InstrumentationTestCase πριν τα εκτελέσει.
  4. InstrumentationTestRunner είναι ο δρομέας δοκιμαστικής περίπτωσης που εκτελεί δοκιμαστική περίπτωση σε εφαρμογή προορισμού.
  5. AndroidTestCase Επεκτείνεται JUnit TestCase. Περιέχει μεθόδους για πρόσβαση σε πόρους όπως το πλαίσιο δραστηριότητας.
  6. ApplicationTestCase επαληθεύει τις κλάσεις εφαρμογής σε ελεγχόμενο περιβάλλον.
  7. InstrumentationTestCase επαληθεύει ένα συγκεκριμένο χαρακτηριστικό ή συμπεριφορά της εφαρμογής προορισμού, για παράδειγμα, επαλήθευση της εξόδου διεπαφής χρήστη της εφαρμογής.
  8. ActivityTestCase είναι η βασική κλάση που υποστηρίζει τη δοκιμή των Δραστηριοτήτων Εφαρμογής.
  9. ProviderTestCase είναι κατηγορία για τη δοκιμή ενός ContentProvider.
  10. ServiceTestCase χρησιμοποιείται για τη δοκιμή κλάσεων υπηρεσιών σε περιβάλλον δοκιμών. Υποστηρίζει επίσης τον κύκλο ζωής του Service.
  11. SingeLauchActivityTestCase χρησιμοποιείται για τη δοκιμή μεμονωμένης δραστηριότητας με μια InstrumentationTestCase.
  12. ActivityUnitTestCase χρησιμοποιείται για τη δοκιμή μεμονωμένης δραστηριότητας.
  13. ActivityInstrumentationTestCase2 επεκτείνει την JUnit Τάξη TestCase. Σας συνδέει με την εφαρμογή προορισμού με όργανα. Με αυτήν την κλάση, μπορείτε να αποκτήσετε πρόσβαση στο στοιχείο GUI της εφαρμογής και να στείλετε συμβάν διεπαφής χρήστη (συμβάν πληκτρολόγησης ή αφής) στη διεπαφή χρήστη.

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

Δοκιμή ActivityInstrumentationTestCase2
Παράδειγμα δοκιμής ActivityInstrumentationTestCase2

Πλαίσιο ρομποηλεκτρικών δοκιμών

Δοκιμή χρησιμοποιώντας Android Η δοκιμή πλαισίου με συσκευή ή εξομοιωτή είναι δύσκολη. Η δοκιμή κατασκευής και εκτέλεσης είναι αργή και απαιτεί μεγάλη προσπάθεια ανάπτυξης. Για να διορθώσετε αυτό το πρόβλημα, υπάρχει μια άλλη επιλογή - Ρομποηλεκτρικός πλαίσιο δοκιμών.

Το ρομποηλεκτρικό πλαίσιο σάς επιτρέπει να τρέχετε Android δοκιμές κατευθείαν στο JVM χωρίς την ανάγκη για μια συσκευή ή έναν εξομοιωτή.

Προηγμένα χαρακτηριστικά του Robolectric
Προηγμένα χαρακτηριστικά του Robolectric

Μαθήματα ρομποηλεκτρικών δοκιμών

Operation of Robolectric
Operation of Robolectric
  • Όπως φαίνεται παραπάνω, η Robolectric μπορεί να εκτελέσει τις ακόλουθες ενέργειες:
  • Εγγραφείτε και δημιουργήστε μια κλάση Shadow
  • Αναχαιτίστε τη φόρτωση του Android τάξη
  • Χρησιμοποιεί το javaassist για να παρακάμψει τα σώματα της μεθόδου Android τάξη
  • Σύνδεση αντικειμένου σκιάς σε Android τάξη
  • Αυτό επιτρέπει στον υπό δοκιμή κώδικα να εκτελεστεί χωρίς Android περιβάλλοντος.

Άλλα πλαίσια δοκιμών

Εκτός από τα πλαίσια δοκιμών που αναφέρθηκαν παραπάνω, υπάρχουν πολλά άλλα πλαίσια δοκιμών όπως:

  • Android Έκθεση Junit, ένας προσαρμοσμένος δοκιμαστικός δρομέας οργάνων για Android που δημιουργεί αναφορές XML για ενοποίηση με άλλα εργαλεία.
  • Εκφράζω
  • Appium

Μύθοι του Android Δοκιμές

Πολλές επιχειρήσεις αναπτύσσουν android Δοκιμές στρατηγικές που βασίζονται σε κοινές παρανοήσεις. Αυτή η ενότητα εξετάζει μερικούς δημοφιλείς μύθους και πραγματικότητες Android δοκιμών.

Μύθος #1: Όλα Android οι συσκευές είναι ίδιες… αρκεί η δοκιμή σε εξομοιωτές

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

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

Οι εξομοιωτές είναι ανεπαρκής για τη δοκιμή του κινητού σας. Πρέπει να δοκιμάσετε την εφαρμογή σας σε πραγματικές συσκευές.

Μύθος #2: Αρκεί η δοκιμή σε ορισμένες κοινές συσκευές

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

Μύθος #3: Αρκεί η διερευνητική δοκιμή λίγο πριν από την εκτόξευση

  • Γενικά σε όλες τις δοκιμές, σχεδιάζουμε τις περιπτώσεις δοκιμών και στη συνέχεια τις εκτελούμε. Αλλά στις διερευνητικές δοκιμές, ο σχεδιασμός και η εκτέλεση της δοκιμής θα γίνουν όλα μαζί.
  • Στις διερευνητικές δοκιμές, δεν υπάρχει σχέδιο και προετοιμασία, τότε ο ελεγκτής θα έκανε δοκιμές που θέλει να κάνει. Ορισμένες λειτουργίες θα ελεγχθούν επανειλημμένα, ενώ ορισμένες λειτουργίες δεν θα δοκιμαστούν εντελώς.

Μύθος #4: Εάν υπάρχουν κάποια σφάλματα στην εφαρμογή, οι χρήστες θα καταλάβουν

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

Επομένως, είναι απαραίτητο να υπάρχει μια σωστή στρατηγική δοκιμών Android

καλυτερα ασκησεις in Android Δοκιμές

  • Οι προγραμματιστές εφαρμογών θα πρέπει να δημιουργούν τις δοκιμαστικές περιπτώσεις την ίδια στιγμή που γράφουν τον κώδικα
  • Όλες οι περιπτώσεις δοκιμής θα πρέπει να αποθηκεύονται στον έλεγχο έκδοσης-μαζί με τον πηγαίο κώδικα
  • Χρησιμοποιήστε συνεχή ενοποίηση και εκτελέστε δοκιμές κάθε φορά που αλλάζετε τον κώδικα
  • Αποφύγετε τη χρήση εξομοιωτών και συσκευών root