automated regression testing
Αυτό το σεμινάριο εξηγεί τις προκλήσεις του αυτοματοποιημένου ελέγχου παλινδρόμησης. Θα μάθουμε επίσης για τη διαδικασία και τα βήματα για την αυτοματοποίηση των δοκιμών παλινδρόμησης:
Θα μάθουμε πώς να αυτοματοποιούμε τις περιπτώσεις δοκιμών παλινδρόμησης ξεκινώντας από την ταυτοποίησή τους, επιλέγοντας ένα εργαλείο για την αυτοματοποίηση, κάνοντας ανάλυση κόστους, χρόνου και προσπάθειας, γράφοντας σενάρια και, τέλος, παραδίδοντάς το στην ομάδα μη αυτόματης δοκιμής, ώστε να μπορούν να εκτελέσουν τις δοκιμαστικές περιπτώσεις από οπουδήποτε οποτεδήποτε.
Εάν αναρωτιέστε γιατί μόνο η σουίτα δοκιμής παλινδρόμησης, επειδή η σουίτα δοκιμής παλινδρόμησης είναι ο πρωταρχικός υποψήφιος για αυτοματοποίηση, καθώς είναι το σύνολο δοκιμαστικών περιπτώσεων που είναι επαναλαμβανόμενες και χρονοβόρες. Έτσι, η αυτοματοποίηση θα εξοικονομούσε πράγματι πολλούς πόρους και θα ήταν λιγότερο χρονοβόρα επίσης.
Θα λάβετε γρήγορες αναφορές για τις περιπτώσεις δοκιμής παλινδρόμησης και μπορείτε να χρησιμοποιήσετε αυτά τα βήματα για να αυτοματοποιήσετε και άλλες δοκιμαστικές σουίτες.
=> Κάντε κλικ εδώ για την πλήρη σειρά δοκιμών παλινδρόμησης.
Τι θα μάθετε:
- Αυτόματος έλεγχος παλινδρόμησης
- Αυτοματοποιημένες δοκιμές: Προκλήσεις στο ευέλικτο περιβάλλον
- Βήματα για την αυτοματοποίηση του ελέγχου παλινδρόμησης
- συμπέρασμα
Αυτόματος έλεγχος παλινδρόμησης
Πρόσφατα, όταν ήθελα να ξεκινήσω το νέο μου πρόγραμμα αυτοματοποιημένων δοκιμών με τέσσερις πόρους, σκέφτηκα να εφαρμόσω οποιαδήποτε από τις μεθοδολογίες Agile. Αλλά δεν μπόρεσα να συνεχίσω γιατί μια σειρά από ερωτήσεις εγείρονται στο μυαλό μου.
Οι ερωτήσεις ήταν όπως:
- Είναι δυνατή η χρήση μεθοδολογιών Agile στο Automated Testing;
- Μπορώ να χρησιμοποιήσω παραδοσιακά εργαλεία;
- Πρέπει να πάω για εργαλεία ανοιχτού κώδικα;
- Ποιες είναι οι προκλήσεις που πρέπει να αντιμετωπίσω εάν εφαρμόζω αυτοματοποίηση στο ευέλικτο περιβάλλον;
Σε αυτό το άρθρο ας αναλύσουμε μερικές από τις προκλήσεις που αντιμετωπίζουμε κατά την εφαρμογή των μεθόδων Αυτοματισμού με Agile. Ο αυτοματοποιημένος έλεγχος παλινδρόμησης στο ευκίνητο περιβάλλον ενέχει τον κίνδυνο να γίνει χαοτικός, αδόμητος και ανεξέλεγκτος.
Τα Agile Projects παρουσιάζουν τις δικές τους προκλήσεις για την ομάδα αυτοματισμού. Η μεθοδολογία Agile δίνει έμφαση στην ομαδική συνεργασία και τη συχνή παράδοση ενός προϊόντος. Παράγοντες όπως το ασαφές εύρος του έργου, οι πολλαπλές επαναλήψεις, η ελάχιστη τεκμηρίωση, οι πρώιμες και συχνές ανάγκες αυτοματισμού και η ενεργός συμμετοχή των ενδιαφερομένων, κ.λπ., απαιτούν πολλές προκλήσεις από την ομάδα αυτοματισμού.
Αυτοματοποιημένες δοκιμές: Προκλήσεις στο ευέλικτο περιβάλλον
Υπάρχουν πολλές Agile προκλήσεις για την ομάδα αυτοματισμού. Ωστόσο, ένα μερικά από αυτά συνοψίζονται παρακάτω.
Πρόκληση 1:Φάση απαίτησης
Ο προγραμματιστής Test Automation καταγράφει τις απαιτήσεις με τη μορφή «ιστοριών χρηστών», οι οποίες είναι σύντομες περιγραφές της λειτουργικότητας που σχετίζεται με τον πελάτη.
Κάθε απαίτηση πρέπει να έχει προτεραιότητα ως εξής:
Υψηλός: Αυτές είναι κρίσιμες για την αποστολή απαιτήσεις που πρέπει απολύτως να γίνουν στην πρώτη κυκλοφορία
Μεσαίο: Αυτές είναι οι απαιτήσεις που είναι σημαντικές, αλλά μπορούν να επιλυθούν μέχρι να εφαρμοστούν.
Χαμηλός: Αυτές είναι οι απαιτήσεις που είναι ωραίες, αλλά δεν είναι κρίσιμες για τη λειτουργία του λογισμικού.
Μόλις καθοριστούν τα priories, προγραμματίζεται η έκδοση «επαναλήψεις». Κανονικά, κάθε επανάληψη απελευθέρωσης Agile διαρκεί από 1 έως 3 μήνες για να παραδοθεί. Οι άνθρωποι πελατών / λογισμικού έχουν την ελευθερία να κάνουν πάρα πολλές αλλαγές στις απαιτήσεις. Μερικές φορές, αυτές οι αλλαγές είναι τόσο ασταθείς, ώστε οι επαναλήψεις να ξεπερνούν. Αυτές οι αλλαγές αποτελούν μεγαλύτερες προκλήσεις κατά την εφαρμογή της διαδικασίας δοκιμών του Agile Automation.
Πώς μπορώ να ανοίξω ένα αρχείο δεδομένων σε mac
Πρόκληση 2:Επιλογή των σωστών εργαλείων
Τα παραδοσιακά εργαλεία τελευταίας δοκιμής με δυνατότητες εγγραφής και αναπαραγωγής αναγκάζουν τις ομάδες να περιμένουν έως ότου ολοκληρωθεί το λογισμικό. Επιπλέον, τα παραδοσιακά εργαλεία αυτοματοποίησης δοκιμών δεν λειτουργούν για ένα πλαίσιο Agile επειδή επιλύουν παραδοσιακά προβλήματα που διαφέρουν από τις προκλήσεις που αντιμετωπίζουν οι ομάδες Αυτοματισμού.
Η αυτοματοποίηση στα αρχικά στάδια ενός ευέλικτου έργου είναι συνήθως πολύ δύσκολη, αλλά καθώς το σύστημα μεγαλώνει και εξελίσσεται, ορισμένες πτυχές διευθετούνται και καθίσταται κατάλληλο να αναπτυχθεί αυτοματοποίηση. Έτσι, η επιλογή των εργαλείων δοκιμών καθίσταται κρίσιμη για να αποκομίσετε τα οφέλη απόδοσης και ποιότητας της ευελιξίας.
Πρόκληση 3:Φάση ανάπτυξης σεναρίων
Οι δοκιμαστές αυτοματισμού, οι προγραμματιστές, οι επιχειρηματικοί αναλυτές και οι ενδιαφερόμενοι του έργου συνεισφέρουν συνολικά σε εναρκτήριες συναντήσεις όπου επιλέγονται οι 'User-Stories' για το επόμενο σπριντ. Μόλις επιλεγούν οι «Ιστορίες χρηστών» για το σπριντ, χρησιμοποιούνται ως βάση για ένα σύνολο δοκιμών.
Καθώς η λειτουργικότητα μεγαλώνει με κάθε επανάληψη, πρέπει να εκτελείται δοκιμή παλινδρόμησης για να διασφαλιστεί ότι η υπάρχουσα λειτουργικότητα δεν έχει επηρεαστεί από την εισαγωγή νέων λειτουργιών σε κάθε κύκλο επανάληψης. ο κλίμακα της δοκιμής παλινδρόμησης μεγαλώνει με κάθε σπριντ και διασφαλίζει ότι αυτό παραμένει μια διαχειρίσιμη εργασία και η ομάδα δοκιμών χρησιμοποιεί τον αυτοματοποιημένο έλεγχο για τη σουίτα παλινδρόμησης.
Πρόκληση 4:Διαχείριση πόρων
Η ευέλικτη προσέγγιση απαιτεί ένα συνδυασμό δοκιμαστικών δεξιοτήτων, δηλαδή απαιτούνται πόροι δοκιμών για τον καθορισμό ασαφών σεναρίων και δοκιμαστικών περιπτώσεων, συμπεριφορά Μη αυτόματη δοκιμή μαζί με προγραμματιστές, γράψτε δοκιμές αυτόματης παλινδρόμησης και εκτελέστε τα πακέτα αυτοματοποιημένης παλινδρόμησης.
Καθώς το έργο εξελίσσεται, απαιτούνται εξειδικευμένες δεξιότητες για την κάλυψη περαιτέρω τομέων δοκιμών που μπορεί να περιλαμβάνουν ολοκλήρωση και Δοκιμή απόδοσης.
Πρέπει να υπάρχει ένας κατάλληλος συνδυασμός ειδικών τομέα που σχεδιάζουν και συγκεντρώνουν τις απαιτήσεις. Το προκλητικό μέρος στη διαχείριση πόρων είναι να ανακαλύψετε πόρους δοκιμής με πολλαπλές δεξιότητες και να τους διαθέσετε.
Πρόκληση 5:Επικοινωνία
Πρέπει να υπάρχει καλή επικοινωνία μεταξύ του Δοκιμή αυτοματισμού ομάδα, προγραμματιστές, αναλυτές επιχειρήσεων και ενδιαφερόμενα μέρη. Πρέπει να υπάρχει μια πολύ συνεργατική αλληλεπίδραση μεταξύ του πελάτη και των ομάδων παράδοσης. Περισσότερη συμμετοχή πελατών συνεπάγεται περισσότερες προτάσεις ή αλλαγές από τον πελάτη. Και συνεπάγεται μεγαλύτερο εύρος ζώνης για επικοινωνία.
Η βασική πρόκληση είναι ότι η διαδικασία πρέπει να είναι σε θέση να συλλάβει και να εφαρμόσει αποτελεσματικά όλες τις αλλαγές και η ακεραιότητα των δεδομένων πρέπει να διατηρηθεί. Στις παραδοσιακές δοκιμές, οι προγραμματιστές και οι δοκιμαστές μοιάζουν με πετρέλαιο και νερό, αλλά σε ένα ευέλικτο περιβάλλον, το δύσκολο έργο είναι ότι και οι δύο πρέπει να συνεργαστούν για την επίτευξη του στόχου.
Πρόκληση 6:Ημερήσια συνάντηση Scrum
Η συνάντηση Daily Scrum είναι μια από τις βασικές δραστηριότητες στη διαδικασία ευέλικτης διαδικασίας. Οι ομάδες συναντιούνται για 15 λεπτά καθυστερημένες συνεδρίες. Ποια είναι η αποτελεσματικότητα αυτών των συναντήσεων; Σε ποιο βαθμό αυτές οι συναντήσεις βοηθούν τους προγραμματιστές αυτοματισμού; κλπ., συζητούνται σε αυτήν τη συνάντηση.
Πρόκληση 7:Φάση απελευθέρωσης
Ο στόχος του έργου Agile είναι να παραδώσει ένα βασικό προϊόν εργασίας το συντομότερο δυνατό και στη συνέχεια να περάσει από μια διαδικασία συνεχούς βελτίωσης. Αυτό σημαίνει ότι δεν υπάρχει καμία φάση απελευθέρωσης για ένα προϊόν. Το προκλητικό μέρος έγκειται στον έλεγχο ενοποίησης και τον έλεγχο αποδοχής του προϊόντος.
Βήματα για την αυτοματοποίηση του ελέγχου παλινδρόμησης
Η διαδικασία που πρέπει να ακολουθηθεί για την αυτοματοποίηση της παλινδρόμησης μπορεί να χωριστεί με ακρίβεια στα ακόλουθα βήματα:
Αυτά τα 7 βήματα εξηγούνται παρακάτω λεπτομερώς με απλούς όρους για την εύκολη κατανόησή σας.
1. Ταυτοποίηση
# 1) Προσδιορίστε το δοκιμές που θα πρέπει να είναι μέρος της σουίτας δοκιμής παλινδρόμησης.
- Για να ξεκινήσετε την αυτοματοποίηση των περιπτώσεων δοκιμής παλινδρόμησης, το πρώτο πράγμα που πρέπει να κάνετε είναι να προσδιορίσετε και να ορίσετε σωστά τις περιπτώσεις δοκιμής παλινδρόμησης με όλα τα βήματα, τα δεδομένα και τις προϋποθέσεις.
- Για να βεβαιωθείτε ότι έχετε μια αποτελεσματική σουίτα παλινδρόμησης, μην ξεχάσετε να συμπεριλάβετε:
- Δοκιμάστε περιπτώσεις με επαναλαμβανόμενα ελαττώματα.
- Δοκιμάστε περιπτώσεις που καλύπτουν σενάρια από άκρο σε άκρο.
- Δοκιμάστε περιπτώσεις που είναι πιο ορατές στους τελικούς χρήστες.
- Δοκιμή περιπτώσεων σε οριακές τιμές.
- Καλός συνδυασμός θετικών και αρνητικών δοκιμαστικών περιπτώσεων.
- Πολύπλοκες δοκιμές.
#δύο) Προσδιορίστε το εργαλεία αυτοματισμού που είναι καλύτερα για τις απαιτήσεις και τη συμπεριφορά της εφαρμογής σας. Μόλις εντοπιστούν οι περιπτώσεις δοκιμής παλινδρόμησης και είναι έτοιμες για αυτοματοποίηση, εντοπίστε τα εργαλεία που ταιριάζουν καλύτερα στις δοκιμαστικές σας περιπτώσεις.
Ο καλύτερος τρόπος για να προσδιορίσετε τα εργαλεία είναι να δημιουργήσετε έναν πίνακα με τα εργαλεία και τις απαιτήσεις σας και, στη συνέχεια, να παρακολουθείτε ποιο εργαλείο ικανοποιεί ποιες απαιτήσεις.
Προτεινόμενη ανάγνωση => Λίστα των κορυφαίων εργαλείων ελέγχου αυτοματισμού
# 3) Προσδιορίστε το Γλώσσα προγραμματισμού που θέλετε να χρησιμοποιήσετε. Με τόσα πολλά εργαλεία διαθέσιμα στην αγορά, υποστηρίζονται πολλές γλώσσες από αυτά τα εργαλεία. Επομένως, είναι σημαντικό να προσδιορίσετε τη γλώσσα προγραμματισμού στην οποία θέλετε να γράψετε τις δοκιμαστικές σας περιπτώσεις.
Παράδειγμα :Ας υποθέσουμε ότι έχουμε ένα έργο στο οποίο θέλουμε να αυτοματοποιήσουμε μια δοκιμαστική παλινδρόμηση για μια εφαρμογή που βασίζεται σε πρόγραμμα περιήγησης.
Όπως εξηγείται παραπάνω, θα προσδιορίσουμε τις δοκιμαστικές περιπτώσεις.
- Ας υποθέσουμε ότι η δοκιμαστική μας υπόθεση είναι 'Βεβαιωθείτε ότι ένας χρήστης μπορεί να συνδεθεί επιτυχώς χρησιμοποιώντας ένα έγκυρο όνομα χρήστη και κωδικό πρόσβασης'.
Στη συνέχεια, θα προσδιορίσουμε τα Εργαλεία Αυτοματισμού.
- Μια δοκιμαστική θήκη που βασίζεται σε πρόγραμμα περιήγησης μπορεί να αυτοματοποιηθεί με ' Σελήνιο ',' Ranorex ',' TestComplete '. Ας αποφασίσουμε για το εργαλείο Selenium, καθώς ταιριάζει καλύτερα στις απαιτήσεις.
Τώρα, ας προσδιορίσουμε μια γλώσσα προγραμματισμού.
- Θέλουμε να χρησιμοποιήσουμε ' Ιάβα Ως τη γλώσσα προγραμματισμού ως μια γλώσσα που υποστηρίζεται ιδιαίτερα.
2. Ανάλυση
# 1) Κάνω Κόστος ανάλυση. Είναι πολύ σημαντικό να εργαστείτε εντός των ορίων του προϋπολογισμού. Έτσι, μετά τη φάση αναγνώρισης, θα έχετε μια ιδέα για το πόσες δοκιμαστικές περιπτώσεις πρέπει να αυτοματοποιηθούν και ποια είναι τα πιθανά εργαλεία που μπορούν να χρησιμοποιηθούν.
Όλα τα ευρήματα από τη φάση αναγνώρισης θα σας βοηθήσουν να βρείτε έναν κατά προσέγγιση προϋπολογισμό και, επομένως, μπορείτε να λάβετε οποιαδήποτε έγκριση κ.λπ., εάν απαιτείται.
#δύο) Κάνω πόρος και προσπάθεια ανάλυση για να δείτε εάν έχετε τους πόρους για να εργαστείτε σε αυτό. Μαζί με την ανάλυση κόστους, είναι πολύ σημαντικό να κάνετε μια ανάλυση πόρων και προσπάθειας για καλύτερη κατανομή των πόρων και να αξιοποιήσετε αποτελεσματικά το χρόνο τους στο έργο.
Κατά την εκτίμηση των πόρων και των προσπαθειών, φροντίστε να λάβετε υπόψη τους κινδύνους όπως, εάν κάποιος αρρωστήσει ή εάν ορισμένες περιπτώσεις δοκιμών χρειάζονται περισσότερους πόρους για εκτέλεση, κ.λπ.
# 3) Κάνω χρόνος Ανάλυση. Απαιτείται ανάλυση χρόνου για να βεβαιωθείτε ότι μπορείτε να ολοκληρώσετε το έργο αυτοματοποίησης εντός του προϋπολογισμού και των χρονοδιαγραμμάτων. Ενώ εργάζεστε στην ανάλυση του χρόνου, θα είναι χρήσιμο να προετοιμάσετε ένα χρονοδιάγραμμα για την παρακολούθηση της προόδου κατά τη διάρκεια της ανάπτυξης.
Για καλύτερη ανάλυση χρονοδιαγράμματος του έργου:
- Προσδιορίστε τις εργασίες και τις δευτερεύουσες εργασίες στα έργα σας.
- Προτεραιότητα στις εργασίες και τις δευτερεύουσες εργασίες.
- Σχεδιάστε ένα διάγραμμα Gantt ή ένα διάγραμμα δικτύου για καλύτερη απεικόνιση του χρονοδιαγράμματος.
Παράδειγμα :Προχωρώντας με το παράδειγμά μας λαμβάνοντας υπόψη τη φάση αναγνώρισης, η εξήγηση για αυτήν τη φάση δίνεται παρακάτω:
Ανάλυση κόστους:
Ας υποθέσουμε ότι το κατά προσέγγιση κόστος για αυτό το έργο είναι ποσό $ X.
Πόροι και προσπάθεια:
Για αυτό, μια δοκιμαστική θήκη πρέπει να αυτοματοποιηθεί από άκρο σε άκρο και χρειαζόμαστε έναν πόρο πλήρους απασχόλησης για περίπου 24 ώρες και χρειαζόμαστε επίσης έναν ακόμη πόρο για να ελέγξουμε την εργασία. Έτσι, χρειαζόμαστε 2 πόρους και η εκτίμηση της προσπάθειας είναι περίπου 40 ώρες.
Ανάλυση χρόνου:
Για αυτό ας σχεδιάσουμε ένα μικρό γράφημα Gantt για να δούμε το χρονοδιάγραμμα.
3. Εκπαίδευση / πρόσληψη
# 1) Εάν απαιτούνται ορισμένοι πόροι εκπαίδευση , τότε προγραμματίστε την εκπαίδευσή τους. Μερικές φορές μπορεί να έχετε κάποιους πόρους μη αυτόματης δοκιμής που ενδιαφέρονται να γράψουν περιπτώσεις δοκιμών αυτοματισμού ή κάποιοι άνθρωποι έχουν εργαστεί για αυτοματοποίηση αλλά διαφορετικά εργαλεία και είναι πρόθυμοι να μάθουν το εργαλείο που έχετε επιλέξει για τον αυτοματισμό σας.
Σε αυτήν την περίπτωση, προσδιορίστε αυτούς τους πόρους και προγραμματίστε την εκπαίδευσή τους, ώστε να μπορούν να αρχίσουν να εργάζονται για την αυτοματοποίηση των υποθέσεων δοκιμής παλινδρόμησης.
#δύο) Εάν χρειαζόμαστε περισσότερους πόρους, τότε εργαστείτε στο την πρόσληψη σχέδιο. Όταν έχετε κάνει την ανάλυση πόρων για τις προσπάθειες και εάν δεν μπορείτε να ικανοποιήσετε τις ανάγκες με τους ήδη διαθέσιμους πόρους, τότε, σχεδιάστε να προσλάβετε μερικούς νέους πόρους με τις κατάλληλες δεξιότητες που απαιτούνται για το έργο εντός του προϋπολογισμού.
Παράδειγμα:
Ας υποθέσουμε ότι έχουμε ήδη έναν πόρο που είναι εξοικειωμένος με τις έννοιες Java και θέλει να μάθει το Σελήνιο. Τότε θα κανονίσουμε εκπαίδευση σεληνίου για αυτό το άτομο.
Εάν δεν διαθέτουμε πόρους για αυτοματοποίηση. Στη συνέχεια, θα προσλάβουμε ένα άτομο που έχει κάποιο υπόβαθρο στην αυτοματοποίηση τέτοιων δοκιμαστικών περιπτώσεων χρησιμοποιώντας σελήνιο και java.
4. Πλαίσιο και κατευθυντήριες γραμμές
# 1) Μόλις το εργαλείο και οι πόροι είναι έτοιμοι, δουλέψτε για να βρείτε ένα δομή ή να αποφασίσετε ποια θα χρησιμοποιήσετε από τα υπάρχοντα πλαίσια. Μπορούν να χρησιμοποιηθούν πολλά ήδη κατασκευασμένα πλαίσια ή μπορείτε να δημιουργήσετε το πλαίσιο σας από το μηδέν.
Κατά την επιλογή ή τη δημιουργία ενός πλαισίου, βεβαιωθείτε ότι έχετε εμπλέξει τα στοιχεία σχετικά με, δοκιμαστικές περιπτώσεις, αρχεία καταγραφής, αναφορές, είσοδο, σύνδεση βάσης δεδομένων κ.λπ.
#δύο) Αποφασίστε για το άλλο υποστηρικτικά εργαλεία που θέλετε να χρησιμοποιήσετε. Δεδομένου ότι η ανάπτυξη σεναρίου αυτοματισμού είναι μια εργασία ανάπτυξης που περιλαμβάνει τη σύνταξη κώδικα, θα ήταν πολύ καλύτερο να καταλάβουμε τα άλλα εργαλεία ανάπτυξης που θα χρειαζόταν για την υποστήριξη της σύνταξης των σεναρίων σας.
Για παράδειγμα , Ορισμένα εργαλεία που μπορούν να βοηθήσουν περιλαμβάνουν το git, το GitHub, το Jenkins κ.λπ.
# 3) Περιγράψτε το Κατευθυντήριες γραμμές για τη συγγραφή σεναρίων αυτοματισμού. Είναι απαραίτητο να περιγράψουμε τις οδηγίες έτσι ώστε όλοι οι πόροι που εργάζονται στο έργο να είναι συγχρονισμένοι και να χρησιμοποιούν τις ίδιες συμβάσεις ονομασίας, τις ίδιες διαδικασίες για τον κωδικό check-in / check-out και την ίδια γλώσσα προγραμματισμού.
χρησιμοποιώντας έκλειψη για c ++
Παράδειγμα:
Δομή: Ας αποφασίσουμε BDD (ανάπτυξη βάσει συμπεριφοράς) πλαίσιο για δοκιμές αυτοματισμού.
Υποστηρικτικά εργαλεία: Τα εργαλεία που χρειαζόμαστε για να υποστηρίξουμε πλήρως τον αυτοματισμό θα είναι τα GitHub, Jenkins, Log4J, Cucumber και JUnit.
5. Σενάρια αυτοματισμού
Ξεκινήστε να γράφετε σενάρια αυτοματισμού. Μόλις έχουμε τα πάντα, δηλαδή το εργαλείο, τη γλώσσα προγραμματισμού, τις απαιτούμενες δεξιότητες και τις δοκιμαστικές περιπτώσεις που πρέπει να αυτοματοποιηθούν, μπορούμε να αρχίσουμε να γράφουμε σενάρια αυτοματισμού.
Κατά τη συγγραφή σεναρίων, πρέπει να διασφαλίσουμε ότι:
- Οι οδηγίες ακολουθούνται.
- Χρησιμοποιούμε τα εργαλεία.
- Οι δοκιμαστικές περιπτώσεις διαμορφώνονται.
- Θα πρέπει να είμαστε σε θέση να επαναχρησιμοποιήσουμε τα στοιχεία εάν απαιτούνται σε πολλές περιπτώσεις δοκιμής.
Πρέπει επίσης να διασφαλίσουμε ότι ο κώδικας διατηρείται σωστά στο εργαλείο ελέγχου έκδοσης και όλα τα μέλη της ομάδας μπορούν να συνεργαστούν εύκολα.
Παράδειγμα:
Ας γράψουμε πραγματικά σενάρια για να τρέξει αυτή η δοκιμαστική θήκη. Δείγμα από τα σενάρια μπορεί να εμφανιστεί όπως παρακάτω.
Πρώτον, το σενάριο αγγουριού για αυτήν τη δοκιμαστική θήκη θα μοιάζει ως εξής:
Χαρακτηριστικό: Επαλήθευση λειτουργικότητας σύνδεσης
Ως χρήστης θέλω να συνδεθώ στην εφαρμογή
Περίγραμμα σεναρίου: Συνδεθείτε στην εφαρμογή
Δεδομένου ότι ανοίγω την εφαρμογή
Όταν εισάγω το όνομα χρήστη ''
Και εισάγω τον κωδικό πρόσβασης ''
Και κάνω κλικ στο κουμπί Είσοδος
Μετά πηγαίνω στην αρχική σελίδα
Παραδείγματα:
| όνομα χρήστη | κωδικός πρόσβασης |
| testuser1 | κωδικός πρόσβασης1 |
| testuser2 | κωδικός πρόσβασης2 |
Μετά το αρχείο δυνατοτήτων, θα εφαρμόσουμε τον ορισμό βημάτων για τα βήματα που αναφέρονται στο αρχείο δυνατοτήτων.
public class Login { LoginImpl loginImpl = new LoginImpl(); @Given('^I open application$') public void i_open_application() { loginImpl.openURL('URL'); } @When('^I Enter username '((^')*)'$') public void i_Enter_username(String arg1) { loginImpl.enterUserName(arg1); } @When('^I Enter password '((^')*)'$') public void i_Enter_password(String arg1) { loginImpl.enterPassword(arg1); } @When('^I click on Login button$') public void i_click_on_Login_button() { loginImpl.clickLoginButton(); } @Then('^I go to Home page$') public void i_go_to_Home_page() { loginImpl.verifyHomePage(); } }
Στο τέλος, η πραγματική εφαρμογή της κλάσης λειτουργικότητας σύνδεσης θα φαίνεται όπως παρακάτω:
public class LoginImpl { WebDriver driver; public LoginImpl(){ System.setProperty('webdriver.chrome.driver', 'webdriver/chromedriver.exe'); driver = new ChromeDriver(); } public void openURL(String string) { driver.get(string); } public void enterUserName(String arg1) { driver.findElement(By.id('UserName')).sendKeys(arg1); } public void enterPassword(String arg1) { driver.findElement(By.id('Password')).sendKeys(arg1); } public void clickLoginButton() { driver.findElement(By.id('LoginButton')).click(); } public void verifyHomePage() { String currUrl = driver.getCurrentUrl(); if(currUrl.equals('homePageURL')) { System.out.println('Home page verified'); } } }
6. Επανεξέταση
(εικόνα πηγή )
# 1) Αναθεώρηση κώδικα: Μόλις ένας προγραμματιστής αυτοματισμού ολοκληρωθεί με τη σύνταξη σεναρίων αυτοματισμού, είναι πολύ σημαντικό να περάσετε από τα διαφορετικά επίπεδα ελέγχου κώδικα.
Οι αξιολογήσεις κώδικα βοηθούν στο
- Προσδιορισμός λανθασμένων επαληθεύσεων.
- Εύρεση σημείων βελτιστοποίησης κώδικα.
- Εύρεση καλύτερων τρόπων εφαρμογής της λειτουργικότητας για αποδοτική χρήση των πόρων.
Οι κριτικές κώδικα εκθέτουν επίσης το έργο ενός προγραμματιστή στους άλλους προγραμματιστές και του δίνουν μια διαφορετική προοπτική και περιθώριο βελτίωσης.
# 2) Έλεγχος περιπτώσεων δοκιμής: Μαζί με την αναθεώρηση του κώδικα, η δοκιμαστική υπόθεση είναι επίσης πολύ σημαντική. Πρέπει να βεβαιωθούμε ότι τα σενάρια δοκιμής αυτοματισμού όταν εκτελούνται εκτελούν το ίδιο σύνολο ενεργειών και επαληθεύσεων όπως περιμένουμε από τις χειροκίνητες δοκιμαστικές περιπτώσεις.
Έτσι, η εξέταση των περιπτώσεων δοκιμής αυτοματισμού με επιχειρηματικούς αναλυτές ή ειδικούς δοκιμών βοηθά στην ενίσχυση της εμπιστοσύνης στη δοκιμή αυτοματισμού αυτών των δοκιμαστικών περιπτώσεων.
Παράδειγμα:
Για παράδειγμα, για παράδειγμα, ας υποθέσουμε ότι για έλεγχο κώδικα λάβαμε σχόλια όπως 'στοιχείο αναζήτησης με αναγνωριστικό και όχι όνομα'. Εδώ, θα το λάβουμε υπόψη και θα τροποποιήσουμε ανάλογα το σενάριό μας.
Επίσης, μια δοκιμαστική αναθεώρηση θα μπορούσε να γίνει για να προσθέσετε βήματα για δοκιμές εάν βρίσκεστε στην αρχική σελίδα μετά από μια επιτυχημένη σύνδεση. Στη συνέχεια, θα το προσθέσαμε και στα σενάρια μας.
7. Παραδώστε
Παραδώστε τις δοκιμαστικές θήκες, έτσι ώστε ο καθένας να μπορεί να τα τρέξει ανά πάσα στιγμή. Μόλις τα σενάρια αυτοματισμού είναι έτοιμα για χρήση, είναι πολύ σημαντικό να βρείτε ένα σχέδιο παράδοσης για τα σενάρια αυτοματισμού.
Αυτό το σχέδιο απαιτείται καθώς θέλουμε να βεβαιωθούμε ότι η αυτοματοποίηση των δοκιμαστικών περιπτώσεων δεν περιορίζει την εκτέλεση του σε ένα συγκεκριμένο σύνολο ατόμων ή δεξιοτήτων. Όλοι στην ομάδα ή στο έργο θα πρέπει να έχουν τη δυνατότητα να εκτελούν τις δοκιμαστικές περιπτώσεις.
Ένα από τα πιθανά σχέδια παράδοσης είναι η παροχή μιας εργασίας Jenkins που μπορεί να ενεργοποιηθεί για την εκτέλεση των αυτοματοποιημένων δοκιμαστικών περιπτώσεων.
Παράδειγμα:
Στην περίπτωσή μας, ας υποθέσουμε ότι έχουμε παραδώσει τη δοκιμαστική θήκη χρησιμοποιώντας μια εργασία της Jenkins. Αυτή η δουλειά της Jenkins, παίρνει τον κωδικό από το GitHub, το χτίζει και εκτελεί τις δοκιμαστικές θήκες σε διαφορετικό μηχάνημα.
Μόλις η εργασία είναι επιτυχής, θα σας δείξει την αναφορά δοκιμής που δημιουργήθηκε. Όποιος έχει πρόσβαση στη Jenkins μπορεί να εκτελέσει αυτήν την εργασία. Επίσης, αυτή η εργασία μπορεί να προγραμματιστεί να εκτελεστεί σε μια συγκεκριμένη ώρα.
συμπέρασμα
Εάν μπορούμε να αντιμετωπίσουμε αυτές τις προκλήσεις με έναν καλά βελτιστοποιημένο τρόπο, τότε ο αυτοματοποιημένος έλεγχος παλινδρόμησης στο ευκίνητο περιβάλλον είναι μια εξαιρετική ευκαιρία για το QA να αναλάβει ηγετικό ρόλο στις ευέλικτες διαδικασίες. Είναι σε καλύτερη θέση για να γεφυρώσει το χάσμα μεταξύ των χρηστών και των προγραμματιστών, να καταλάβει τι απαιτείται, πώς μπορεί να επιτευχθεί και πώς μπορεί να διασφαλιστεί πριν από την ανάπτυξη.
Η πρακτική αυτοματισμού πρέπει να έχει έννομο συμφέρον και στα δύο, στο αποτέλεσμα, καθώς και να συνεχίζει να διασφαλίζει ότι ολόκληρο το εξελισσόμενο σύστημα πληροί τους επιχειρηματικούς στόχους και είναι κατάλληλο για τον σκοπό αυτό.
Η αυτοματοποίηση μιας υπόθεσης δοκιμής παλινδρόμησης είναι πάντα χρήσιμη καθώς είναι η καλύτερη υποψήφια αρχή δοκιμές αυτοματισμού . Μπορείτε να ακολουθήσετε τα παραπάνω βήματα για να αυτοματοποιήσετε οποιαδήποτε δοκιμαστική σουίτα και όχι μόνο την παλινδρόμηση.
Ο έλεγχος αυτοματισμού είναι πολύ χρήσιμος και οικονομικά αποδοτικός και η επένδυση χρόνου στη δοκιμή αυτοματισμού είναι μόνο στη συγγραφή σεναρίων και τη διατήρησή τους. Έτσι, οι δοκιμές αυτοματισμού πρέπει να προγραμματιστούν σωστά και να προγραμματιστούν για ένα επιτυχημένο έργο.
Σχετικά με τον Συγγραφέα: Ο J.B. Rajajumar έχει περισσότερα από 15 χρόνια εμπειρίας τόσο σε Ακαδημαϊκούς όσο και σε Δοκιμές Λογισμικού. Έχει εργαστεί ως Corporate Trainer, Test Lead, QA Manager και QC Manager.
Ενημερώστε μας για τα σχόλια / τις προτάσεις σας σχετικά με αυτό το άρθρο.
=> Επισκεφθείτε εδώ για την πλήρη σειρά δοκιμών παλινδρόμησης.
Συνιστώμενη ανάγνωση
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Testing Primer eBook Λήψη
- 4 βήματα προς την ανάπτυξη της ευέλικτης δοκιμαστικής νοοτροπίας για επιτυχημένη μετάβαση στην ευέλικτη διαδικασία
- Χειροκίνητες προκλήσεις και δοκιμές αυτοματισμού
- Διαφορά μεταξύ δοκιμής επανάληψης και παλινδρόμησης με παράδειγμα
- 5 προκλήσεις και λύσεις δοκιμών για κινητά
- Δοκιμή SaaS: Προκλήσεις, εργαλεία και προσέγγιση δοκιμών
- Τα 10 πιο δημοφιλή εργαλεία δοκιμών παλινδρόμησης το 2021