Τι είναι ο έλεγχος παλινδρόμησης;
Η ΔΟΚΙΜΗ ΕΓΓΡΑΦΗΣ ορίζεται ως ένας τύπος δοκιμής λογισμικού για να επιβεβαιώσει ότι ένα πρόσφατο πρόγραμμα ή αλλαγή κώδικα δεν επηρέασε αρνητικά τις υπάρχουσες δυνατότητες.
Το Regression Testing δεν είναι τίποτα άλλο από μια πλήρη ή μερική επιλογή των ήδη εκτελεσμένων δοκιμαστικών περιπτώσεων που επανεξετάζονται για να διασφαλιστεί ότι οι υπάρχουσες λειτουργίες λειτουργούν καλά.
Αυτός ο έλεγχος γίνεται για να διασφαλιστεί ότι οι νέες αλλαγές κώδικα δεν θα πρέπει να έχουν παρενέργειες στις υπάρχουσες λειτουργίες. Διασφαλίζει ότι ο παλιός κώδικας εξακολουθεί να λειτουργεί μόλις γίνουν οι τελευταίες αλλαγές κώδικα.
Σε αυτό το σεμινάριο, θα μάθουμε
- Ανάγκη δοκιμής παλινδρόμησης
- Πώς να κάνετε τον έλεγχο παλινδρόμησης
- Επιλογή δοκιμαστικών περιπτώσεων για έλεγχο παλινδρόμησης
- Εργαλεία δοκιμής παλινδρόμησης
- Δοκιμή παλινδρόμησης και διαχείριση διαμόρφωσης
- Διαφορά μεταξύ του Re-Testing και του Regression Testing
- Προκλήσεις στη δοκιμή παλινδρόμησης
- Πρακτική εφαρμογή παραδείγματος δοκιμής παλινδρόμησης με βίντεο
Ανάγκη δοκιμής παλινδρόμησης
Η ανάγκη δοκιμής παλινδρόμησης προκύπτει κυρίως όταν υπάρχει ανάγκη αλλαγής του κώδικα και πρέπει να ελέγξουμε εάν ο τροποποιημένος κώδικας επηρεάζει το άλλο μέρος της εφαρμογής λογισμικού ή όχι. Επιπλέον, απαιτείται έλεγχος παλινδρόμησης, όταν προστίθεται μια νέα δυνατότητα στην εφαρμογή λογισμικού και για διόρθωση ελαττωμάτων, καθώς και διόρθωση ζητημάτων απόδοσης.
Πώς να κάνετε τον έλεγχο παλινδρόμησης
Για να κάνουμε τη διαδικασία δοκιμής παλινδρόμησης , πρέπει πρώτα να διορθώσουμε τον κώδικα για να εντοπίσουμε τα σφάλματα. Μόλις εντοπιστούν τα σφάλματα, γίνονται οι απαιτούμενες αλλαγές για τη διόρθωσή του, και στη συνέχεια ο έλεγχος παλινδρόμησης επιλέγεται σχετικές δοκιμαστικές περιπτώσεις από τη δοκιμαστική σουίτα που καλύπτει τόσο τα τροποποιημένα όσο και τα επηρεαζόμενα μέρη του κώδικα.
Η συντήρηση λογισμικού είναι μια δραστηριότητα που περιλαμβάνει βελτιώσεις, διορθώσεις σφαλμάτων, βελτιστοποίηση και διαγραφή υπαρχόντων λειτουργιών. Αυτές οι τροποποιήσεις ενδέχεται να προκαλέσουν εσφαλμένη λειτουργία του συστήματος. Επομένως, ο έλεγχος παλινδρόμησης καθίσταται απαραίτητος. Ο έλεγχος παλινδρόμησης μπορεί να πραγματοποιηθεί χρησιμοποιώντας τις ακόλουθες τεχνικές:
Επανεξετάστε όλα
- Αυτή είναι μια από τις μεθόδους για τον έλεγχο παλινδρόμησης κατά την οποία όλες οι δοκιμές στον υπάρχοντα κάδο δοκιμών ή σουίτα πρέπει να εκτελεστούν εκ νέου. Αυτό είναι πολύ ακριβό καθώς απαιτεί τεράστιο χρόνο και πόρους.
Επιλογή δοκιμής παλινδρόμησης
Regression Test Selection είναι μια τεχνική στην οποία εκτελούνται ορισμένες επιλεγμένες περιπτώσεις δοκιμών από τη σουίτα δοκιμών για να ελεγχθεί εάν ο τροποποιημένος κώδικας επηρεάζει την εφαρμογή λογισμικού ή όχι. Οι περιπτώσεις δοκιμής κατηγοριοποιούνται σε δύο μέρη, επαναχρησιμοποιήσιμες δοκιμαστικές περιπτώσεις που μπορούν να χρησιμοποιηθούν σε περαιτέρω κύκλους παλινδρόμησης και παρωχημένες δοκιμαστικές περιπτώσεις που δεν μπορούν να χρησιμοποιηθούν σε επόμενους κύκλους.
Προτεραιότητα των δοκιμαστικών περιπτώσεων
- Προτεραιότητα στις δοκιμαστικές περιπτώσεις ανάλογα με τον επιχειρηματικό αντίκτυπο, τις κρίσιμες και τις συχνά χρησιμοποιούμενες λειτουργίες. Η επιλογή δοκιμαστικών περιπτώσεων με βάση την προτεραιότητα θα μειώσει σημαντικά τη σειρά δοκιμών παλινδρόμησης.
Επιλογή δοκιμαστικών περιπτώσεων για έλεγχο παλινδρόμησης
Διαπιστώθηκε από τα δεδομένα της βιομηχανίας ότι ένας μεγάλος αριθμός ελαττωμάτων που αναφέρθηκαν από τους πελάτες οφείλονταν σε διορθώσεις σφαλμάτων της τελευταίας στιγμής που δημιουργούσαν παρενέργειες και ως εκ τούτου η επιλογή της δοκιμαστικής υπόθεσης για δοκιμή παλινδρόμησης είναι μια τέχνη και όχι τόσο εύκολη. Οι αποτελεσματικές δοκιμές παλινδρόμησης μπορούν να γίνουν επιλέγοντας τις ακόλουθες περιπτώσεις δοκιμής -
- Ελέγξτε περιπτώσεις που έχουν συχνά ελαττώματα
- Λειτουργίες που είναι πιο ορατές στους χρήστες
- Δοκιμάστε περιπτώσεις που επαληθεύουν τα βασικά χαρακτηριστικά του προϊόντος
- Ελέγξτε περιπτώσεις λειτουργιών που έχουν υποστεί περισσότερες και πρόσφατες αλλαγές
- Όλες οι περιπτώσεις δοκιμής ολοκλήρωσης
- Όλες οι περίπλοκες δοκιμές
- Περιπτώσεις δοκιμής οριακής τιμής
- Ένα δείγμα επιτυχημένων περιπτώσεων δοκιμής
- Ένα δείγμα περιπτώσεων δοκιμής αποτυχίας
Εργαλεία δοκιμής παλινδρόμησης
Εάν το λογισμικό σας υφίσταται συχνές αλλαγές, το κόστος δοκιμής παλινδρόμησης θα αυξηθεί. Σε τέτοιες περιπτώσεις, η χειροκίνητη εκτέλεση δοκιμαστικών περιπτώσεων αυξάνει το χρόνο εκτέλεσης της δοκιμής καθώς και το κόστος. Η αυτοματοποίηση των περιπτώσεων δοκιμής παλινδρόμησης είναι η έξυπνη επιλογή σε τέτοιες περιπτώσεις. Η έκταση του αυτοματισμού εξαρτάται από τον αριθμό των δοκιμαστικών περιπτώσεων που παραμένουν επαναχρησιμοποιήσιμα για διαδοχικούς κύκλους παλινδρόμησης.
Ακολουθούν τα πιο σημαντικά εργαλεία που χρησιμοποιούνται τόσο για λειτουργικές όσο και για δοκιμές παλινδρόμησης στη μηχανική λογισμικού:
Σελήνιο : Αυτό είναι ένα εργαλείο ανοιχτού κώδικα που χρησιμοποιείται για την αυτοματοποίηση εφαρμογών ιστού. Το σελήνιο μπορεί να χρησιμοποιηθεί για δοκιμές παλινδρόμησης με βάση το πρόγραμμα περιήγησης.
Quick Test Professional (QTP) : Το HP Quick Test Professional είναι αυτοματοποιημένο λογισμικό που έχει σχεδιαστεί για να αυτοματοποιεί λειτουργικές και δοκιμαστικές περιπτώσεις παλινδρόμησης. Χρησιμοποιεί γλώσσα VBScript για αυτοματοποίηση. Είναι ένα εργαλείο που βασίζεται σε δεδομένα και βασίζεται σε λέξεις-κλειδιά.
Rational Functional Tester (RFT) : Ο ορθολογικός λειτουργικός ελεγκτής της IBM είναι ένα εργαλείο Java που χρησιμοποιείται για την αυτοματοποίηση των δοκιμαστικών περιπτώσεων εφαρμογών λογισμικού. Αυτό χρησιμοποιείται κυρίως για την αυτοματοποίηση περιπτώσεων δοκιμής παλινδρόμησης και ενσωματώνεται επίσης με το Rational Test Manager.
Δοκιμή παλινδρόμησης και διαχείριση διαμόρφωσης
Η διαχείριση διαμόρφωσης κατά τη διάρκεια της δοκιμής παλινδρόμησης καθίσταται επιτακτική σε Agile περιβάλλοντα όπου ένας κώδικας τροποποιείται συνεχώς. Για να εξασφαλίσετε αποτελεσματικές δοκιμές παλινδρόμησης, παρατηρήστε τα εξής:
- Ο κώδικας που δοκιμάζεται παλινδρόμηση πρέπει να βρίσκεται κάτω από ένα εργαλείο διαχείρισης διαμόρφωσης
- Δεν πρέπει να επιτρέπονται αλλαγές στον κώδικα, κατά τη φάση δοκιμής παλινδρόμησης. Ο κωδικός δοκιμής παλινδρόμησης πρέπει να διατηρείται απρόσβλητος από αλλαγές προγραμματιστή.
- Η βάση δεδομένων που χρησιμοποιείται για τον έλεγχο παλινδρόμησης πρέπει να είναι απομονωμένη. Δεν πρέπει να επιτρέπονται αλλαγές στη βάση δεδομένων
Διαφορά μεταξύ της εκ νέου δοκιμής και της δοκιμής παλινδρόμησης:
Επανεξέταση σημαίνει δοκιμή της λειτουργικότητας ή σφάλμα ξανά για να βεβαιωθείτε ότι ο κώδικας είναι σταθερός. Εάν δεν επιδιορθωθεί, το Defect πρέπει να ανοίξει ξανά. Εάν διορθωθεί, το Defect είναι κλειστό.
Ο έλεγχος παλινδρόμησης σημαίνει δοκιμή της εφαρμογής λογισμικού σας όταν υποβάλλεται σε αλλαγή κώδικα για να διασφαλιστεί ότι ο νέος κώδικας δεν έχει επηρεάσει άλλα μέρη του λογισμικού.
Επίσης, δείτε την πλήρη λίστα των διαφορών εδώ.
Προκλήσεις στη δοκιμή παλινδρόμησης:
Ακολουθούν τα σημαντικότερα προβλήματα δοκιμών για τη δοκιμή παλινδρόμησης:
- Με διαδοχικές παλινδρόμηση, οι δοκιμαστικές σουίτες γίνονται αρκετά μεγάλες. Λόγω περιορισμών χρόνου και προϋπολογισμού, δεν είναι δυνατή η εκτέλεση ολόκληρης της δοκιμαστικής παλινδρόμησης
- Η ελαχιστοποίηση της δοκιμαστικής σουίτας ενώ επιτυγχάνεται η μέγιστη κάλυψη δοκιμών παραμένει μια πρόκληση
- Ο προσδιορισμός της συχνότητας των δοκιμών παλινδρόμησης, δηλαδή, μετά από κάθε τροποποίηση ή κάθε ενημερωμένη έκδοση build ή μετά από μια δέσμη διορθώσεων σφαλμάτων, είναι μια πρόκληση.
Πρακτική εφαρμογή παραδείγματος δοκιμής παλινδρόμησης με βίντεο
Κάντε κλικ εδώ εάν το βίντεο δεν είναι προσβάσιμο
Συμπέρασμα:
Μια αποτελεσματική στρατηγική παλινδρόμησης, εξοικονομεί χρόνο και χρήμα. Σύμφωνα με μία από τις περιπτωσιολογικές μελέτες στον τραπεζικό τομέα, η παλινδρόμηση εξοικονομεί έως και 60% χρόνο σε διορθώσεις σφαλμάτων (που θα είχαν παγιδευτεί από δοκιμές παλινδρόμησης) και 40% σε χρήματα