Τι είναι ο έλεγχος παλινδρόμησης;

Τι είναι ο έλεγχος παλινδρόμησης

Τι είναι ο έλεγχος παλινδρόμησης;

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

Αυτός ο τύπος δοκιμών γίνεται για να διασφαλιστεί ότι οι νέες αλλαγές κώδικα δεν έχουν παρενέργειες στις υπάρχουσες λειτουργίες. Εξασφαλίζει ότι ο παλιός κώδικας εξακολουθεί να λειτουργεί μόλις γίνουν οι τελευταίες αλλαγές κώδικα.

Γιατί Δοκιμή Παλινδρόμησης;

Η διαδικασία δοκιμής παλινδρόμησης είναι απαραίτητη στο πεδίο εφαρμογής της δοκιμής. Καθώς μπορεί να προσδιορίσει εάν οι αλλαγές ή οι βελτιώσεις κώδικα εισάγουν νέα ελαττώματα ή διαταράσσουν τις υπάρχουσες λειτουργικές δοκιμές.

Χωρίς μια διαδικασία δοκιμής παλινδρόμησης, ακόμη και μικρές αλλαγές κώδικα μπορεί να έχουν την πιθανότητα να οδηγήσουν σε δαπανηρά σφάλματα. Ως εκ τούτου, είναι μια συστηματική πρακτική που βοηθά στη διατήρηση της ποιότητας του λογισμικού. Αυτή η μέθοδος βοηθά στην πρόληψη της επανεμφάνισης γνωστών ζητημάτων και ενισχύει την εμπιστοσύνη στο λογισμικό.

Πότε μπορούμε να εκτελέσουμε Δοκιμή Παλινδρόμησης;

Ακολουθούν τα σενάρια κατά τα οποία μπορείτε να εφαρμόσετε τη διαδικασία δοκιμής παλινδρόμησης.

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

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

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

Μόλις επιδιορθωθεί το πρόβλημα απόδοσης: Μετά τη διόρθωση τυχόν προβλημάτων απόδοσης, ενεργοποιείται η διαδικασία δοκιμής παλινδρόμησης για να διαπιστωθεί εάν έχει επηρεάσει άλλες υπάρχουσες λειτουργικές δοκιμές.

Κατά την ενσωμάτωση με ένα νέο εξωτερικό σύστημα: Η διαδικασία δοκιμής παλινδρόμησης από άκρο σε άκρο απαιτείται κάθε φορά που το προϊόν ενσωματώνεται σε ένα νέο εξωτερικό σύστημα.

Πώς να κάνετε δοκιμές παλινδρόμησης στη δοκιμή λογισμικού

Όπως συζητήσαμε προηγουμένως, ο έλεγχος παλινδρόμησης ενεργοποιείται με βάση οποιαδήποτε αλλαγή γίνει στο λογισμικό. Μπορεί να είναι μια διόρθωση σφαλμάτων, η ενσωμάτωση νέων χαρακτηριστικών κ.λπ. Όποτε συμβαίνει μια τέτοια εργασία, η ομάδα QA εκτελεί τις ακόλουθες δραστηριότητες που δίνονται παρακάτω. Αυτές οι εργασίες εκτελούνται πριν ξεκινήσουν τον κύκλο εκτέλεσης της δοκιμής παλινδρόμησης.

  • Συζητήστε με την ομάδα ανάπτυξης σχετικά με τις συγκεκριμένες ενότητες και βιβλιοθήκες που θίχτηκαν κατά τη διάρκεια της αλλαγής
  • Συζητήστε με τον κάτοχο του προϊόντος σχετικά με την αλλαγή στη νέα λειτουργία και μάθετε πώς ρέει ή επηρεάζει άλλες λειτουργίες.
  • Προσδιορίστε τις δοκιμές από την υπάρχουσα σουίτα δοκιμών που πρέπει να εκτελέσουν οι δοκιμαστές για να επαναφέρουν τα υπάρχοντα χαρακτηριστικά.

Διάφορες τεχνικές δοκιμών παλινδρόμησης μπορούν να πραγματοποιηθούν για αποτελεσματική διασφάλιση ποιότητας λογισμικού:

