Πίνακας περιεχομένων[Κρύβω][Προβολή]
Κάθε ομάδα ανάπτυξης ιστού αναλαμβάνει ένα σύνολο δοκιμών στα προϊόντα της, ωστόσο η λύση web που δίνεται αργότερα έχει ελαττώματα.
Ακόμη και με τις καλύτερες χειροκίνητες δοκιμές, τα ελαττώματα αναπόφευκτα εισχωρούν και επανεμφανίζονται, παρά τις προσπάθειες της ομάδας QA να τα εντοπίσει πριν από την πρώτη κυκλοφορία.
Όταν πρόκειται να αυξήσετε την αποτελεσματικότητα και το εύρος των δοκιμών του λογισμικού σας, η αυτοματοποιημένη δοκιμή ιστού είναι η καλύτερη επιλογή σας.
Για διαδικτυακές δοκιμές, η Python γλώσσα προγραμματισμού προσφέρει ένα πλαίσιο ρομπότ που μπορεί να αξιοποιήσει εξωτερικές βιβλιοθήκες όπως το σελήνιο.
Σε αυτήν την ανάρτηση, θα εξετάσουμε περιπτώσεις δοκιμών και άλλους όρους που συνδέονται με το πλαίσιο ρομπότ Python.
Τι είναι ένα πλαίσιο ρομπότ;
Πλαίσιο ρομπότ είναι ένα ευέλικτο πλαίσιο γενικού αυτοματισμού ανοιχτού κώδικα γραμμένο σε Python που χρησιμοποιείται για αυτοματοποιημένες δοκιμές λογισμικού, αυτοματοποίηση ρομποτικής διαδικασίας, δοκιμή αποδοχής και ανάπτυξη βάσει δοκιμής αποδοχής.
Με απλά λόγια, είναι ένα πλαίσιο δοκιμής αυτοματισμού βασισμένο σε λέξεις-κλειδιά που βασίζεται σε Python.
Επιτρέπει στους δοκιμαστές να αυτοματοποιούν και να διατηρούν αποτελεσματικά πολύπλοκα σενάρια διεργασιών. Το πλαίσιο μπορεί να χρησιμοποιηθεί για τη δοκιμή διεπαφών χρήστη και διεπαφών προγραμματισμού εφαρμογών.
Επιτρέπει στους μηχανικούς δοκιμής να χρησιμοποιούν το σελήνιο εκτός από πολλές άλλες ενσωματώσεις. Το Selenium είναι ένα βιομηχανικό εργαλείο για την αυτοματοποίηση της συμπεριφοράς των χρηστών και τη δημιουργία σεναρίων αλληλεπιδράσεων με προγράμματα περιήγησης ιστού που βασίζονται σε χρήστες για οποιονδήποτε ιστότοπο.
Τι είναι η δοκιμή αποδοχής;
Είναι ένας τρόπος προσδιορισμού της χωρητικότητας ενός συστήματος. Ο στόχος της δοκιμής αποδοχής είναι η αξιολόγηση των δυνατοτήτων ενός συστήματος σε σχέση με τις επιχειρηματικές ανάγκες.
Τι είναι ο αυτοματισμός ρομποτικής διαδικασίας;
Το RPA, ή ο ρομποτικός αυτοματισμός διεργασιών, είναι μια μέθοδος ελαχιστοποίησης της ανθρώπινης εργασίας μέσω της χρήσης λογισμικού που ενσωματώνει μάθηση μηχανής και δυνατότητες AI. Το RPA χρησιμοποιείται για την αυτοματοποίηση επαναλαμβανόμενων διαδικασιών υψηλού επιπέδου.
Τι είναι η ανάπτυξη βάσει δοκιμής αποδοχής;
Η ανάπτυξη βάσει δοκιμής αποδοχής, συχνά γνωστή ως ATDD, είναι μια τεχνική ανάπτυξης που βασίζεται στην επικοινωνία μεταξύ επιχειρηματικών πελατών, προγραμματιστών και ελεγκτών. Συνεργάζονται και διεξάγουν δοκιμές αποδοχής πριν από την ανάπτυξη της δυνατότητας.
Πλαίσιο ρομπότ – Αρχιτεκτονική υψηλού επιπέδου
Το Robot Framework είναι ένα πλαίσιο που είναι αγνωστικιστικό για εφαρμογές και τεχνολογία. Η αρχιτεκτονική του είναι πολύ σπονδυλωτή, όπως φαίνεται στην παρακάτω εικόνα.
Τα δεδομένα της δοκιμής παρουσιάζονται σε απλή, επεξεργάσιμη μορφή πίνακα. Το Robot Framework αναλύει δεδομένα, πραγματοποιεί δοκιμαστικές περιπτώσεις και δημιουργεί αρχεία καταγραφής και αναφορές κατά την εκκίνηση.
Το βασικό πλαίσιο δεν γνωρίζει τον υπό δοκιμή στόχο και οι βιβλιοθήκες διαχειρίζονται όλες τις αλληλεπιδράσεις με αυτόν. Οι βιβλιοθήκες μπορούν να αξιοποιήσουν εργαλεία δοκιμής χαμηλότερου επιπέδου ως προγράμματα οδήγησης ή να χρησιμοποιήσουν απευθείας διεπαφές εφαρμογών.
Χαρακτηριστικά
- Διευκολύνει τις δοκιμές βάσει δεδομένων επιτρέποντας τη δοκιμή αυτοματισμού για διάφορους τύπους δεδομένων.
- Αποφεύγει τη χρήση σημαντικών ποσοτήτων κώδικα και αντί αυτού χρησιμοποιεί μια στρατηγική δοκιμών που βασίζεται στη συμπεριφορά.
- Μπορεί να λειτουργήσει με βιβλιοθήκες και λειτουργίες τρίτων.
- Οι λέξεις-κλειδιά (προκαθορισμένες ή καθορισμένες από το χρήστη) χρησιμοποιούνται σε στυλ πίνακα για τη σύνταξη δοκιμαστικών περιπτώσεων.
- Οι χρήστες μπορούν να δημιουργήσουν λέξεις-κλειδιά.
- Επιτρέπεται η χρήση μεταβλητών.
- Το Πλαίσιο χρησιμοποιεί μια μέθοδο βασισμένη σε λέξεις-κλειδιά, στην οποία τα σενάρια γράφονται χρησιμοποιώντας μικροσκοπικούς, εύκολα κατανοητούς όρους (είτε προκαθορισμένους είτε καθορισμένους από τον χρήστη).
- Μετά από κάθε κατασκευή, οι αναφορές,
- και δημιουργούνται αρχεία καταγραφής.
- Δημιουργεί λεπτομερείς αναφορές και αρχεία καταγραφής της κατάστασης εκτέλεσης του σεναρίου, κάτι που είναι ιδιαίτερα χρήσιμο σε περίπτωση που το σενάριο αποτύχει.
Εκμάθηση πλαισίου ρομπότ
Ας κάνουμε βουτιά μέσα.
1. Εγκατάσταση πλαισίου ρομπότ
Το πακέτο pip προτείνεται για την εγκατάσταση του πλαισίου ρομπότ στην Python. Για να εγκαταστήσετε το πλαίσιο, εκτελέστε την ακόλουθη εντολή.
Θα πρέπει να μπορείτε να προβάλετε και τις δύο εκδόσεις πλαισίου διερμηνέα και ρομπότ μετά από μια επιτυχημένη εγκατάσταση χρησιμοποιώντας την επιλογή -version.
2. Βιβλιοθήκες
- Ενσωματωμένη – Αυτή είναι μια τυπική βιβλιοθήκη που περιέχει ένα σύνολο από λέξεις-κλειδιά που χρησιμοποιούνται συνήθως, οι οποίες εισάγονται αυτόματα και είναι διαθέσιμες ανά πάσα στιγμή.
- Συλλογή – Παρέχει ένα σύνολο λέξεων-κλειδιών για εργασία με λίστες και λεξικά Python. Οι λέξεις-κλειδιά της βιβλιοθήκης μπορούν να χρησιμοποιηθούν για την αλλαγή και τη δημιουργία τιμών από λίστες και λεξικά.
- Διάλογοι – Μια τυπική βιβλιοθήκη για διακοπή της εκτέλεσης και λήψη σχολίων από τους χρήστες. Ανάλογα με το αν εκτελούνται οι δοκιμές, τα παράθυρα διαλόγου είναι λίγο ασυνεπή.
- Το DateTime σάς δίνει τη δυνατότητα να δημιουργήσετε και να τροποποιήσετε πληροφορίες ημερομηνίας και ώρας.
- Λειτουργικό σύστημα – Επιτρέπει στο πλαίσιο του ρομπότ να εκτελεί μια ποικιλία εργασιών που σχετίζονται με το λειτουργικό σύστημα στο σύστημα ενώ εκτελείται. Μπορεί, μεταξύ άλλων, να εκτελεί οδηγίες και να παράγει και να τροποποιεί απευθείας δεδομένα.
- Διαδικασία – Αυτή η βιβλιοθήκη χρησιμοποιείται για την εκτέλεση διεργασιών χρησιμοποιώντας υπομονάδες Python και την ανοιχτή κλάση. Η λέξη-κλειδί εκτέλεσης διεργασίας χρησιμοποιείται για την αναμονή μιας εκτελούμενης διεργασίας στο σύστημα και τη μεταγλώττιση της.
- Η XML είναι επίσης μια βιβλιοθήκη κειμένου που χρησιμοποιείται από το πλαίσιο ρομπότ για την επαλήθευση και την τροποποίηση εγγράφων XML.
- Η συμβολοσειρά είναι ένα πακέτο για χειρισμό και επικύρωση συμβολοσειρών.
- Εφαρμόζεται το Telnet που σας επιτρέπει να αλληλεπιδράτε μέσω telnet. Η βιβλιοθήκη telnet σάς επιτρέπει να συνδεθείτε σε έναν διακομιστή telnet μέσω μιας κανονικής σύνδεσης TCP/IP και να εκτελέσετε εντολές.
3. Ενσωματωμένα εργαλεία
Σε ένα πλαίσιο ρομπότ, υπάρχουν κυρίως τέσσερα ενσωματωμένα εργαλεία που χρησιμοποιούνται:
- Rebot – Εργαλεία για τη δημιουργία αρχείων καταγραφής και αναφορών από την έξοδο XML και τη συγχώνευση πολλών εξόδων ταυτόχρονα.
- Testdoc — Με βάση τις δοκιμαστικές περιπτώσεις, το Robot Framework δημιουργεί τεκμηρίωση HTML υψηλού επιπέδου.
- Libdoc – Δημιουργία τεκμηρίωσης λέξεων-κλειδιών για βιβλιοθήκες και αρχεία πόρων.
- Tidy – Robot Framework Tools για καθαρισμό και μετατροπή αρχείων δεδομένων σε διαφορετική μορφή.
4. Δοκιμαστικές περιπτώσεις
Αντί για αυτοματοποιημένες περιπτώσεις δοκιμών, οι δοκιμαστικές περιπτώσεις στο πλαίσιο ρομπότ μπορούν να γραφτούν στα βασικά αγγλικά. Οι ακόλουθες δοκιμές μπορούν να χρησιμοποιηθούν για την ταξινόμηση των σεναρίων δοκιμών.
- Δοκιμές ροής εργασίας
- Δοκιμές ανώτερου επιπέδου
- Δοκιμές που βασίζονται σε δεδομένα
Δοκιμές ροής εργασίας
Οι περιπτώσεις δοκιμής του πλαισίου ρομπότ γράφονται συχνά με σύνταξη πίνακα. Η πρώτη στήλη ενός πίνακα δοκιμής περιέχει τα ονόματα δοκιμής και η δοκιμαστική περίπτωση ξεκινά με οτιδήποτε στη στήλη και τελειώνει με το όνομα της επόμενης περίπτωσης δοκιμής ή στο τέλος του πίνακα.
Ας ρίξουμε μια ματιά σε ένα πραγματικό παράδειγμα για να καταλάβουμε πώς λειτουργεί αυτό.
- Ένας χρήστης μπορεί να δημιουργήσει έναν λογαριασμό και να συνδεθεί.
- Ο χρήστης δεν θα μπορεί να συνδεθεί εάν ο κωδικός πρόσβασης είναι λανθασμένος.
Δοκιμές υψηλού επιπέδου
Η δεύτερη στήλη περιλαμβάνει συνήθως ένα όνομα λέξης-κλειδιού, με εξαίρεση τον ορισμό μεταβλητών με τιμές γραμμένες με λέξεις-κλειδιά.
Οι δοκιμαστικές περιπτώσεις του πλαισίου ρομπότ μπορούν να κατασκευαστούν χρησιμοποιώντας μόνο λέξεις-κλειδιά υψηλού επιπέδου και χωρίς παραμέτρους θέσης. Για να κατανοήσετε περαιτέρω τις δοκιμές υψηλού επιπέδου, εξετάστε το ακόλουθο παράδειγμα.
Δοκιμές που βασίζονται σε δεδομένα
Οι δοκιμές βάσει δεδομένων απομονώνουν δεδομένα δοκιμών αντί να προσομοιώνουν διαδικασίες. Στο πλαίσιο του ρομπότ, η ρύθμιση [πρότυπο] ορίζει την περίπτωση δοκιμής για μια δοκιμή βάσει δεδομένων.
5. Λέξεις-κλειδιά
Για τη δημιουργία δοκιμαστικών περιπτώσεων στο πλαίσιο ρομπότ, χρησιμοποιούνται λέξεις-κλειδιά από δύο πηγές.
- Λέξεις-κλειδιά για μια βιβλιοθήκη
- Λέξεις-κλειδιά για τον χρήστη
Λέξεις-κλειδιά για μια βιβλιοθήκη
Οι τυπικές βιβλιοθήκες ορίζουν όλη την ορολογία χαμηλότερου επιπέδου, η οποία μπορεί να υλοποιηθεί χρησιμοποιώντας γλώσσες υπολογιστών όπως Python και Java.
Οι τυπικές, εξωτερικές και προσαρμοσμένες βιβλιοθήκες είναι μεταξύ των δοκιμαστικών βιβλιοθηκών που είναι διαθέσιμες με το πλαίσιο ρομπότ. Το βασικό πλαίσιο περιλαμβάνει ενσωματωμένες βιβλιοθήκες, στιγμιότυπο οθόνης, λειτουργικό σύστημα και άλλες τυπικές βιβλιοθήκες.
Λέξεις-κλειδιά για τον χρήστη
Η ικανότητα δημιουργίας μοναδικών λέξεων-κλειδιών υψηλού επιπέδου από υπάρχουσες φράσεις είναι ένα από τα πιο σημαντικά χαρακτηριστικά του σχεδιασμού του ρομπότ. Για να κατανοήσουμε καλύτερα πώς λειτουργεί, ας δούμε ένα παράδειγμα.
6. Μεταβλητές
Οι μεταβλητές αποτελούν σημαντικό μέρος κάθε δοκιμαστικής περίπτωσης σε ένα πλαίσιο ρομπότ. Μια μεταβλητή είναι μια εξαιρετική προσέγγιση για τον προσδιορισμό οποιωνδήποτε δεδομένων σε μια δοκιμαστική περίπτωση που υπόκεινται σε αλλαγές ή μεταβλητότητα.
Ας ρίξουμε μια ματιά στον τρόπο ορισμού μεταβλητών σε μια δοκιμαστική περίπτωση.
Καθορισμός μεταβλητών
Εκτός από τις μεταβλητές που ορίζονται από τον χρήστη, το πλαίσιο ρομπότ έχει ενσωματωμένες μεταβλητές όπως $TEMPDIR και $/, τις οποίες χρησιμοποιήσαμε στο προηγούμενο παράδειγμα.
Χρήση μεταβλητών
Οι μεταβλητές μπορούν να χρησιμοποιηθούν οπουδήποτε στη δοκιμαστική περίπτωση.
Ωστόσο, χρησιμοποιούνται πιο συχνά ως ορίσματα λέξεων-κλειδιών. Εξετάστε το ακόλουθο παράδειγμα για να δείξετε τι εννοώ.
7. Οργάνωση δοκιμαστικών υποθέσεων
Τα αρχεία υποθέσεων δοκιμής χρησιμοποιούνται για τη δημιουργία υποθέσεων δοκιμών ρομπότ, αλλά μπορούν επίσης να ομαδοποιηθούν σε καταλόγους για να δημιουργήσουν μια ιεραρχία δοκιμαστικής σουίτας. Μια δοκιμαστική σουίτα είναι μια ομαδοποίηση δοκιμαστικών περιπτώσεων. Μια δοκιμαστική σουίτα αποτελείται από όλα τα αρχεία που περιέχουν δοκιμαστικές περιπτώσεις.
Χρησιμοποιώντας καταλόγους, οι περιπτώσεις δοκιμής μπορούν να δομηθούν σε μια ιεραρχία. Όλοι αυτοί οι κατάλογοι παρέχουν δοκιμαστικές σουίτες υψηλού επιπέδου με ονόματα που προέρχονται από τα ονόματα των καταλόγων.
Χρησιμοποιώντας ρυθμίσεις και Teardowns
Οι επιλογές "Test Setup" και "Test Teardown" του πίνακα ρυθμίσεων μπορούν να χρησιμοποιηθούν για την εκτέλεση μιας συγκεκριμένης λέξης-κλειδιού σε μια δοκιμή πριν ή μετά την ολοκλήρωσή της. Μπορείτε επίσης να χρησιμοποιήσετε το "Suite Setup" και το "Suite Teardown" για να εκτελέσετε λέξεις-κλειδιά πριν ή μετά από μια δοκιμαστική σουίτα.
Μπορείτε να δημιουργήσετε προσαρμοσμένα [Setup] και [Teardown] σε μια δοκιμαστική περίπτωση, παρόμοια με το [Template]. Εξετάστε το ακόλουθο σενάριο για να το καταλάβετε καλύτερα.
Χρήση ετικετών
Το πλαίσιο ρομπότ επιτρέπει τη χρήση ετικετών για την παροχή δωρεάν μεταδεδομένων σε δοκιμαστικές περιπτώσεις. Οι "Force Tags" και οι "Default Tags" μπορούν να χρησιμοποιηθούν για τον ορισμό ετικετών σε ένα αρχείο. Το [Tags], όπως το [Template], μπορεί να χρησιμοποιηθεί για την αντιστοίχιση ετικετών σε μία μόνο δοκιμαστική περίπτωση. Ας δούμε ένα παράδειγμα για να δούμε πώς χρησιμοποιούμε τις ετικέτες.
Η αναφορά θα περιλαμβάνει ετικέτες με περιπτώσεις δοκιμών που συνδέονται με αυτές, καθώς και στατιστικά στοιχεία με βάση τις ετικέτες, μετά την εκτέλεση.
ΥΠΕΡ
- Είναι εύκολο να ρυθμίσετε το Robot Framework.
- Βασίζεται στη χρήση λέξεων-κλειδιών.
- Σας δίνει τη δυνατότητα να χρησιμοποιήσετε το Gherkin.
- Λειτουργεί και με τα δύο εφαρμογές για κινητά και web.
- Οι βασικές αρχές του Robot Framework είναι εύκολο να κατανοηθούν.
- Χρησιμοποιεί μια προσέγγιση χαμηλού κώδικα.
- Υποστηρίζονται όλα τα Windows, το Mac OS X, το Unix και το Linux.
- Οι Python, IronPython και PyPy είναι όλες υποστηριζόμενες γλώσσες προγραμματισμού.
- Λειτουργεί με όλα τα μεγάλα προγράμματα περιήγησης ιστού.
- Το Robot Framework είναι ένα δωρεάν στη χρήση εργαλείο αυτοματισμού ανοιχτού κώδικα.
ΚΑΤΑ
- Η παράλληλη εκτέλεση δοκιμής δεν υποστηρίζεται από το Robot Framework.
- Το Robot Framework είναι δύσκολο να συμβαδίσει.
- Οι αναφορές HTML στο Robot Framework είναι δύσκολο να αλλάξουν.
- Ο εντοπισμός σφαλμάτων ορισμένων ζητημάτων του Robot Framework μπορεί να είναι δύσκολος.
- Η εσοχή εφαρμόζεται αυστηρά στο Robot Framework.
Συμπέρασμα
Η πλατφόρμα Robot είναι ένα δωρεάν και ανοιχτού κώδικα πλαίσιο ανάπτυξης δοκιμών αποδοχής και αποδοχής βάσει δοκιμών.
Οι δοκιμαστικές περιπτώσεις του πλαισίου ρομπότ βασίζονται σε λέξεις-κλειδιά που εκφράζονται σε στυλ πίνακα, το οποίο τις καθιστά εύκολα κατανοητές και παρέχει ακριβείς πληροφορίες σχετικά με το νόημα της δοκιμαστικής περίπτωσης.
Είναι πραγματικά βολικό και απλό στη χρήση.
Ορισμένοι από εσάς το έχετε χρησιμοποιήσει στο παρελθόν, οπότε αν έχετε ρυθμίσει τις δοκιμές σας και την εφαρμογή Android / iOS είναι έτοιμη για χρήση, δοκιμάστε την.
Θα εκπλαγείτε με το πόσο καλά λειτουργούν τα πράγματα και πόσο σύντομα μπορεί να ολοκληρωθεί η δοκιμή αποδοχής.
Αφήστε μια απάντηση