devops testing tutorial
Εκπαιδευτικό τεστ DevOps: Μια πρόσφατη έρευνα RightScale διαπίστωσε ότι το 54% των εταιρειών έχουν υιοθετήσει DevOps και το ενδιαφέρον γύρω από το DevOps αυξάνεται ραγδαία.
Σε αυτό το άρθρο, θα μάθουμε πώς αυτή η νέα μεθοδολογία Ανάπτυξης Λογισμικού θα επηρεάσει το QA και πώς η λειτουργία QA στο σύνολό της θα πρέπει να εξελιχθεί για να συμπεριλάβει αυτήν την αλλαγή.
Ρίξτε μια ματιά => Πλήρης σειρά μαθημάτων DevOps
Σε αυτό το άρθρο, θα μάθουμε περισσότερα για το DevOps και πώς θα επηρεάσει το QA και τις λειτουργίες του.
δημιουργήστε ένα αντίγραφο ενός πίνακα
Τι θα μάθετε:
Τι είναι το DevOps;
Το DevOps - είναι ένας συνδυασμός του Devέκπλυση &Επίερμηνείες - είναι μια μεθοδολογία ανάπτυξης λογισμικού που φαίνεται να ενσωματώνει όλες τις λειτουργίες ανάπτυξης λογισμικού από την ανάπτυξη έως τις λειτουργίες εντός του ίδιου κύκλου.
Αυτό απαιτεί υψηλότερο επίπεδο συντονισμού στα διάφορα ενδιαφερόμενα μέρη στη διαδικασία ανάπτυξης λογισμικού (δηλαδή Ανάπτυξη, QA & Λειτουργίες )
Κύκλος DevOps
Ένας ιδανικός κύκλος DevOps θα ξεκινούσε από:
- Ο κωδικός γραφής Dev
- Δημιουργία & ανάπτυξη δυαδικών αρχείων σε περιβάλλον QA
- Εκτέλεση δοκιμαστικών περιπτώσεων και τέλος
- Ανάπτυξη στην Παραγωγή με μία ομαλή ολοκληρωμένη ροή.
Προφανώς, αυτή η προσέγγιση δίνει μεγάλη έμφαση στον αυτοματισμό του Build, Deployment και του Testing. Η χρήση εργαλείων συνεχούς ολοκλήρωσης (CI), τα εργαλεία αυτοματισμού δοκιμών γίνονται ένας κανόνας στο DevOps κύκλος.
Γιατί DevOps;
Αν και υπάρχουν λεπτές διαφορές μεταξύ Δοκιμή Agile και DevOps , όσοι εργάζονται με το Agile θα βρουν το DevOps λίγο πιο οικείο για να δουλέψουν (και τελικά να το υιοθετήσουν). Ενώ οι αρχές του Agile εφαρμόζονται με επιτυχία στις επαναλήψεις ανάπτυξης και QA, είναι μια διαφορετική ιστορία εντελώς (και συχνά ένα κόμμα διαμάχης) από την πλευρά των λειτουργιών. Το DevOps προτείνει να διορθωθεί αυτό το κενό.
Τώρα, αντί της συνεχούς ολοκλήρωσης, Το DevOps περιλαμβάνει 'Συνεχή ανάπτυξη' , όπου ο κώδικας γράφτηκε και δεσμεύτηκε για τον έλεγχο έκδοσης, θα κατασκευαστεί, θα αναπτυχθεί, θα δοκιμαστεί και θα εγκατασταθεί στο περιβάλλον παραγωγής που είναι έτοιμο να καταναλωθεί από τον τελικό χρήστη.
Αυτή η διαδικασία βοηθά όλους σε ολόκληρη την αλυσίδα αφού τα περιβάλλοντα και οι διαδικασίες είναι τυποποιημένα. Κάθε ενέργεια στην αλυσίδα είναι αυτοματοποιημένη. Δίνει επίσης ελευθερία σε όλους τους ενδιαφερόμενους να επικεντρώσουν τις προσπάθειές τους στο σχεδιασμό και την κωδικοποίηση ενός υψηλής ποιότητας παραδοτέου παρά να ανησυχούν για τις διάφορες διαδικασίες κατασκευής, λειτουργίας και QA.
Μειώνει δραστικά τον χρόνο ζωής για περίπου 3-4 ώρες, από τη στιγμή που ο κώδικας γράφεται και δεσμεύεται, έως την ανάπτυξη στην παραγωγή για κατανάλωση από τον τελικό χρήστη.
Με λίγα λόγια, το DevOps είναι μια επέκταση του Agile ή θέλω να το ονομάσω 'Agile on Steroids'.
Άλλαξε ο ρόλος του QA στα DevOps
Παραδοσιακά, το QA θα αποκτήσει μια κατασκευή που αναπτύσσεται στο καθορισμένο περιβάλλον τους και στη συνέχεια το QA θα ξεκινήσει Λειτουργικός & Δοκιμή παλινδρόμησης . Το build θα καθόριζε ιδανικά με το QA για μερικές ημέρες πριν από την είσοδο του QA στο build. Όλα αυτά τα βήματα αλλάζουν στο DevOps.
Αλλαγές QA για δοκιμές DevOps:
- Απαιτείται QA για να ευθυγραμμίσει τις προσπάθειές τους στον κύκλο DevOps.
- Πρέπει να διασφαλίσουν ότι όλες οι δοκιμαστικές τους περιπτώσεις είναι αυτοματοποιημένες και επιτυγχάνουν σχεδόν 100% κάλυψη κώδικα.
- Πρέπει να βεβαιωθούν ότι τα περιβάλλοντά τους είναι τυποποιημένα και ότι η ανάπτυξη στα κουτιά QA τους είναι αυτοματοποιημένη.
- Όλες οι εργασίες προ-δοκιμών, οι εκκαθαρίσεις, οι εργασίες μετά τον έλεγχο κ.λπ. είναι αυτοματοποιημένες και ευθυγραμμισμένες με τον κύκλο συνεχούς ολοκλήρωσης.
Όπως ήδη αναφέρθηκε, το DevOps απαιτεί υψηλό επίπεδο συντονισμού μεταξύ των διαφόρων λειτουργιών της παραδοτέας αλυσίδας. Αυτό σημαίνει επίσης ότι τα όρια μεταξύ των διαφόρων ρόλων των συντελεστών στην αλυσίδα γίνονται πορώδη.
Το DevOps ενθαρρύνει όλους να συνεισφέρουν στην αλυσίδα . Έτσι, μεταξύ άλλων, ένας προγραμματιστής μπορεί να διαμορφώσει τις αναπτύξεις. Οι μηχανικοί ανάπτυξης μπορούν να προσθέσουν δοκιμαστικές θήκες στο αποθετήριο QA. Οι μηχανικοί της QA μπορούν να διαμορφώσουν τις δοκιμαστικές τους περιπτώσεις στην αλυσίδα DevOps.
Συλλογικά, όλοι στην αλυσίδα είναι υπεύθυνοι για την ποιότητα και την επικαιρότητα των παραδοτέων.
πώς να ανοίξετε αρχεία bin στο Android
DevOps και αυτοματοποίηση δοκιμής
Για να επιτύχετε τέτοια ταχύτητα και ευελιξία, είναι σημαντικό να αυτοματοποιήσετε όλες τις διαδικασίες δοκιμών και να τις ρυθμίσετε ώστε να εκτελούνται αυτόματα όταν ολοκληρωθεί η ανάπτυξη στο περιβάλλον QA. Για την επίτευξη αυτής της ολοκλήρωσης χρησιμοποιούνται εξειδικευμένα εργαλεία δοκιμών αυτοματισμού και εργαλεία συνεχούς ολοκλήρωσης.
Αυτό απαιτεί επίσης τη δημιουργία ενός ώριμου πλαισίου δοκιμών αυτοματισμού μέσω του οποίου μπορεί κανείς να δημιουργήσει γρήγορα σενάρια νέες δοκιμαστικές περιπτώσεις.
Στρατηγική δοκιμής DevOps: Συμβουλές για επιτυχία στο DevOps
- Πρέπει να προσδιοριστούν οι περιπτώσεις δοκιμής που πρέπει να εκτελεστούν για μια συγκεκριμένη έκδοση.
- Η εκτέλεση της δοκιμής πρέπει ουσιαστικά να είναι λιτή.
- Το QA και ο Dev πρέπει να καθίσουν μαζί και να προσδιορίσουν τις περιοχές που επηρεάζονται λόγω μιας συγκεκριμένης δόμησης και να εκτελέσουν αυτές τις σχετικές δοκιμαστικές περιπτώσεις και ένα πέρασμα δοκιμής λογικής.
- Πρέπει επίσης να διαμορφώσετε εξειδικευμένα εργαλεία ανάλυσης κώδικα και κάλυψης για να βεβαιωθείτε ότι έχετε σχεδόν 100% κάλυψη κώδικα.
- Η έννοια της εκτέλεσης όλα Οι περιπτώσεις δοκιμής παλινδρόμησης για μια δοκιμαστική επιτυχία καθίστανται σύντομα ξεπερασμένες.
- Η στρατηγική γύρω από τη δοκιμή νέων δυνατοτήτων πρέπει να επισημοποιηθεί και οι προσωρινές εκδόσεις μπορούν να παρασχεθούν στο QA που, με τη σειρά του, θα δημιουργήσει δοκιμαστικά σενάρια και θα εκτελέσει αυτές τις δοκιμές αυτοματισμού στις ενδιάμεσες εκδόσεις έως ότου ο κώδικας γίνει αρκετά σταθερός για να αναπτυχθεί στο περιβάλλον παραγωγής .
- Όλα τα περιβάλλοντα που απαιτούνται για τη δοκιμή πρέπει να τυποποιηθούν και οι υλοποιήσεις πρέπει να αυτοματοποιηθούν.
- Χρησιμοποιώντας διάφορες τεχνικές αυτοματισμού, το QA θα πρέπει να μπορεί να ενεργοποιεί τις δοκιμές αυτοματισμού σε διάφορα περιβάλλοντα μεταξύ πλατφορμών (και μεταξύ προγραμμάτων περιήγησης σε περίπτωση εφαρμογών ιστού).
- Η παράλληλη εκτέλεση των δοκιμών συμβάλλει στη μείωση του χρόνου-προς-ζωντανό, το οποίο με τη σειρά του είναι το βασικό στοιχείο μιας επιτυχημένης εφαρμογής του DevOps.
- Τα κριτήρια εξόδου πρέπει να οριστούν για κάθε εκτέλεση, έτσι ώστε όταν τα αποτελέσματα των δοκιμών επιστρέφονται στην αλυσίδα, λαμβάνεται απόφαση go / no-go στην παραγωγή.
- Τα μπλοκαρίσματα ή τα κρίσιμα σφάλματα που βρέθηκαν πρέπει να αναφερθούν και να διορθωθούν και να περάσουν από την ίδια αλυσίδα συμβάντων προτού αναπτυχθεί ο κώδικας στο περιβάλλον παραγωγής.
Παρακολούθηση εφαρμογών
Το QA θα πρέπει επίσης να μπορεί να εντοπίζει τα προβλήματα νωρίς και να τα αναφέρει προληπτικά. Για να επιτευχθεί αυτό, πρέπει να ρυθμίσουν την παρακολούθηση στο περιβάλλον παραγωγής για να είναι σε θέση να εκθέσουν σφάλματα πριν προκαλέσουν αποτυχία.
Η δημιουργία εξειδικευμένων μετρητών όπως οι χρόνοι απόκρισης, η μνήμη και η χρήση της CPU κ.λπ. μπορεί να προσφέρει πολλές πληροφορίες για την εμπειρία του τελικού χρήστη.
Για παράδειγμα , εάν ο μέσος χρόνος απόκρισης για σύνδεση σταδιακά αυξάνεται σε σχέση με τις διάφορες εκδόσεις, το QA θα πρέπει να αναφέρει προληπτικά αυτό το ζήτημα για τη βελτιστοποίηση του κωδικού σύνδεσης, αλλιώς οι μελλοντικές εκδόσεις ενδέχεται να προκαλέσουν απογοήτευση τελικού χρήστη λόγω υψηλών χρόνων απόκρισης.
Το QA μπορεί επίσης να χρησιμοποιήσει ένα μικρό υποσύνολο υπαρχουσών περιπτώσεων δοκιμής υψηλής προτεραιότητας που θα εκτελούνται περιοδικά κατά την παραγωγή, για να παρακολουθεί ενεργά το περιβάλλον. Σφάλματα όπως, 'Αυτό το σφάλμα εμφανίζεται μερικές φορές' ή ' Αδυναμία αναπαραγωγής 'Μπορεί να βρεθεί μέσω αυτής της στρατηγικής η οποία, στο τέλος, καθιστά την εφαρμογή πιο σταθερή και επίσης παίρνει πιο ικανοποιημένους τελικούς χρήστες.
Και πάλι, αυτές οι οθόνες πρέπει να ρυθμιστούν ώστε να εκτελούνται αυτόματα με πλούσιες αναφορές (όπως αρχεία καταγραφής και στιγμιότυπα οθόνης αποτυχιών κ.λπ.).
συμπέρασμα
Το Waterfall έδωσε τη θέση του στο V-Model το οποίο με τη σειρά του αντικαταστάθηκε από το Agile ως την προτιμώμενη επιλογή για ανάπτυξη λογισμικού.
Το DevOps είναι το μέλλον. Είναι ένας κύκλος συνεχούς βελτίωσης που τα μοντέλα ανάπτυξης λογισμικού υφίστανται από καιρό σε καιρό. Πρέπει να το αγκαλιάσετε, να το καταλάβετε και να τον καλλιεργήσετε.
Πρέπει να κυριαρχήσετε στα διάφορα εργαλεία αυτοματισμού και συνεχούς ενοποίησης, έτσι ώστε οι προσπάθειές σας για αυτοματοποίηση να προσθέσουν αξία στην αλυσίδα και να είναι αρκετά λιτές ώστε να προσαρμόζονται γρήγορα στις αλλαγές. Μπορεί να εργάζεστε σε έργα που ενδέχεται να περιλαμβάνουν άλφα , βήτα και UAT περιβάλλοντα πριν αναπτυχθούν στο περιβάλλον παραγωγής.
Η έννοια παραμένει ουσιαστικά η ίδια. Ο αυτοματισμός και περισσότερος αυτοματισμός είναι ο πυρήνας ενός επιτυχημένου κύκλου DevOps. Όμως, ως QA θα πρέπει επίσης να μπορείτε να σχεδιάσετε μια γραμμή ως προς το πόσο αυτοματισμός είναι πάρα πολύ αυτοματισμός.
Σχετικά με τον Συγγραφέα: Ο Aniket Deshpande εργάζεται ως QA Manager στο AFour Τεχνολογίες , Pune και εργάζεται στον τομέα δοκιμών λογισμικού τα τελευταία 9+ χρόνια σε διάφορους τομείς και πλατφόρμες. Είναι παθιασμένος με το DevOps και εργάζεται ως σύμβουλος για να καθοδηγήσει οργανισμούς στην υιοθέτηση στρατηγικών δοκιμών DevOps.
Εάν ενδιαφέρεστε να μάθετε περισσότερα ή θέλετε να εφαρμόσετε το DevOps και τη σχετική δοκιμαστική προσέγγιση στον οργανισμό σας, μη διστάσετε να Επικοινωνία ο συγγραφέας.
Τι πιστεύετε για τη δοκιμή DevOps; Πιστεύετε ότι οι συνεργάτες και οι προγραμματιστές που συνεργάζονται μπορούν να ωφελήσουν το έργο;
Ενημερώστε μας για τα σχόλια / τις προτάσεις σας σχετικά με αυτό το άρθρο.
Εκπαιδευτικό πρόγραμμα PREV | ΕΠΟΜΕΝΟ Φροντιστήριο
Συνιστώμενη ανάγνωση
- Συνεχής δοκιμή σε DevOps
- Tutorial DevOps: Ο απόλυτος οδηγός για DevOps (25+ Tutorials)
- Demystifying DevOps: Εκπαιδευτικό βίντεο (Μέρος 1)
- Κορυφαία 10 Εργαλεία συνεχούς δοκιμής για δοκιμές DevOps (Λίστα 2021)
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Τι είναι η δοκιμή λογισμικού; 100+ Δωρεάν Εγχειρίδια Δοκιμών
- Λειτουργική δοκιμή Vs Μη λειτουργική δοκιμή
- Δοκιμή άλφα και δοκιμή beta (ένας πλήρης οδηγός)