Δοκιμή παλινδρόμησης στη δοκιμή λογισμικού

Επανάληψη δοκιμής όλων

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

Επιλογή δοκιμής παλινδρόμησης

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

Προτεραιοποίηση Δοκιμαστικών Υποθέσεων

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

Επιλογή δοκιμαστικών περιπτώσεων για έλεγχο παλινδρόμησης

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

Μια αποτελεσματική σουίτα δοκιμών παλινδρόμησης μπορεί να δημιουργηθεί επιλέγοντας τους ακόλουθους τύπους δοκιμαστικών περιπτώσεων:

  • Δοκιμές από λειτουργίες/modules που έχουν συχνά ελαττώματα.
  • Λειτουργίες που είναι πιο ορατές στους χρήστες
  • Δοκιμές που επαληθεύουν τα βασικά χαρακτηριστικά του προϊόντος
  • Δοκιμαστικές περιπτώσεις λειτουργιών που έχουν υποστεί πιο πρόσφατες αλλαγές.
  • Όλη η ολοκλήρωση περιορίζει
  • Όλες οι περίπλοκες περιπτώσεις δοκιμών
  • Περιπτώσεις δοκιμής οριακής τιμής
  • Επιλεγμένα χαρούμενα μονοπάτια και αρνητικά τεστ

Εργαλεία δοκιμών παλινδρόμησης

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

Τα παρακάτω είναι τα πιο σημαντικά εργαλεία που χρησιμοποιούνται τόσο για λειτουργικό όσο και για αυτοματισμό δοκιμών παλινδρόμησης στη μηχανική λογισμικού:

1) τεστ Αυστηρότητα

τεστ Αυστηρότητα σας βοηθά να εκφράσετε απευθείας δοκιμές ως εκτελέσιμες προδιαγραφές σε απλά αγγλικά. Οι χρήστες όλων των τεχνικών ικανοτήτων μπορούν να δημιουργήσουν δοκιμές από άκρο σε άκρο οποιασδήποτε πολυπλοκότητας που καλύπτουν βήματα για κινητές συσκευές, ιστό και API. Τα βήματα δοκιμής εκφράζονται σε επίπεδο τελικού χρήστη αντί να βασίζονται σε λεπτομέρειες εφαρμογής όπως XPaths ή Επιλογείς CSS.

τεστ Αυστηρότητα

Χαρακτηριστικά:

  • Δωρεάν για πάντα δημόσια έκδοση
  • Οι δοκιμές είναι στα αγγλικά
  • Απεριόριστοι χρήστες & Απεριόριστες δοκιμές
  • Ο ευκολότερος τρόπος για να μάθετε την αυτοματοποίηση
  • Συσκευή εγγραφής για βήματα web
  • Ενσωματώσεις με διαχείριση CI/CD και Test case
  • Δοκιμή email & SMS
  • Βήματα Web + Mobile + API σε μία δοκιμή

Επισκεφτείτε το testRigor >>

Selenium: Selenium είναι το πιο χρησιμοποιούμενο εργαλείο ανοιχτού κώδικα που χρησιμοποιείται για την αυτοματοποίηση διαδικτυακών εφαρμογών. Selenium μπορεί να χρησιμοποιηθεί για δοκιμές παλινδρόμησης βάσει προγράμματος περιήγησης. Υποστηρίζει γλώσσες προγραμματισμού όπως π.χ JavaΡουμπίνι, PythonΚ.λπ.

Quick Test Professional (QTP): Το HP Quick Test Professional είναι αυτοματοποιημένο λογισμικό που έχει σχεδιαστεί για να αυτοματοποιεί περιπτώσεις δοκιμών λειτουργίας και παλινδρόμησης. Χρησιμοποιεί τη γλώσσα VB Script για αυτοματισμό. Είναι ένα εργαλείο που βασίζεται σε δεδομένα και βασίζεται σε λέξεις-κλειδιά.

Rational Functional Tester (RFT): IBMΟ ορθολογικός λειτουργικός ελεγκτής του είναι α Java εργαλείο που χρησιμοποιείται για την αυτοματοποίηση των δοκιμαστικών περιπτώσεων εφαρμογών λογισμικού. Αυτό χρησιμοποιείται κυρίως για την αυτοματοποίηση περιπτώσεων δοκιμών παλινδρόμησης και ενσωματώνεται επίσης με το Rational Test Manager.

