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

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

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

Android Δοκιμές

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

Android Δοκιμές

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

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

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

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

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

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

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 είναι πλαίσιο ανοιχτού κώδικα που διευκολύνει τη διεξαγωγή του operaεθνικές δοκιμές για εφαρμογή-στόχο.

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

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

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

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

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

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

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

Πλεονεκτήματα της αυτοματοποιημένης android δοκιμών

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

Θα μελετήσουμε το ακόλουθοwing 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. Επαληθεύει τη διεπαφή χρήστη operaτου Calculator application, ελέγξτε την ορθότητα των εξόδων διεπαφής χρήστη.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ως εκ τούτου, είναι απαραίτητο να έχουμε μια σωστή android στρατηγική δοκιμής σε εφαρμογή

Βέλτιστες πρακτικές σε Android Δοκιμές

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