Τι είναι η συνεχής δοκιμή σε DevOps; Ορισμός, Οφέλη, Εργαλεία

Πίνακας περιεχομένων:

Anonim

Συνεχής δοκιμή

Η συνεχής δοκιμή στο DevOps είναι ένας τύπος δοκιμής λογισμικού που περιλαμβάνει τη δοκιμή του λογισμικού σε κάθε στάδιο του κύκλου ζωής ανάπτυξης λογισμικού. Ο στόχος της συνεχούς δοκιμής είναι η αξιολόγηση της ποιότητας του λογισμικού σε κάθε βήμα της Διαδικασίας Συνεχούς Παράδοσης δοκιμών νωρίς και συχνά δοκιμών.

Η διαδικασία συνεχούς δοκιμής στο DevOps περιλαμβάνει ενδιαφερόμενους φορείς όπως προγραμματιστές, DevOps, QA και λειτουργικό σύστημα.

Σε αυτό το σεμινάριο, θα μάθετε

  • Τι είναι η συνεχής δοκιμή;
  • Πώς διαφέρει η συνεχής δοκιμή;
  • Πώς διαφέρει ο συνεχής έλεγχος από τον αυτοματισμό δοκιμής;
  • Πώς να κάνετε συνεχείς δοκιμές
  • Εργαλεία συνεχούς δοκιμής
  • Οφέλη της συνεχούς δοκιμής
  • Προκλήσεις συνεχούς δοκιμής

Πώς διαφέρει η συνεχής δοκιμή;

Ο παλιός τρόπος δοκιμών ήταν κεντρικός. Το λογισμικό παραδόθηκε από τη μία ομάδα στην άλλη. Ένα έργο θα έχει συγκεκριμένες φάσεις ανάπτυξης και QA. Οι ομάδες QA πάντα ήθελαν περισσότερο χρόνο για να διασφαλίσουν την ποιότητα. Ο στόχος ήταν ότι η ποιότητα πρέπει να υπερισχύει του προγράμματος.

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

Συνεχής σημαίνει αδιάκοπες δοκιμές που γίνονται σε συνεχή βάση. Σε μια συνεχή διαδικασία DevOps, μια αλλαγή λογισμικού (υποψήφιος έκδοσης) κινείται συνεχώς από την Ανάπτυξη στην Έλεγχος στην Ανάπτυξη.

Ο κώδικας αναπτύσσεται, παραδίδεται, δοκιμάζεται και αναπτύσσεται συνεχώς.

Για παράδειγμα, κάθε φορά που ένας προγραμματιστής ελέγχει τον κωδικό στον Πηγαίο Κωδικό Διακομιστή, όπως η Jenkins αυτοματοποιημένο σύνολο δοκιμών μονάδας εκτελείται στη συνεχή διαδικασία. Εάν οι δοκιμές αποτύχουν, η έκδοση απορρίπτεται και ειδοποιείται ο προγραμματιστής. Εάν το build περάσει τη δοκιμή, αναπτύσσεται στην απόδοση, διακομιστές QA για εξαντλητικές λειτουργικές δοκιμές και δοκιμές φόρτωσης. Οι δοκιμές εκτελούνται παράλληλα. Εάν περάσουν οι δοκιμές, το λογισμικό αναπτύσσεται στην παραγωγή.

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

Η ανάπτυξη λογισμικού δεν είναι ίδια όπως στο παρελθόν, μειώσαμε την ανάπτυξη από μήνα σε εβδομάδες. Η τρέχουσα στοίβα δοκιμών (βλέπε σχήμα παραπάνω) έχει τίτλο για τη δοκιμή UI. Αλλά ο στόχος είναι να έχουμε όλο και πιο αυτοματοποιημένες δοκιμές μονάδας.

Πώς διαφέρει ο συνεχής έλεγχος από τον αυτοματισμό δοκιμής;

Αυτοματοποίηση δοκιμής έναντι συνεχούς δοκιμής