Τύποι δοκιμών παλινδρόμησης

Τύποι δοκιμών παλινδρόμησης

Ακολουθούν τα διάφορα είδη δοκιμών παλινδρόμησης:

1) Δοκιμή παλινδρόμησης μονάδας (URT)

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

Παράδειγμα

ως Για παράδειγμα, στο Build 1, εντοπίστηκε ένα πρόβλημα και αναφέρθηκε στον προγραμματιστή.

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

2) Δοκιμή περιφερειακής παλινδρόμησης (RRT)

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

Παράδειγμα: Σε αυτό το παράδειγμα, στην πρώτη έκδοση, οι μονάδες A, B, C και D αποστέλλονται για δοκιμή από τον προγραμματιστή. Ο ελεγκτής βρίσκει σφάλματα στην ενότητα Β, επομένως η εφαρμογή επιστρέφεται στον προγραμματιστή για να διορθώσει τα σφάλματα.

Μόλις ο προγραμματιστής διορθώσει τα σφάλματα στη δεύτερη έκδοση της ενότητας Β, αποστέλλεται ξανά στον μηχανικό δοκιμής. Ο μηχανικός δοκιμής μαθαίνει ότι η μονάδα στερέωσης Β έχει επηρεάσει τα Α και Γ.

Ως εκ τούτου, ο ελεγκτής ελέγχει τις τροποποιήσεις της μονάδας Β στη δεύτερη έκδοση. Στη συνέχεια, δοκιμάζει τις περιοχές πρόσκρουσης στο A και C για να προσδιορίσει πώς έχουν επηρεαστεί.

Σημείωση: Κατά τη δοκιμή παλινδρόμησης, υπάρχει ένα πιθανό ζήτημα που μπορεί να προκύψει αυτό το παρακάτω πρόβλημα.

Πρόβλημα:

  • Στο build 1, οι πελάτες συνήθως ζητούν αλλαγές, τροποποιήσεις και πρόσθετες δυνατότητες.
  • Στη συνέχεια, αυτό το αίτημα αποστέλλεται τόσο στην ομάδα ανάπτυξης όσο και στην ομάδα δοκιμών.
  • Στη συνέχεια, η ομάδα ανάπτυξης κάνει τις τροποποιήσεις. Στη συνέχεια, ο μηχανικός δοκιμής στέλνει email στον πελάτη, ενημερώνοντάς τον για τις περιοχές που θα επηρεάσει η τροποποίηση.
  • Στη συνέχεια, ο οδηγός δοκιμής συγκεντρώνει τη λίστα των επηρεαζόμενων περιοχών από τον πελάτη, τους προγραμματιστές και το τμήμα δοκιμών.
  • Στη συνέχεια, η λίστα επιπτώσεων αποστέλλεται στους μηχανικούς δοκιμής, οι οποίοι ξεκινούν τη δοκιμή παλινδρόμησης.

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

Λύση: Για την άρση αυτού του είδους προβλήματος, η ομάδα δοκιμών μπορεί να κανονίσει μια συνάντηση μόλις φτάσει η νέα έκδοση μετά από διορθώσεις σφαλμάτων, νέες δυνατότητες και τροποποιήσεις. Αυτή η συνάντηση θα πραγματοποιηθεί για να συζητηθεί εάν οι ενότητες επηρεάζονται λόγω των τροποποιήσεων.

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

Εδώ, παρακάτω είναι πώς θα μοιάζει η διαδικασία:

  • "Δοκιμή επαλήθευσης κατασκευής" για να ελέγξετε τις κύριες δυνατότητες της εφαρμογής.
  • Δοκιμή όλων των νέων χαρακτηριστικών.
  • Εξέταση αλλαγμένων ή τροποποιημένων χαρακτηριστικών.
  • Επαναληπτικός έλεγχος σφαλμάτων.
  • Στη συνέχεια, τέλος, ανάλυση περιοχής επιπτώσεων με τη χρήση δοκιμών περιφερειακής παλινδρόμησης.

