what is automation testing
Ένας πλήρης οδηγός για να ξεκινήσετε τη δοκιμή αυτοματισμού στο έργο σας:
Τι είναι ο έλεγχος αυτοματισμού;
Ο έλεγχος αυτοματισμού είναι μια τεχνική δοκιμής λογισμικού για τη δοκιμή και τη σύγκριση του πραγματικού αποτελέσματος με το αναμενόμενο αποτέλεσμα. Αυτό μπορεί να επιτευχθεί γράφοντας σενάρια δοκιμής ή χρησιμοποιώντας οποιοδήποτε εργαλείο δοκιμής αυτοματισμού. Ο αυτοματοποιημένος έλεγχος χρησιμοποιείται για την αυτοματοποίηση επαναλαμβανόμενων εργασιών και άλλων εργασιών δοκιμών που είναι δύσκολο να εκτελεστούν χειροκίνητα.
Θέλετε να ξεκινήσετε τη δοκιμή αυτοματοποίησης στο έργο σας, αλλά αγωνίζεστε με τα πιο βασικά βήματα όπως αναφέρονται παρακάτω:
- Πώς να εισαγάγετε τον αυτοματισμό στο έργο σας;
- Πώς να επιλέξετε το καλύτερο και σωστό εργαλείο αυτοματισμού;
- Πώς να αναπτύξετε αποτελεσματικά τα σενάρια;
- Πώς να εκτελέσετε και να συντηρήσετε δοκιμαστικά σενάρια;
- Και τέλος, ποιες είναι οι βέλτιστες πρακτικές που πρέπει να ακολουθήσετε για επιτυχή δοκιμή αυτοματισμού;
Σήμερα, έχουμε προγραμματίσει να εμπλουτίσουμε τις γνώσεις σας με μια σειρά μαθημάτων σχετικά με το « Ξεκινώντας με τον έλεγχο αυτοματισμού '. Αυτή η σειρά σεμιναρίων αυτοματισμού θα απαντήσει σε όλες τις παραπάνω ερωτήσεις βήμα προς βήμα με απλά παραδείγματα.
Ας ρίξουμε μια ματιά στη σειρά μαθημάτων για την εκκίνηση του αυτοματισμού στο έργο σας !!
Διαδικασία αυτοματοποίησης από άκρο σε άκρο:
Εκμάθηση # 1 : Ο καλύτερος οδηγός για να ξεκινήσετε αυτοματοποίηση στο έργο σας
Εκμάθηση # 2: Τύποι αυτοματοποιημένων δοκιμών και ορισμένες παρανοήσεις
Εκμάθηση # 3: 10 βήματα για την εισαγωγή αυτοματισμού στο έργο σας
Εκμάθηση # 4: Ο οδηγός A έως Z για την επιλογή του καλύτερου εργαλείου αυτοματισμού
Εκμάθηση # 5: Πλαίσια ανάπτυξης σεναρίων και αυτοματισμού
Εκμάθηση # 6: Εκτέλεση και αναφορά Αυτοματισμού
Εκμάθηση # 7: Βέλτιστες πρακτικές και στρατηγικές αυτοματισμού δοκιμών
Συμβουλές αυτοματισμού:
Εκμάθηση # 8: 10 συμβουλές που πρέπει να διαβάσετε πριν αυτοματοποιήσετε τη δοκιμαστική σας εργασία
Εκμάθηση # 9: Πώς διαφέρει ο σχεδιασμός δοκιμών για χειροκίνητα και αυτοματοποιημένα έργα
Εκμάθηση # 10: Πότε να επιλέξετε αυτοματοποίηση;
Εκμάθηση # 11: Προκλήσεις δοκιμής αυτοματισμού
Εκμάθηση # 12: Οδηγός για την εφαρμογή του Proof of Concept (POC) στον αυτοματισμό
Εκμάθηση # 13: Πώς να επιλέξετε σωστές περιπτώσεις δοκιμών για αυτοματισμό
Εκμάθηση # 14: Τρόπος μετάφρασης μη αυτόματων περιπτώσεων δοκιμής σε σενάρια αυτοματισμού
Καριέρα Αυτοματισμού:
Εκμάθηση # 15: Συμβουλές για να γίνετε καλύτερος Tester αυτοματισμού
Εκμάθηση # 16: Δοκιμή αυτοματισμού - Είναι μια εξειδικευμένη καριέρα; Μπορούν οι κανονικοί δοκιμαστές να αυτοματοποιήσουν επίσης;
Δημοφιλή εργαλεία αυτοματισμού:
Εκμάθηση # 17: Σελήνια Σεμινάρια 31+ Καλύτερα Δωρεάν Εκπαιδευτικά Σελήνια
Εκμάθηση # 18: Εκμάθηση QTP
Εκμάθηση # 19: Εργαλείο δοκιμών υπηρεσιών Web SoapUI
Εκμάθηση # 20: HP LoadRunner για δοκιμές απόδοσης
Πλαίσια αυτοματισμού:
Εκμάθηση # 21: Γιατί χρειαζόμαστε πλαίσιο για αυτοματοποίηση
Εκμάθηση # 22: Πιο δημοφιλή πλαίσια αυτοματισμού
Αυτοματισμός σε ευκίνητο:
Εκμάθηση # 23: Πώς να εφαρμόσετε αποτελεσματικό αυτοματισμό στον ευέλικτο κόσμο
Άλλα εργαλεία αυτοματισμού:
Εκμάθηση # 24: Καλύτερα εργαλεία δοκιμής αυτοματισμού
Εκμάθηση # 25: Εργαλείο αυτοματισμού Sikuli GUI
Εκμάθηση # 26: PowerShell: Αυτοματισμός διεπαφής χρήστη επιφάνειας εργασίας με PowerShell
Εκμάθηση # 27: Καταγραφικό αυτοματισμού Catalon (Selenium IDE Alternative)
Εκμάθηση # 28: Εργαλείο Geb: Αυτοματοποίηση προγράμματος περιήγησης με χρήση του εργαλείου Geb
Εκμάθηση # 29: AutoIt: Πώς να χειριστείτε το αναδυόμενο παράθυρο των Windows χρησιμοποιώντας το AutoIt
Εκμάθηση # 30: Αγγούρι: Αυτοματοποίηση με χρήση εργαλείου αγγουριού και σεληνίου
Εκμάθηση # 31: Εργαλείο δοκιμής μοιρογνωμόνων για δοκιμή End-to-end των εφαρμογών AngularJS
Δοκιμή αυτοματισμού για κινητά:
Εκμάθηση # 32: Ενημερωτικό εκπαιδευτικό πρόγραμμα Appium Studio
Εκμάθηση # 33: Εκμάθηση Appium για αρχάριους
Εκμάθηση # 34: Tutorial Selendroid: Πλαίσιο αυτοματισμού Android για κινητά
Εκμάθηση # 35: Ranorex Tutorial: Ένα ισχυρό εργαλείο για επιτραπέζιους υπολογιστές, Web και Mobile
Παραδείγματα Αυτοματισμού Ειδικού Τομέα:
Εκμάθηση # 36: Αυτοματοποίηση εφαρμογών JAVA / J2EE
Προετοιμασία συνέντευξης για εργασίες αυτοματοποίησης:
Εκμάθηση # 37: Ερωτήσεις συνέντευξης δοκιμών αυτοματισμού
Εκμάθηση # 38: Ερωτήσεις συνέντευξης σεληνίου
Ας εξερευνήσουμε το πρώτο σεμινάριο από τη σειρά 'Ο απόλυτος οδηγός για τη δοκιμή αυτοματισμού' !!
Τι θα μάθετε:
- Τι είναι ο έλεγχος αυτοματισμού;
- Αυτοματισμός - Μια οικονομικά αποδοτική μέθοδος για τον έλεγχο παλινδρόμησης
- Σενάρια που απαιτούν αυτοματοποίηση
- Σωστές δοκιμές για αυτοματοποίηση
- Τι ΔΕΝ αυτοματοποιείται;
- Απλό παράδειγμα αυτοματισμού δοκιμής
- Τι είναι οι ισχυρισμοί;
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τι είναι ο έλεγχος αυτοματισμού;
Εάν ένα λογισμικό μπορεί να κάνει τίποτα τότε, γιατί δεν μπορεί ένα λογισμικό να δοκιμάσει ένα λογισμικό;
Ακούγεται λογική αυτή η δήλωση;
Εάν ναι, τότε συγχαρητήρια, τώρα σκέφτεστε το Test Automation, το οποίο είναι το κεντρικό σημείο που θα συζητήσουμε σε αυτήν τη σειρά ενημερωτικών οδηγών.
Φανταστείτε τον εαυτό σας την πρώτη μέρα στη δουλειά σας ως SQA. Σας παρουσιάζεται μια αίτηση για δοκιμή. Πρόκειται για μια εφαρμογή ERP που περιέχει 100s φόρμες και χιλιάδες αναφορές. Ξεκινάτε τις διερευνητικές δοκιμές ανοίγοντας μια φόρμα που περιέχει περίπου 50 διαφορετικά πεδία.
Προσπαθείτε να εισαγάγετε τυχαία δεδομένα σε αυτήν τη φόρμα που χρειάστηκαν περίπου 20 λεπτά. Στη συνέχεια πατάτε υποβολή. Wolla !! Εμφανίζεται ένα μήνυμα σφάλματος που μοιάζει με μια εξαίρεση χωρίς χειρισμό. Γίνεσαι πολύ χαρούμενος. Σημειώστε με υπερηφάνεια τα βήματα και αναφέρετε το σφάλμα στο σύστημα διαχείρισης σφαλμάτων. Μεγάλη προσπάθεια, αισθάνεστε πραγματικά αυτοπεποίθηση και ενεργητικός. Συνεχίζετε τη δοκιμή μέχρι τη λήξη της ημέρας και βρείτε μερικά ακόμη σφάλματα. «Καταπληκτική πρώτη μέρα», σκέφτηκες.
Τώρα έρχεται την επόμενη μέρα, ο προγραμματιστής έχει επιδιορθώσει το πρόβλημα και κυκλοφορεί μια νέα έκδοση του build. Δοκιμάζετε την ίδια φόρμα με τα ίδια βήματα και διαπιστώσατε ότι το σφάλμα έχει διορθωθεί. Το επισημαίνετε ως σταθερό. Σπουδαία προσπάθεια. Έχετε συνεισφέρει στην ποιότητα του προϊόντος προσδιορίζοντας αυτό το σφάλμα και καθώς αυτό το σφάλμα διορθώνεται, η ποιότητα βελτιώνεται.
Τώρα έρχεται η τρίτη μέρα, ένας προγραμματιστής κυκλοφόρησε και πάλι μια νεότερη έκδοση. Τώρα πρέπει πάλι να δοκιμάσετε αυτήν τη φόρμα για να βεβαιωθείτε ότι δεν υπάρχει πρόβλημα παλινδρόμησης. Ίδια 20 λεπτά. Τώρα αισθάνεστε λίγο βαριεστημένος.
Τώρα φανταστείτε 1 μήνα από τώρα και στο εξής, οι νεότερες εκδόσεις κυκλοφορούν συνεχώς και σε κάθε κυκλοφορία, πρέπει να δοκιμάσετε αυτήν τη μακρά φόρμα συν 100 άλλες μορφές όπως αυτή, απλώς για να βεβαιωθείτε ότι δεν υπάρχει παλινδρόμηση.
Τώρα νιώθεις θυμωμένος. Νιώθεις κουρασμένος . Αρχίζετε να παραλείψετε τα βήματα. Συμπληρώνετε μόνο το 50% των συνολικών πεδίων. Η ακρίβειά σας δεν είναι η ίδια, η ενέργειά σας δεν είναι η ίδια και σίγουρα, τα βήματά σας δεν είναι τα ίδια.
Και μια μέρα, ο πελάτης αναφέρει το ίδιο σφάλμα στην ίδια μορφή. Νιώθεις αξιολύπητος. Νιώθεις αβέβαιος τώρα. Νομίζεις ότι δεν είσαι αρκετά ικανός. Οι διευθυντές αμφισβητούν την ικανότητά σας.
Έχω νέα για σένα. αυτή είναι η ιστορία του 90% των μη αυτόματων δοκιμαστών εκεί έξω. Δεν είσαι διαφορετικός.
Τα ζητήματα παλινδρόμησης είναι τα πιο οδυνηρά ζητήματα. Είμαστε άνθρωποι. Και δεν μπορούμε να κάνουμε το ίδιο πράγμα με την ίδια ενέργεια, ταχύτητα και ακρίβεια κάθε μέρα. Αυτό κάνουν οι μηχανές. Για αυτό απαιτείται αυτοματοποίηση, προκειμένου να επαναληφθούν τα ίδια βήματα με την ίδια ταχύτητα, ακρίβεια και ενέργεια όπως επαναλήφθηκαν την πρώτη φορά.
Ελπίζω να καταλάβετε το σημείο μου !!
Κάθε φορά που προκύπτει τέτοια κατάσταση, θα πρέπει να αυτοματοποιήσετε τη δοκιμαστική σας υπόθεση. Ο αυτοματισμός δοκιμής είναι ο φίλος σας . Θα σας βοηθήσει να επικεντρωθείτε στη νέα λειτουργικότητα, ενώ φροντίζετε τις παλινδρομήσεις. Με τον αυτοματισμό, μπορείτε να συμπληρώσετε αυτήν τη φόρμα σε λιγότερο από 3 λεπτά.
Το σενάριο θα γεμίσει όλα τα πεδία και θα σας πει το αποτέλεσμα μαζί με στιγμιότυπα οθόνης. Σε περίπτωση αποτυχίας, μπορεί να εντοπίσει τη θέση όπου απέτυχε η δοκιμαστική θήκη, βοηθώντας σας έτσι να την αναπαραγάγετε με ευκολία.
Αυτοματισμός - Μια οικονομικά αποδοτική μέθοδος για τον έλεγχο παλινδρόμησης
Το κόστος αυτοματισμού είναι πολύ υψηλότερο αρχικά. Περιλαμβάνει το κόστος του εργαλείου, μετά το κόστος του πόρου δοκιμών αυτοματοποίησης και την εκπαίδευσή του.
Αλλά όταν τα σενάρια είναι έτοιμα, μπορούν να εκτελεστούν εκατοντάδες φορές επανειλημμένα με την ίδια ακρίβεια και μάλλον γρήγορα. Αυτό θα εξοικονομήσει πολλές ώρες μη αυτόματων δοκιμών. Έτσι, το κόστος μειώνεται σταδιακά και τελικά γίνεται μια οικονομικά αποδοτική μέθοδος Δοκιμή παλινδρόμησης .
Σενάρια που απαιτούν αυτοματοποίηση
Το παραπάνω σενάριο δεν είναι η μόνη περίπτωση που θα χρειαστείτε έλεγχο αυτοματισμού. Υπάρχουν πολλές καταστάσεις, οι οποίες δεν μπορούν να ελεγχθούν χειροκίνητα.
Για παράδειγμα ,
- Συγκρίνοντας δύο εικόνες pixel με pixel.
- Σύγκριση δύο υπολογιστικών φύλλων που περιέχουν χιλιάδες σειρές και στήλες.
- Δοκιμή μιας εφαρμογής με φορτίο 100.000 χρηστών.
- Σημεία αναφοράς απόδοσης.
- Δοκιμή της εφαρμογής σε διαφορετικά προγράμματα περιήγησης και σε διαφορετικά λειτουργικά συστήματα παράλληλα.
Αυτές οι καταστάσεις απαιτούν και πρέπει να δοκιμαστούν με εργαλεία.
Λοιπόν, πότε να αυτοματοποιηθεί;
Αυτή είναι μια εποχή ευέλικτη μεθοδολογία στο SDLC, όπου η ανάπτυξη και οι δοκιμές θα πάνε σχεδόν παράλληλα και είναι πολύ δύσκολο να αποφασιστεί πότε θα αυτοματοποιηθεί.
Εξετάστε τις ακόλουθες καταστάσεις πριν μπείτε στον αυτοματισμό
- Το προϊόν μπορεί να βρίσκεται στα αρχικά του στάδια, όταν το προϊόν δεν έχει καν UI, σε αυτά τα στάδια πρέπει να έχουμε μια σαφή σκέψη για το τι θέλουμε να αυτοματοποιήσουμε. Πρέπει να θυμάστε τα ακόλουθα σημεία.
- Οι δοκιμές δεν πρέπει να είναι ξεπερασμένες.
- Καθώς το προϊόν εξελίσσεται, πρέπει να είναι εύκολο να διαλέξετε τα σενάρια και να τα προσθέσετε σε αυτό.
- Είναι πολύ σημαντικό να μην παρασυρθείτε και να διασφαλίσετε ότι τα σενάρια είναι εύκολο να εντοπιστούν.
- Μην επιχειρήσετε αυτοματοποίηση UI στα αρχικά στάδια, καθώς το UI υπόκειται σε συχνές αλλαγές, με αποτέλεσμα να αποτύχουν τα σενάρια. Στο μέτρο του δυνατού, επιλέξτε αυτοματοποίηση επιπέδου API / Non UI έως ότου σταθεροποιηθεί το προϊόν. Ο αυτοματισμός API είναι εύκολο να διορθωθεί και να εντοπιστεί ο εντοπισμός σφαλμάτων.
Πώς να αποφασίσετε τις καλύτερες περιπτώσεις αυτοματισμού:
Ο αυτοματισμός αποτελεί αναπόσπαστο μέρος ενός κύκλου δοκιμών και είναι πολύ σημαντικό να αποφασίσουμε τι θέλουμε να επιτύχουμε με τον αυτοματισμό προτού αποφασίσουμε να αυτοματοποιήσουμε.
Τα οφέλη που φαίνεται να παρέχει ο αυτοματισμός είναι πολύ ελκυστικά, αλλά ταυτόχρονα, μια μη οργανωμένη σουίτα αυτοματισμού μπορεί να χαλάσει ολόκληρο το παιχνίδι. Οι δοκιμαστές ενδέχεται να καταλήξουν στον εντοπισμό σφαλμάτων και την επιδιόρθωση των σεναρίων τις περισσότερες φορές με αποτέλεσμα την απώλεια χρόνου δοκιμής.
εφαρμογή λήψης βίντεο youtube για υπολογιστή
Αυτή η σειρά σας εξηγεί πώς μια αυτοματοποιημένη σουίτα μπορεί να γίνει αρκετά αποτελεσματική για να πάρει τις σωστές περιπτώσεις δοκιμών και να αποδώσει τα σωστά αποτελέσματα με τα σενάρια αυτοματισμού που έχουμε.
Επίσης, έχω καλύψει τις απαντήσεις σε ερωτήσεις όπως πότε να αυτοματοποιηθούν, τι να αυτοματοποιηθούν, τι να μην αυτοματοποιηθούν και πώς να στρατηγικοποιηθεί ο αυτοματισμός.
Σωστές δοκιμές για αυτοματοποίηση
Ο καλύτερος τρόπος για να αντιμετωπίσετε αυτό το πρόβλημα είναι να βρείτε γρήγορα μια «Στρατηγική Αυτοματισμού» που ταιριάζει στο προϊόν μας.
Η ιδέα είναι να ομαδοποιήσουμε τις δοκιμαστικές περιπτώσεις ώστε κάθε ομάδα να μας δώσει ένα διαφορετικό είδος αποτελέσματος. Η παρακάτω εικόνα δείχνει πώς θα μπορούσαμε να ομαδοποιήσουμε τις παρόμοιες δοκιμαστικές μας περιπτώσεις, ανάλογα με το προϊόν / λύση που δοκιμάζουμε.
Ας βουτήξουμε τώρα βαθιά και να κατανοήσουμε τι μπορεί να μας βοηθήσει κάθε ομάδα να πετύχουμε:
# 1) Δημιουργήστε μια δοκιμαστική σουίτα με όλες τις βασικές λειτουργίες Θετικές δοκιμές . Αυτή η σουίτα θα πρέπει να είναι αυτοματοποιημένη και όταν αυτή η σουίτα εκτελείται έναντι οποιασδήποτε έκδοσης, τα αποτελέσματα εμφανίζονται αμέσως. Οποιοδήποτε σενάριο αποτύχει σε αυτήν τη σουίτα οδηγεί σε ελάττωμα S1 ή S2 και αυτό το συγκεκριμένο build μπορεί να αποκλειστεί. Έτσι έχουμε εξοικονομήσει πολύ χρόνο εδώ.
Ως ένα επιπλέον βήμα, μπορούμε να προσθέσουμε αυτήν την αυτοματοποιημένη σουίτα δοκιμών ως μέρος του BVT (Δοκιμές επαλήθευσης έκδοσης) και να ελέγξουμε τα σενάρια αυτοματοποίησης QA στη διαδικασία δημιουργίας προϊόντων. Έτσι, όταν το build είναι έτοιμο, οι δοκιμαστές μπορούν να ελέγξουν για τα αποτελέσματα των δοκιμών αυτοματοποίησης και να αποφασίσουν εάν το build είναι κατάλληλο ή όχι για εγκατάσταση και περαιτέρω διαδικασία δοκιμής.
Αυτό επιτυγχάνει σαφώς τους στόχους της αυτοματοποίησης που είναι:
- Μειώστε την προσπάθεια δοκιμών.
- Βρείτε σφάλματα σε προηγούμενα στάδια.
#δύο) Στη συνέχεια, έχουμε μια ομάδα Δοκιμές από άκρο σε άκρο .
Κάτω από μεγάλες λύσεις, ο έλεγχος της λειτουργικότητας από άκρο σε άκρο κρατά το κλειδί, ειδικά κατά τη διάρκεια των κρίσιμων σταδίων του έργου. Θα πρέπει να έχουμε μερικά σενάρια αυτοματισμού που αγγίζουν και τις δοκιμές λύσεων από άκρο σε άκρο. Όταν εκτελείται αυτή η σουίτα, το αποτέλεσμα πρέπει να υποδεικνύει εάν το προϊόν στο σύνολό του λειτουργεί όπως αναμένεται ή όχι.
Η δοκιμαστική σουίτα αυτοματισμού θα πρέπει να υποδεικνύεται εάν κάποιο από τα κομμάτια ολοκλήρωσης έχει σπάσει. Αυτή η σουίτα δεν χρειάζεται να καλύπτει κάθε μικρό χαρακτηριστικό / λειτουργικότητα της λύσης, αλλά θα πρέπει να καλύπτει τη λειτουργία του προϊόντος στο σύνολό του. Κάθε φορά που έχουμε άλφα ή beta ή άλλες ενδιάμεσες κυκλοφορίες, τότε τέτοια σενάρια είναι χρήσιμα και δίνουν κάποιο επίπεδο εμπιστοσύνης στον πελάτη.
Για να κατανοήσουμε καλύτερα ας υποθέσουμε ότι δοκιμάζουμε ένα διαδικτυακή πύλη αγορών , ως μέρος των δοκιμών από άκρο σε άκρο θα πρέπει να καλύπτουμε μόνο τα βασικά βήματα που εμπλέκονται.
Όπως δίνεται παρακάτω:
- Σύνδεση χρήστη.
- Αναζήτηση και επιλογή αντικειμένων.
- Επιλογή πληρωμής - καλύπτει τις δοκιμές διεπαφής.
- Διαχείριση παραγγελιών backend (περιλαμβάνει επικοινωνία με πολλούς ενσωματωμένους συνεργάτες, έλεγχος αποθεμάτων, αποστολή μέσω email στο χρήστη κ.λπ.) - αυτό θα βοηθήσει στη δοκιμή ενοποίησης μεμονωμένων κομματιών και επίσης του βασικού προϊόντος.
Επομένως, όταν εκτελείται ένα τέτοιο σενάριο, δίνει την αυτοπεποίθηση ότι η λύση στο σύνολό της λειτουργεί καλά.
# 3) Το τρίτο σετ είναι το Δοκιμές βάσει λειτουργιών / λειτουργικότητας .
Για παράδειγμα , Ενδέχεται να έχουμε τη λειτουργικότητα να περιηγηθούμε και να επιλέξουμε ένα αρχείο, οπότε όταν αυτοματοποιούμε αυτό, μπορούμε να αυτοματοποιήσουμε τις περιπτώσεις για να συμπεριλάβουμε την επιλογή διαφορετικών τύπων αρχείων, μεγεθών αρχείων κ.λπ., ώστε να πραγματοποιηθεί ο έλεγχος δυνατοτήτων. Όταν υπάρχουν οποιεσδήποτε αλλαγές / προσθήκες σε αυτήν τη λειτουργικότητα αυτή η σουίτα μπορεί να χρησιμεύσει ως σουίτα παλινδρόμησης.
# 4) Στη συνέχεια θα ήταν η λίστα Δοκιμές βάσει διεπαφής χρήστη. Μπορούμε να έχουμε μια άλλη σουίτα που θα δοκιμάζει λειτουργίες που βασίζονται αποκλειστικά σε διεπαφή χρήστη, όπως σελιδοποίηση, περιορισμός χαρακτήρων πλαισίου κειμένου, κουμπί ημερολογίου, αναπτυσσόμενα μενού, γραφήματα, εικόνες και πολλές τέτοιες κεντρικές λειτουργίες μόνο. Η αποτυχία αυτών των σεναρίων συνήθως δεν είναι πολύ κρίσιμη, εκτός εάν το περιβάλλον χρήστη είναι εντελώς εκτός λειτουργίας ή ορισμένες σελίδες δεν εμφανίζονται όπως αναμένεται!
# 5) Μπορούμε να έχουμε ένα ακόμη σύνολο δοκιμών που είναι απλές αλλά πολύ επίπονες για να πραγματοποιηθούν χειροκίνητα. Οι κουραστικοί αλλά απλοί έλεγχοι είναι οι ιδανικοί υποψήφιοι αυτοματισμού, για παράδειγμα η εισαγωγή λεπτομερειών 1000 πελατών στη βάση δεδομένων έχει μια απλή λειτουργικότητα, αλλά εξαιρετικά κουραστικό να πραγματοποιείται χειροκίνητα, τέτοιες δοκιμές θα πρέπει να αυτοματοποιηθούν. Εάν όχι, συνήθως καταλήγουν να αγνοούνται και να μην δοκιμάζονται.
Τι ΔΕΝ αυτοματοποιείται;
Παρακάτω δίνονται λίγες δοκιμές που δεν πρέπει να αυτοματοποιηθούν.
# 1) Αρνητικές δοκιμές / δοκιμές Failover
Δεν πρέπει να επιχειρήσουμε αυτοματοποίηση αρνητικές δοκιμές ή δοκιμές ανακατεύθυνσης , καθώς για αυτές τις δοκιμές οι δοκιμαστές πρέπει να σκεφτούν αναλυτικά και οι αρνητικές δοκιμές δεν είναι πραγματικά απλές για να δώσουν ένα αποτέλεσμα επιτυχίας ή αποτυχίας που μπορεί να μας βοηθήσει.
Οι αρνητικές δοκιμές θα χρειαστούν πολλή χειροκίνητη παρέμβαση για να προσομοιώσουν ένα πραγματικό σενάριο αποκατάστασης καταστροφών. Για παράδειγμα, δοκιμάζουμε λειτουργίες όπως η αξιοπιστία των υπηρεσιών Ιστού - για να το γενικεύσουμε εδώ, ο κύριος στόχος τέτοιων δοκιμών θα ήταν να προκαλέσουν εσκεμμένες αποτυχίες και να δούμε πόσο καλά το προϊόν καταφέρνει να είναι αξιόπιστο.
Η προσομοίωση των παραπάνω βλαβών δεν είναι απλή, μπορεί να περιλαμβάνει την έγχυση μερικών στελεχών ή τη χρήση ορισμένων εργαλείων στο μεταξύ και ο αυτοματισμός δεν είναι ο καλύτερος τρόπος να πάτε εδώ.
# 2) Ειδικές δοκιμές
Αυτές οι δοκιμές μπορεί να μην είναι πραγματικά σχετικές με ένα προϊόν ανά πάσα στιγμή και αυτό μπορεί ακόμη και να είναι κάτι που θα μπορούσε να σκεφτεί ο υπεύθυνος δοκιμών σε αυτό το στάδιο έναρξης του έργου, και επίσης η προσπάθεια αυτοματοποίησης μιας δοκιμής ad-hoc πρέπει να επικυρωθεί έναντι της κρίσιμης σημασίας. της δυνατότητας που αγγίζουν οι δοκιμές.
Για παράδειγμα , Ένας υπεύθυνος δοκιμών που δοκιμάζει μια λειτουργία που ασχολείται με συμπίεση / κρυπτογράφηση δεδομένων ενδέχεται να έχει κάνει έντονες ad-hoc δοκιμές με την ποικιλία δεδομένων, τύπων αρχείων, μεγεθών αρχείων, κατεστραμμένων δεδομένων, συνδυασμού δεδομένων, χρησιμοποιώντας διαφορετικούς αλγόριθμους, σε διάφορους πλατφόρμες κ.λπ.
Όταν σχεδιάζουμε αυτοματοποίηση ίσως θέλουμε να δώσουμε προτεραιότητα και να μην κάνουμε πλήρη αυτοματοποίηση όλων των ad hoc τεστ μόνο για αυτήν τη λειτουργία και να καταλήξουμε με λίγο χρόνο για την αυτοματοποίηση των άλλων βασικών χαρακτηριστικών.
# 3) Δοκιμές με μαζική προεγκατάσταση
Υπάρχουν δοκιμές που απαιτούν τεράστιες προϋποθέσεις.
Για παράδειγμα, Ενδέχεται να έχουμε ένα προϊόν που να ενσωματώνεται σε λογισμικό τρίτων για ορισμένες από τις λειτουργίες, καθώς το προϊόν ενσωματώνεται σε οποιοδήποτε σύστημα ουράς ανταλλαγής μηνυμάτων που απαιτεί εγκατάσταση σε ένα σύστημα, ρύθμιση ουρών, δημιουργία ουρών κ.λπ.
Το 3rdτο λογισμικό πάρτι μπορεί να είναι οτιδήποτε και η εγκατάσταση μπορεί να είναι πολύπλοκη και αν αυτά τα σενάρια είναι αυτοματοποιημένα, τότε αυτά εξαρτώνται για πάντα από τη λειτουργία / ρύθμιση αυτού του λογισμικού τρίτων.
Τα προαπαιτούμενα περιλαμβάνουν:
Προς το παρόν τα πράγματα μπορεί να φαίνονται απλά και καθαρά καθώς γίνονται και οι δύο πλευρικές ρυθμίσεις και όλα είναι καλά. Έχουμε δει πολλές φορές ότι όταν ένα έργο μπαίνει στη φάση συντήρησης, το έργο μετακινείται σε άλλη ομάδα και καταλήγουν να εντοπίζουν σφάλματα σεναρίων όπου η πραγματική δοκιμή είναι πολύ απλή, αλλά το σενάριο αποτυγχάνει λόγω 3rdπρόβλημα λογισμικού πάρτι.
Τα παραπάνω είναι απλώς ένα παράδειγμα, σε γενικές γραμμές, παρακολουθήστε τις δοκιμές που έχουν επίπονες προρυθμίσεις για μια απλή δοκιμή που ακολουθεί.
Απλό παράδειγμα αυτοματισμού δοκιμής
Όταν δοκιμάζετε ένα λογισμικό (στον ιστό ή στην επιφάνεια εργασίας), συνήθως χρησιμοποιείτε ποντίκι και πληκτρολόγιο για να εκτελέσετε τα βήματά σας. Το εργαλείο αυτοματισμού μιμείται αυτά τα ίδια βήματα χρησιμοποιώντας scripting ή γλώσσα προγραμματισμού.
Για παράδειγμα , εάν δοκιμάζετε μια αριθμομηχανή και η δοκιμαστική περίπτωση είναι ότι πρέπει να προσθέσετε δύο αριθμούς και να δείτε το αποτέλεσμα. Το σενάριο θα εκτελέσει τα ίδια βήματα κάνοντας χρήση του ποντικιού και του πληκτρολογίου σας.
Το παράδειγμα φαίνεται παρακάτω.
Βήματα χειροκίνητης θήκης δοκιμής:
- Εκκίνηση αριθμομηχανής
- Πατήστε 2
- Πατήστε +
- Πατήστε 3
- Πατήστε =
- Η οθόνη θα πρέπει να εμφανίζει 5.
- Κλείσιμο αριθμομηχανής.
Σενάριο αυτοματισμού:
//the example is written in MS Coded UI using c# language. (TestMethod) public void TestCalculator() { //launch the application var app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); //do all the operations Mouse.Click(button2); Mouse.Click(buttonAdd); Mouse.Click(button3); Mouse.Click(buttonEqual); //evaluate the results Assert.AreEqual('5', txtResult.DisplayText,”Calculator is not showing 5); //close the application app.Close(); }
Το παραπάνω σενάριο είναι απλώς ένα αντίγραφο των μη αυτόματων βημάτων σας. Το σενάριο είναι εύκολο να δημιουργηθεί και κατανοητό επίσης.
Τι είναι οι ισχυρισμοί;
Η δεύτερη τελευταία γραμμή του σεναρίου χρειάζεται κάποια περαιτέρω εξήγηση.
Assert.AreEqual ('5', txtResult.DisplayText, 'Η αριθμομηχανή δεν δείχνει 5);
Σε κάθε περίπτωση δοκιμής, έχουμε κάποια αναμενόμενα ή προβλεπόμενα αποτελέσματα στο τέλος. Στο παραπάνω σενάριο, έχουμε την προσδοκία ότι το '5' θα πρέπει να εμφανίζεται στην οθόνη. Το πραγματικό αποτέλεσμα είναι το αποτέλεσμα που εμφανίζεται στην οθόνη. Σε κάθε δοκιμαστική περίπτωση, συγκρίνουμε το αναμενόμενο αποτέλεσμα με το πραγματικό αποτέλεσμα.
Το ίδιο ισχύει και για τις δοκιμές αυτοματισμού. Η μόνη διαφορά εδώ είναι, όταν κάνουμε αυτήν τη σύγκριση στον αυτοματοποιημένο έλεγχο, τότε ονομάζεται κάτι άλλο σε κάθε εργαλείο.
Ορισμένα εργαλεία το αποκαλούν ' Ισχυρισμός ', Κάποιοι το αποκαλούν' σημείο ελέγχου 'Και ορισμένοι το αποκαλούν' επικύρωση '. Αλλά βασικά, αυτή είναι απλώς μια σύγκριση. Εάν αυτή η σύγκριση αποτύχει, για Π.χ. μια οθόνη δείχνει 15 αντί για 5, τότε αυτός ο ισχυρισμός / σημείο ελέγχου / επικύρωση αποτυγχάνει και η δοκιμαστική σας υπόθεση επισημαίνεται ως αποτυχημένη.
Όταν μια δοκιμαστική υπόθεση αποτυγχάνει λόγω ισχυρισμού, αυτό σημαίνει ότι έχετε εντοπίσει ένα σφάλμα μέσω του αυτοματοποιημένου ελέγχου. Πρέπει να το αναφέρετε στο σύστημα διαχείρισης σφαλμάτων, όπως κάνετε συνήθως στη μη αυτόματη δοκιμή.
Στο παραπάνω σενάριο, έχουμε εκτελέσει έναν ισχυρισμό στη δεύτερη τελευταία γραμμή. 5 είναι το αναμενόμενο αποτέλεσμα, Αποτέλεσμα . Εμφάνιση κειμένου είναι το πραγματικό αποτέλεσμα και αν δεν είναι ίσο, θα εμφανιστεί ένα μήνυμα ότι «Η Αριθμομηχανή δεν δείχνει 5».
συμπέρασμα
Συχνά, οι υπεύθυνοι δοκιμών συναντούν προθεσμίες και εντολές για αυτοματοποίηση όλων των περιπτώσεων για τη βελτίωση των εκτιμήσεων δοκιμών.
Υπάρχουν μερικές κοινές «λανθασμένες» αντιλήψεις σχετικά με τον αυτοματισμό.
Αυτοί είναι:
- Μπορούμε να αυτοματοποιήσουμε κάθε δοκιμαστική περίπτωση.
- Η αυτοματοποίηση των δοκιμών θα μειώσει σημαντικά το χρόνο δοκιμών.
- Δεν παρουσιάζονται σφάλματα εάν τα σενάρια αυτοματισμού λειτουργούν ομαλά.
Πρέπει να είμαστε σαφείς ότι ο αυτοματισμός μπορεί να μειώσει το χρόνο δοκιμών μόνο για συγκεκριμένους τύπους δοκιμών. Η αυτοματοποίηση όλων των δοκιμών χωρίς κανένα σχέδιο ή ακολουθία θα οδηγήσει σε τεράστια σενάρια τα οποία είναι βαριά συντήρηση, συχνά αποτυγχάνουν και χρειάζονται πολλή χειροκίνητη παρέμβαση. Επίσης, σε διαρκώς εξελισσόμενα προϊόντα, τα σενάρια αυτοματισμού μπορεί να είναι ξεπερασμένα και χρειάζονται ορισμένους συνεχείς ελέγχους.
Η ομαδοποίηση και η αυτοματοποίηση των σωστών υποψηφίων θα εξοικονομήσει πολύ χρόνο και θα δώσει όλα τα οφέλη του αυτοματισμού.
Αυτό το εξαιρετικό σεμινάριο μπορεί να συνοψιστεί σε μόλις 7 βαθμούς.
Δοκιμή αυτοματισμού:
- Είναι η δοκιμή που γίνεται μέσω προγραμματισμού.
- Χρησιμοποιεί το εργαλείο για τον έλεγχο της εκτέλεσης των δοκιμών.
- Συγκρίνει τα αναμενόμενα αποτελέσματα με τα πραγματικά αποτελέσματα (Ισχυρισμοί).
- Μπορεί να αυτοματοποιήσει μερικές επαναλαμβανόμενες αλλά απαραίτητες εργασίες ( Π.χ. Οι περιπτώσεις δοκιμής παλινδρόμησης).
- Μπορεί να αυτοματοποιήσει ορισμένες εργασίες που είναι δύσκολο να γίνουν χειροκίνητα (Π.χ.Φόρτωση σεναρίων δοκιμών).
- Τα σενάρια μπορούν να εκτελούνται γρήγορα και επανειλημμένα.
- Είναι οικονομικά αποδοτικό μακροπρόθεσμα.
Εδώ, ο αυτοματισμός εξηγείται με απλούς όρους, αλλά αυτό δεν σημαίνει ότι είναι πάντα απλό να γίνει. Υπάρχουν προκλήσεις, κίνδυνοι και πολλά άλλα εμπόδια. Υπάρχουν πολλοί τρόποι με τους οποίους η δοκιμαστική αυτοματοποίηση μπορεί να πάει στραβά, αλλά αν όλα πάνε καλά, τότε τα οφέλη της δοκιμαστικής αυτοματοποίησης είναι πραγματικά τεράστια.
Προσεχείς σε αυτήν τη σειρά:
Στα προσεχή μαθήματά μας, θα συζητήσουμε διάφορες πτυχές που σχετίζονται με τον αυτοματισμό.
Αυτά περιλαμβάνουν:
- Τύποι αυτοματοποιημένων δοκιμών και ορισμένες παρανοήσεις.
- Πώς να εισαγάγετε τον αυτοματισμό στον οργανισμό σας και να αποφεύγετε τις κοινές παγίδες όταν κάνετε δοκιμαστικό αυτοματισμό.
- Η διαδικασία επιλογής εργαλείων και σύγκριση διαφόρων εργαλείων αυτοματισμού.
- Πλαίσια ανάπτυξης σεναρίων και αυτοματισμού με παραδείγματα.
- Εκτέλεση και αναφορά του αυτοματισμού δοκιμής.
- Βέλτιστες πρακτικές και στρατηγικές αυτοματισμού δοκιμών.
Θέλετε να μάθετε περισσότερα για κάθε έννοια του αυτοματισμού δοκιμών; Προσέξτε και μείνετε συντονισμένοι στη λίστα με τα επερχόμενα σεμινάρια αυτής της σειράς και μη διστάσετε να εκφράσετε τις σκέψεις σας στην παρακάτω ενότητα σχολίων.
Συνιστώμενη ανάγνωση
- Διαδικασία δοκιμής αυτοματοποίησης 10 βημάτων: Πώς να ξεκινήσετε τη δοκιμή αυτοματοποίησης στον οργανισμό σας
- Tutorial Geb - Δοκιμή αυτοματισμού προγράμματος περιήγησης με χρήση του εργαλείου Geb
- Sikuli GUI Automation Testing Tool - Οδηγός για αρχάριους Μέρος # 2
- Οδηγός βήμα προς βήμα για την εφαρμογή του Proof of Concept (POC) στο Automation Testing
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Οι υπεύθυνοι δοκιμών χάνουν τη λαβή τους λόγω δοκιμών λόγω αυτοματισμού;
- Χειροκίνητες προκλήσεις και δοκιμές αυτοματισμού
- 10 συμβουλές που πρέπει να διαβάσετε πριν αυτοματοποιήσετε τη δοκιμαστική σας εργασία