Παράμετρος Αυτοματοποίηση δοκιμής Συνεχής δοκιμή
Ορισμός Ο αυτοματοποιημένος έλεγχος είναι μια διαδικασία όπου το εργαλείο ή το λογισμικό χρησιμοποιείται για την αυτοματοποίηση εργασιών. Είναι μια μεθοδολογία δοκιμών λογισμικού που εστιάζει στην επίτευξη συνεχούς ποιότητας & βελτίωσης.
Σκοπός Ένα σύνολο παρόμοιων ή επαναλαμβανόμενων εργασιών, ένα μηχάνημα μπορεί να εκτελέσει, γρηγορότερα, με λιγότερα λάθη. Η συνεχής διαδικασία δοκιμών βοηθά στον εντοπισμό του κινδύνου, την αντιμετώπισή τους και τη βελτίωση της ποιότητας του προϊόντος.
Προαπαιτούμενο Είναι δυνατή η αυτοματοποίηση των δοκιμών χωρίς την ενσωμάτωση συνεχών δοκιμών. Οι συνεχείς δοκιμές δεν μπορούν να εφαρμοστούν χωρίς αυτοματοποίηση δοκιμής.
χρόνος Η έκδοση λογισμικού μπορεί να διαρκέσει από ένα μήνα έως χρόνια. Η έκδοση λογισμικού μπορεί να κυκλοφορεί εβδομαδιαίως έως ωριαία.
Ανατροφοδότηση Τακτικά σχόλια μετά τη δοκιμή κάθε κυκλοφορίας. Τα σχόλια σε κάθε στάδιο πρέπει να είναι άμεσα.
Ιστορία Έχουν γίνει αυτοματοποιημένες δοκιμές εδώ και δεκαετίες για να επιταχυνθεί η διαδικασία δοκιμών. Η συνεχής δοκιμή είναι μια σχετικά νεότερη ιδέα.

Πώς να κάνετε συνεχείς δοκιμές

  • Χρήση εργαλείων για τη δημιουργία δοκιμαστικής αυτοματοποίησης από ιστορίες χρηστών / απαιτήσεις
  • Δημιουργία δοκιμαστικού περιβάλλοντος.
  • Αντιγράψτε και ανωνυμοποιήστε τα δεδομένα παραγωγής για να δημιουργήσετε ένα τεστ δεδομένων
  • Χρησιμοποιήστε την εικονικοποίηση υπηρεσίας για να δοκιμάσετε το API
  • Παράλληλη δοκιμή απόδοσης

Εργαλεία συνεχούς δοκιμής

Ακολουθεί μια επιμελημένη λίστα με τα καλύτερα εργαλεία συνεχούς δοκιμής :

1) QuerySurge

Το QuerySurge είναι η έξυπνη λύση δοκιμής δεδομένων που είναι η πρώτη ολοκληρωμένη λύση DevOps για συνεχή δοκιμή δεδομένων. Τα βασικά χαρακτηριστικά περιλαμβάνουν το ισχυρό API με 60+ κλήσεις, λεπτομερή ευφυΐα δεδομένων και αναλύσεις δεδομένων, απρόσκοπτη ενσωμάτωση στον αγωγό DevOps για συνεχείς δοκιμές και επαληθεύει γρήγορα μεγάλες ποσότητες δεδομένων.

Ξεκινήστε τις δοκιμές δωρεάν

2) Τζένκινς

Το Jenkins είναι ένα εργαλείο συνεχούς ολοκλήρωσης που γράφεται χρησιμοποιώντας τη γλώσσα Java. Αυτό το εργαλείο μπορεί να διαμορφωθεί μέσω εντολών διεπαφής GUI ή κονσόλας.

Σύνδεσμος λήψης: https://jenkins.io/

3) Τράβις

Το Travis είναι ένα εργαλείο συνεχών δοκιμών που φιλοξενείται στο GitHub. Προσφέρει φιλοξενούμενες και εσωτερικές παραλλαγές. Παρέχει μια ποικιλία διαφορετικών γλωσσών και μια καλή τεκμηρίωση.

Λήψη συνδέσμου: https://travis-ci.org/

4) Σελήνιο