3) Δοκιμή πλήρους παλινδρόμησης (FRT):

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

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

Για παράδειγμα, η 4η έκδοση είναι η τελική έκδοση πριν από την κυκλοφορία. Έτσι, σε αυτό το build, η ομάδα δοκιμών εκτελεί μια πλήρη δοκιμή ή επανέλεγχο του προϊόντος αντί μόνο για την περιοχή πρόσκρουσης ή ένα χαρακτηριστικό. Αυτό γίνεται μετά τις τροποποιήσεις και τις δοκιμές στις εκδόσεις 1, 2 και 3.

Για να εκτελέσετε πλήρη δοκιμή παλινδρόμησης, πρέπει να λάβετε υπόψη αυτές τις συνθήκες:

  • Οι αλλαγές πραγματοποιούνται στα βασικά στοιχεία της εφαρμογής. Για παράδειγμα, εάν υπάρχει μια τροποποίηση σε ένα ριζικό αρχείο μιας εφαρμογής ή βασικών λειτουργικών μονάδων, τότε ολόκληρη η εφαρμογή πρέπει να υποχωρήσει. Εάν γίνουν πολλές αλλαγές.

4) Δοκιμή Διορθωτικής Παλινδρόμησης:

Αυτή η δοκιμή γίνεται όταν δεν γίνονται τροποποιήσεις στα χαρακτηριστικά. Τέτοιες δοκιμές μπορούν να γίνουν με υπάρχουσες περιπτώσεις.

5) Επανέλεγχος όλων των δοκιμών παλινδρόμησης:

Σε αυτήν τη μορφή δοκιμής, ελέγχονται ξανά όλες οι μικρές έως σημαντικές αλλαγές που έγιναν στην εφαρμογή από την αρχή ή το build 1.

Αυτή η δοκιμή πραγματοποιείται όταν όλες οι άλλες δοκιμές παλινδρόμησης αποτυγχάνουν να προσδιορίσουν τη βασική αιτία των προβλημάτων.

6) Δοκιμή επιλεκτικής παλινδρόμησης:

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

7) Δοκιμή προοδευτικής παλινδρόμησης:

Αυτός ο τύπος δοκιμής παλινδρόμησης παράγει σημαντικά αποτελέσματα όταν γίνονται συγκεκριμένες αλλαγές στο πρόγραμμα και δημιουργούνται νέες περιπτώσεις δοκιμής.

Βοηθά να διασφαλιστεί ότι δεν έχουν επηρεαστεί στοιχεία από τις παλαιότερες εκδόσεις στην πιο πρόσφατη έκδοση.

8) Δοκιμή μερικής παλινδρόμησης:

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

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

Αυτοματοποιημένος έλεγχος παλινδρόμησης

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

Ωστόσο, με την αυτοματοποίηση, μπορείτε να δοκιμάσετε πολλές φορές. Αυτό απαιτεί τη σύνταξη σεναρίων δοκιμών αυτοματισμού για εκτέλεση, τα οποία χρειάζονται σχετικό σχεδιασμό και σχεδιασμό. Σε τέτοιες δοκιμές, η ομάδα δεν μπορεί να ξεκινήσει απευθείας με την αυτοματοποίηση. Ως εκ τούτου, πρέπει να εμπλέξουμε ομάδες χειροκίνητων δοκιμών και δοκιμών αυτοματισμού για να καλύψουμε αυτό το πεδίο. Δείτε πώς γίνεται η αυτοματοποιημένη δοκιμή παλινδρόμησης:

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

Βήμα 2) Η ομάδα χειροκίνητων δοκιμών ξεκινά τη δοκιμή των νέων μονάδων, ενώ η ομάδα δοκιμών αυτοματισμού γράφει το σενάριο και αυτοματοποιεί τη δοκιμαστική περίπτωση.

Βήμα 3) Πριν χρησιμοποιήσετε αυτήν τη μέθοδο δοκιμής παλινδρόμησης, η ομάδα αυτοματισμού προσδιορίζει ποιες περιπτώσεις θα υποστηρίξουν την αυτοματοποίηση.

Βήμα 4) Μετατρέπουν αυτές τις δοκιμές παλινδρόμησης σε σενάρια ανάλογα με το ποιες περιπτώσεις μπορούν να αυτοματοποιηθούν.

Βήμα 5) Κατά τη διαδικασία δημιουργίας σεναρίων, η ομάδα αυτοματισμού αναφέρεται στις περιπτώσεις δοκιμών παλινδρόμησης. Το κάνουν καθώς ενδέχεται να μην διαθέτουν το προϊόν ούτε τις γνώσεις εργαλείων και εφαρμογών.

Βήμα 6) Όταν ολοκληρωθούν τα σενάρια δοκιμής, η ομάδα αυτοματισμού θα τα εκτελέσει στη νέα εφαρμογή.

Βήμα 7) Μετά την εκτέλεση, το αποτέλεσμα ενημερώνει εάν η δοκιμή ήταν Pass ή Fail.

Βήμα 8) Εάν η δοκιμή αποτύχει, ελέγχεται εκ νέου χρησιμοποιώντας τη μέθοδο μη αυτόματης δοκιμής και εάν υπάρχει το πρόβλημα, αναφέρεται στον εκάστοτε προγραμματιστή.

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

Βήμα 9) Αυτή η διαδικασία συνεχίζεται έως ότου όλες οι νέες δυνατότητες παλινδρόμησης που προστέθηκαν αποκτήσουν κατάσταση Pass.

Ακολουθούν τα οφέλη της αυτοματοποιημένης δοκιμής παλινδρόμησης:

  • Επαναχρησιμοποιήσιμο: Τα δοκιμαστικά σενάρια του είναι επαναχρησιμοποιήσιμα σε πολλές εκδόσεις.
  • Ακρίβεια: Τα εργαλεία αυτοματισμού εκτελούν την εργασία περιττή, μειώνοντας την πιθανότητα λάθους.
  • Κερδίζει χρόνο: Είναι ταχύτερο από τη διαδικασία χειροκίνητης λειτουργικής δοκιμής και είναι χρονικά αποδοτικό.
  • Εκτέλεση παρτίδας: Είναι δυνατή η εκτέλεση όλων των σεναρίων ταυτόχρονα και παράλληλα σε αυτοματοποιημένες δοκιμές.
  • Δεν απαιτείται αύξηση πόρων: Το τεστ παλινδρόμησης είναι βέβαιο ότι θα αυξάνεται με κάθε νέα κυκλοφορία. Ωστόσο, δεν χρειάζεται να προσθέσετε νέους πόρους για αυτοματοποίηση.

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

Εδώ είναι πώς μπορείτε να επιλέξετε τη σωστή περίπτωση για δοκιμή παλινδρόμησης.

  • Κατανοήστε το εύρος των αλλαγών και προσδιορίστε τα μέρη της εφαρμογής που έχουν τροποποιηθεί, προστεθεί ή διορθωθεί. Στη συνέχεια, μπορείτε να εστιάσετε σε αυτές τις περιοχές για δοκιμή παλινδρόμησης.
  • Έχετε μια σουίτα που να καλύπτει την κρίσιμη λειτουργικότητα και να τη διατηρεί ως τη βασική γραμμή για τη δοκιμή παλινδρόμησης. Όπως αναφέρθηκε προηγουμένως, συνιστάται ιδιαίτερα να αυτοματοποιούνται αυτές οι δοκιμές.
  • Δώστε προτεραιότητα στις δοκιμές με βάση την κρισιμότητα της λειτουργικότητας, τον αντίκτυπο στον τελικό χρήστη και τα ιστορικά δεδομένα ελαττωμάτων.

Regression Testing καλυτερα Practices

Παρακάτω είναι μερικές βασικές πρακτικές που πρέπει να ακολουθείτε κατά τη διατήρηση των δοκιμών παλινδρόμησης.

Αυτοματοποίηση όπου είναι δυνατόν

Η αυτοματοποιημένη δοκιμή παλινδρόμησης μειώνει την προσπάθεια δοκιμών και επιτρέπει τη γρήγορη εκτέλεση μεγάλου αριθμού δοκιμαστικών περιπτώσεων.

Συνεχής ολοκλήρωση