Το Selenium είναι ένα εργαλείο δοκιμής λογισμικού ανοιχτού κώδικα. Υποστηρίζει όλα τα κορυφαία προγράμματα περιήγησης όπως Firefox, Chrome, IE και Safari. Το Selenium WebDriver χρησιμοποιείται για την αυτοματοποίηση των δοκιμών εφαρμογών ιστού.

Σύνδεσμος λήψης: https://www.seleniumhq.org/

Οφέλη της συνεχούς δοκιμής

  • Επιτάχυνση της παράδοσης λογισμικού
  • Η συνεχής δοκιμή βελτιώνει την ποιότητα του κώδικα
  • Βοηθά στην αξιολόγηση της ακριβούς κάλυψης επιχειρηματικού κινδύνου.
  • Ενσωματώνεται απρόσκοπτα στη διαδικασία DevOps
  • Βοηθά στη δημιουργία μιας ευέλικτης και αξιόπιστης διαδικασίας σε λίγες ώρες αντί για μήνες.
  • Επιταχύνει το χρόνο προς την αγορά με έναν συνεχή μηχανισμό ανατροφοδότησης.
  • Συγχωνεύεται παραδοσιακά σιγασμένες ομάδες για να καλύψουν τις σύγχρονες επιχειρηματικές ανάγκες. Διαλύει την αποσύνδεση μεταξύ ομάδων ανάπτυξης, δοκιμών και λειτουργίας.
  • Το Test Automation συμβάλλει στην επίτευξη συνοχής διατηρώντας την ίδια διαμόρφωση για όλες τις σχετικές δοκιμές.
  • Υπογραμμίζει τις επιχειρηματικές προσδοκίες για τον μετριασμό των επιχειρηματικών κινδύνων
  • Παρέχοντας πανταχού παρούσα πρόσβαση στο περιβάλλον δοκιμών με το Virtualization υπηρεσίας

Προκλήσεις συνεχούς δοκιμής

  • Η παραδοσιακή διαδικασία περιορίζει την πολιτιστική μετατόπιση μεταξύ των επαγγελματιών της ανάπτυξης και της QA.
  • Έλλειψη δεξιοτήτων DevOps και σωστά εργαλεία για δοκιμές σε περιβάλλον Agile & DevOps.
  • Ετερογενή περιβάλλοντα δοκιμών που δεν θα αντικατοπτρίζουν ποτέ το περιβάλλον παραγωγής.
  • Συμβατική διαδικασία δοκιμών και χαλαρά καθορισμένη διαχείριση δεδομένων δοκιμών.
  • Μεγαλύτεροι κύκλοι ενοποίησης κώδικα δημιουργούν προβλήματα ενσωμάτωσης και καθυστερημένες διορθώσεις ελαττωμάτων
  • Ανεπαρκείς και αναποτελεσματικοί πόροι και περιβάλλοντα δοκιμών
  • Σύνθετη αρχιτεκτονική εφαρμογών και επιχειρηματική λογική που περιορίζει την υιοθέτηση του DevOps.

Συμπέρασμα:

  • Στη Μηχανική Λογισμικού, η συνεχής δοκιμή είναι μια διαδικασία δοκιμών νωρίς, συχνά δοκιμών, δοκιμών παντού και αυτοματοποίησης.
  • Ο παλιός τρόπος δοκιμών ήταν ένα κεντρικό handoff. Το λογισμικό παραδίδεται από τη μία ομάδα στην άλλη
  • Τα Jenkins, Travis και Selenium είναι δημοφιλή εργαλεία συνεχούς δοκιμής και ολοκλήρωσης.
  • Η συνεχής δοκιμή παρέχει ανατροφοδοτούμενη δράση σύμφωνα με κάθε στάδιο του αγωγού παράδοσης.
  • Η συνεχής δοκιμή συμβάλλει στη βελτίωση της ποιότητας του κώδικα
  • Η παραδοσιακή διαδικασία περιορίζει την πολιτιστική μετατόπιση μεταξύ των επαγγελματιών της ανάπτυξης και της QA.
  • Μεγαλύτεροι κύκλοι ενοποίησης κώδικα δημιουργούν προβλήματα ενσωμάτωσης και καθυστερημένες διορθώσεις ελαττωμάτων