Η ενσωμάτωση της δοκιμής παλινδρόμησης στους αγωγούς CI/CD διασφαλίζει ότι οι δοκιμές εκτελούνται αυτόματα κάθε φορά που δεσμεύονται αλλαγές στη βάση κώδικα.

Επιλογή δοκιμαστικής περίπτωσης

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

Τακτική Εκτέλεση

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

Διαχείριση δεδομένων δοκιμής

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

Διαχείριση περιβάλλοντος

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

Εγγραφή και παρακολούθηση ελαττωμάτων

Τυχόν ελαττώματα που ανακαλύφθηκαν κατά τη δοκιμή παλινδρόμησης θα πρέπει να καταγράφονται, να παρακολουθούνται και να διαχειρίζονται. Δώστε προτεραιότητα στην επίλυσή τους με βάση τη σοβαρότητα.

Επαναχρησιμοποίηση

Δημιουργήστε επαναχρησιμοποιήσιμα σενάρια δοκιμών και δεδομένα δοκιμών για να μειώσετε την αντιγραφή και να βελτιώσετε τη δυνατότητα συντήρησης.

Δοκιμή παλινδρόμησης και Διαχείριση Διαμόρφωσης

Η διαχείριση διαμόρφωσης κατά τη διάρκεια της δοκιμής παλινδρόμησης καθίσταται επιτακτική σε ευέλικτα περιβάλλοντα όπου ένας κώδικας τροποποιείται συνεχώς. Για να διασφαλίσετε αποτελεσματικά τεστ παλινδρόμησης, τηρήστε τα ακόλουθα:

  • Ο κώδικας που ελέγχεται με παλινδρόμηση θα πρέπει να βρίσκεται κάτω από ένα εργαλείο διαχείρισης διαμόρφωσης.
  • Δεν πρέπει να επιτρέπονται αλλαγές στον κώδικα κατά τη φάση δοκιμής παλινδρόμησης. Ο κωδικός δοκιμής παλινδρόμησης πρέπει να διατηρείται απρόσβλητος στις αλλαγές προγραμματιστή.
  • Η βάση δεδομένων που χρησιμοποιείται για τον έλεγχο παλινδρόμησης πρέπει να είναι απομονωμένη. Δεν πρέπει να επιτρέπονται αλλαγές στη βάση δεδομένων

Διαφορά μεταξύ επανέλεγχου και ελέγχου παλινδρόμησης

Επανάληψη δοκιμής σημαίνει λειτουργικός έλεγχος του ελαττώματος ή του σφάλματος ξανά για να διασφαλιστεί ότι ο κώδικας έχει διορθωθεί. Αν δεν διορθωθεί, το ελάττωμα πρέπει να ξανανοίξει. Εάν επιδιορθωθεί, το ελάττωμα κλείνει.

Δοκιμή παλινδρόμησης σημαίνει δοκιμή της εφαρμογής λογισμικού σας όταν υφίσταται αλλαγή κώδικα. Γίνεται για να διασφαλιστεί ότι ο νέος κώδικας δεν έχει επηρεάσει άλλα μέρη του λογισμικού.

Ακολουθούν οι κύριες διαφορές μεταξύ αυτών των δύο δοκιμών:

Επανάληψη δοκιμής έναντι δοκιμών παλινδρόμησης

Επαναέλεγχος Δοκιμή παλινδρόμησης
Είναι κατασκευασμένο ειδικά για επιδιορθώσεις ελαττωμάτων. Ο έλεγχος παλινδρόμησης γίνεται κυρίως για να επαληθευτεί εάν οι αλλαγές κώδικα έχουν επηρεάσει άλλες λειτουργίες.
Η επανάληψη της δοκιμής δεν ελέγχει τις άλλες εκδόσεις και επαληθεύει μόνο εάν έχουν αποκατασταθεί οι κατεστραμμένες λειτουργίες. Εστιάζει σε προηγούμενες εκδόσεις και ελέγχει εάν οι προηγούμενες λειτουργίες εξακολουθούν να λειτουργούν όπως αναμένεται.
Κάθε δοκιμή είναι συγκεκριμένη Η παλινδρόμηση είναι ένα γενικό τεστ.
Αυτή η δοκιμή είναι για αποτυχημένες δοκιμαστικές περιπτώσεις. Απευθύνεται σε περιπτώσεις επιτυχούς εξέτασης.
Ελέγχει συγκεκριμένα ελαττώματα, επομένως δεν μπορεί να αυτοματοποιηθεί. Μπορεί να αυτοματοποιηθεί. Επίσης, συνιστάται ιδιαίτερα να είναι αυτοματοποιημένο, όπως συζητήσαμε νωρίτερα.
Ο επανέλεγχος δεν αποτελεί πάντα μέρος ενός κύκλου δοκιμών, καθώς απαιτείται μόνο όταν εντοπιστούν σφάλματα. Η παλινδρόμηση είναι πάντα μέρος της δοκιμής, καθώς κάθε φορά που αλλάζει ένας κωδικός, αυτή η δοκιμή πρέπει να διεξάγεται για να κατανοηθεί εάν η λειτουργικότητα του προϊόντος είναι σταθερή.
Είναι δοκιμή υψηλής προτεραιότητας καθώς επικεντρώνεται σε γνωστά ζητήματα. Πρόκειται για δοκιμή χαμηλής προτεραιότητας, καθώς πρόκειται για συνολική δοκιμή πιθανών ελαττωμάτων.
Αυτή η δοκιμή δεν είναι χρονοβόρα, καθώς λειτουργεί σε ένα συγκεκριμένο ελάττωμα. Δεδομένου ότι περιλαμβάνει μια μεγάλη περιοχή του λογισμικού, ως εκ τούτου, είναι χρονοβόρα.
Προσδιορίζει ελαττώματα με τα ίδια δεδομένα και περιβάλλον με διαφορετική είσοδο και νέα έκδοση. Αυτή η δοκιμή μπορεί να αποκτήσει περιπτώσεις από εγχειρίδια χρήστη, αναφορές ελαττωμάτων και λειτουργικές προδιαγραφές.
Ο επαναληπτικός έλεγχος δεν μπορεί να διεξαχθεί χωρίς την πρώτη δοκιμή. Γίνεται όταν αλλαγές και τροποποιήσεις είναι υποχρεωτικές στο υπάρχον έργο.

Επίσης, ελέγξτε την πλήρη λίστα διαφορών εδώ.

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

Πλεονεκτήματα

  • Η δοκιμή παλινδρόμησης βελτιώνει την ποιότητα των προϊόντων.
  • Με αυτήν τη δοκιμή, διασφαλίζετε ότι οι τροποποιήσεις και οι διορθώσεις σφαλμάτων δεν έχουν αλλάξει τις υπάρχουσες λειτουργίες και δυνατότητες.
  • Δεδομένου ότι τα κρεβάτια παλινδρόμησης λειτουργούν με υπάρχοντα χαρακτηριστικά, μπορούμε να εγγυηθούμε ότι καλύπτονται και παλαιότερα ελαττώματα.
  • Διευκολύνει την αποτελεσματική ανάπτυξη προϊόντων.
  • Μπορείτε να επιτύχετε υψηλή ικανοποίηση των χρηστών με αυτήν τη δοκιμή.
  • Συνολικά, διατηρεί τη σταθερότητα του λογισμικού.

Μειονεκτήματα

  • Θα πρέπει να πραγματοποιείται κάθε φορά που γίνεται μια μικρή αλλαγή, καθώς η παραμικρή αλλαγή μπορεί να προκαλέσει προβλήματα στις υπάρχουσες ενότητες.
  • Αυτή η δοκιμή μπορεί να είναι χρονοβόρα όταν διεξάγεται χειροκίνητα, απαιτώντας επαναλαμβανόμενες δοκιμές.

Προκλήσεις στη δοκιμή παλινδρόμησης

Προκλήσεις στη δοκιμή παλινδρόμησης

Ακολουθούν τα κύρια προβλήματα δοκιμών για τη διεξαγωγή δοκιμών παλινδρόμησης:

  • Με διαδοχικές εκτελέσεις παλινδρόμησης, οι δοκιμαστικές σουίτες γίνονται αρκετά μεγάλες. Λόγω περιορισμών χρόνου και προϋπολογισμού, δεν μπορεί να εκτελεστεί ολόκληρη η ομάδα δοκιμών παλινδρόμησης
  • Η ελαχιστοποίηση της σουίτας δοκιμών με παράλληλη επίτευξη του μέγιστου παραμένει μια πρόκληση
  • Ο προσδιορισμός της συχνότητας των δοκιμών παλινδρόμησης, δηλαδή, μετά από κάθε τροποποίηση ή κάθε ενημέρωση έκδοσης ή μετά από μια δέσμη διορθώσεων σφαλμάτων, είναι μια πρόκληση.

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

Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο

Παράδειγμα δοκιμής παλινδρόμησης – Amazon

Σκεφτείτε τον γίγαντα του ηλεκτρονικού εμπορίου Amazon, η οποία είναι μια επιχείρηση πολλών δισεκατομμυρίων δολαρίων που βασίζεται στον ιστότοπό της για τη δημιουργία εσόδων. Για να διατηρηθεί η λειτουργικότητα, η αξιοπιστία και η απόδοσή του, η δοκιμή παλινδρόμησης διαδραματίζει κρίσιμο ρόλο.

Ας πάρουμε ένα σενάριο προσθήκης νέας κατηγορίας προϊόντων.

Φανταστείτε ότι Amazon αποφασίζει να επεκτείνει τις προσφορές προϊόντων της εισάγοντας μια νέα κατηγορία που ονομάζεται «Έξυπνες οικιακές συσκευές» μαζί με υπάρχουσες κατηγορίες όπως «Ηλεκτρονικά» και «Ένδυση».

Πιθανές περιπτώσεις παλινδρόμησης θα ήταν:

Λειτουργικότητα αρχικής σελίδας: Βεβαιωθείτε ότι η αρχική σελίδα εμφανίζει τη νέα κατηγορία "Έξυπνες οικιακές συσκευές" μαζί με τις υπάρχουσες χωρίς προβλήματα εμφάνισης.

Πλοήγηση κατηγορίας: Βεβαιωθείτε ότι οι χρήστες μπορούν να πλοηγηθούν ομαλά στη σελίδα της κατηγορίας «Έξυπνες οικιακές συσκευές» και να επιστρέψουν στην αρχική σελίδα χωρίς σφάλματα.

Λειτουργικότητα αναζήτησης: Βεβαιωθείτε ότι η γραμμή αναζήτησης εμφανίζει με ακρίβεια αποτελέσματα για έξυπνες οικιακές συσκευές όταν οι χρήστες τις αναζητούν και δεν αναμειγνύονται με άλλα προϊόντα.

Λογαριασμοί χρηστών: Επαληθεύστε ότι οι λογαριασμοί χρηστών μπορούν να δημιουργηθούν, να ενημερωθούν και να χρησιμοποιηθούν για την αγορά έξυπνων οικιακών συσκευών και άλλων προϊόντων.

Επεξεργασία πληρωμών: Δοκιμάστε τις πύλες πληρωμής ειδικά για αγορές και εγγυηθείτε ασφαλείς και χωρίς σφάλματα συναλλαγές.

Απόκριση σε κινητές συσκευές: Ελέγξτε ότι ο ιστότοπος παραμένει ανταποκρινόμενος σε κινητά, επιτρέποντας στους χρήστες να έχουν πρόσβαση και να αγοράζουν έξυπνες οικιακές συσκευές σε διάφορες συσκευές.

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

Συμπέρασμα

  • Σημασία δοκιμής παλινδρόμησης – Ο έλεγχος παλινδρόμησης είναι ένας τύπος δοκιμής λογισμικού που διασφαλίζει ότι μια εφαρμογή εξακολουθεί να λειτουργεί όπως αναμένεται μετά από βελτιώσεις, τυχόν αλλαγές κώδικα ή διορθώσεις σφαλμάτων.
  • Μια αποτελεσματική στρατηγική παλινδρόμησης μπορεί να εξοικονομήσει χρόνο και χρήμα για τον οργανισμό.
  • Σύμφωνα με μελέτες περίπτωσης, η παλινδρόμηση εξοικονόμησε έως και το 60% των μεταγενέστερων διορθώσεων σφαλμάτων.