Κάθε φορά που κυκλοφορεί νέο λογισμικό, είναι προφανής η ανάγκη δοκιμής νέας λειτουργικότητας. Ωστόσο, είναι εξίσου σημαντικό να εκτελέσετε ξανά παλιές δοκιμές που είχε περάσει προηγουμένως από την εφαρμογή. Με αυτόν τον τρόπο μπορούμε να είμαστε σίγουροι ότι το νέο λογισμικό δεν επαναφέρει παλιά ελαττώματα ή δεν δημιουργεί νέα στο λογισμικό. Καλούμε αυτόν τον τύπο δοκιμών ως δοκιμή παλινδρόμησης. Σε όλο αυτό το άρθρο, θα διερευνήσουμε τον έλεγχο παλινδρόμησηςλεπτομερώς. Εάν είστε νέοι στη δοκιμή λογισμικού, φροντίστε να διαβάσετε επίσης το .
Ας ρίξουμε μια ματιά σε θέματα που καλύπτονται σε αυτό το άρθρο:
- Τι είναι ο έλεγχος παλινδρόμησης;
- Οφέλη από τον έλεγχο παλινδρόμησης;
- Πότε να εφαρμόσετε τον έλεγχο παλινδρόμησης;
- Ποιοι είναι οι τύποι δοκιμών παλινδρόμησης;
- Πώς εφαρμόζεται ο έλεγχος παλινδρόμησης;
- Τεχνικές δοκιμής παλινδρόμησης
- Προκλήσεις δοκιμών παλινδρόμησης
Τι είναι ο έλεγχος παλινδρόμησης;
«Η δοκιμή ενός προγράμματος που δοκιμάστηκε προηγουμένως μετά από τροποποίηση για να διασφαλιστεί ότι δεν έχουν εισαχθεί ή αποκαλυφθεί ελαττώματα σε αμετάβλητες περιοχές του λογισμικού, ως αποτέλεσμα των αλλαγών που ονομάζεται Regression Testing.»
Μια δοκιμή παλινδρόμησης είναι μια δοκιμή σε ολόκληρο το σύστημα της οποίας ο κύριος σκοπός είναι να διασφαλίσει ότι μια μικρή αλλαγή σε ένα μέρος του συστήματος δεν θα σπάσει την υπάρχουσα λειτουργικότητα αλλού στο σύστημα. Εάν θεωρείτε την παλινδρόμηση ως ακούσια αλλαγή, τότε αυτός ο τύπος δοκιμών είναι η διαδικασία κυνηγιού αυτών των αλλαγών. Με απλά λόγια, είναι να βεβαιωθείτε ότι τα παλιά σφάλματα δεν θα επιστρέψουν για να σας στοιχειώσουν. Αςρίξτε μια ματιά σε ένα φανταστικό παράδειγμα που απεικονίζει την ιδέα.
Όταν προσθέτετε έναν νέο τύπο πληρωμής σε έναν ιστότοπο αγορών, εκτελέστε ξανά παλιές δοκιμές για να βεβαιωθείτε ότι ο νέος κωδικός δεν έχει δημιουργήσει νέα ελαττώματα ή δεν έχει εισαγάγει ξανά παλιές.Ο έλεγχος παλινδρόμησης είναι σημαντικός επειδή, χωρίς αυτό, είναι πολύ πιθανό να εισαγάγετε επιδιωκόμενες διορθώσεις σε ένα σύστημα που δημιουργεί περισσότερα προβλήματα από αυτά που επιλύουν.
Οφέλη της δοκιμής παλινδρόμησης
Διεξαγωγή δοκιμών παλινδρόμησηςωφελεί τις εταιρείες με διάφορους τρόπους όπως:
- Αυξάνει την πιθανότητα εντοπισμού σφαλμάτων που προκαλούνται από αλλαγές στο λογισμικό και την εφαρμογή
- Μπορεί να βοηθήσει στην πρόληψη ελαττωμάτων νωρίς και έτσι να μειώσει το κόστος για την επίλυσή τους
- Βοηθά στην έρευνα ανεπιθύμητων παρενεργειών που μπορεί να έχουν συμβεί λόγω ενός νέου λειτουργικού περιβάλλοντος
- Εξασφαλίζει λογισμικό με καλύτερη απόδοση λόγω έγκαιρης αναγνώρισης σφαλμάτων και σφαλμάτων
- Το πιο σημαντικό, επιβεβαιώνει ότι οι αλλαγές κώδικα δεν επαναφέρουν τα παλιά ελαττώματα
Ο έλεγχος παλινδρόμησης διασφαλίζει την ορθότητα του λογισμικού, έτσι ώστε η καλύτερη έκδοση του προϊόντος να κυκλοφορήσει στην αγορά. Ωστόσο, στον πραγματικό κόσμο, ο σχεδιασμός και η συντήρηση ενός σχεδόν άπειρου σετ δοκιμών παλινδρόμησης δεν είναι εφικτό. Επομένως, πρέπει να ξέρετε πότε να εφαρμόσετε τον έλεγχο παλινδρόμησης.
πώς να εκτυπώσετε τον πίνακα php
Πότε να εφαρμόσετε το Regression Testing;
Συνιστάται να εκτελέσετε δοκιμές παλινδρόμησης σχετικά με την εμφάνιση των ακόλουθων συμβάντων:
- Όταν προστίθενται νέες λειτουργίες
- Σε περίπτωση αλλαγών απαιτήσεων
- Όταν υπάρχει επιδιόρθωση ελαττώματος
- Όταν υπάρχουν προβλήματα απόδοσης
- Σε περίπτωση αλλαγών στο περιβάλλον
- Όταν υπάρχει ενημέρωση κώδικα
Το επόμενο μέρος αυτού του άρθρου αφορά διαφορετικούς τύπους δοκιμών παλινδρόμησης.
Ποιοι είναι οι τύποι δοκιμών παλινδρόμησης;
Ο έλεγχος παλινδρόμησης γίνεται μέσω αρκετών φάσεων δοκιμών. Για αυτόν τον λόγο, υπάρχουν διάφοροι τύποι δοκιμών παλινδρόμησης. Μερικά από αυτά έχουν ως εξής:
Δοκιμή μονάδων: Στη δοκιμή μονάδας όταν γίνονται αλλαγές κωδικοποίησης για μία μόνο μονάδα, ένας υπεύθυνος δοκιμών, συνήθως ο υπεύθυνος προγραμματιστής για τον κώδικα - εκτελεί ξανά όλες τις προηγούμενες δοκιμές μονάδας που έχουν περάσει προηγουμένως. Σε περιβάλλοντα, οι αυτοματοποιημένες δοκιμές μονάδων είναι ενσωματωμένες στον κώδικα, καθιστώντας τις δοκιμές μονάδας πολύ αποτελεσματικές σε σύγκριση με άλλους τύπους δοκιμών.
Προοδευτικός έλεγχος: Αυτός ο τύπος δοκιμών λειτουργεί αποτελεσματικά όταν υπάρχουν αλλαγές στις προδιαγραφές λογισμικού / εφαρμογών καθώς και νέες είναι σχεδιασμένα.
Επιλεκτική δοκιμή: Σε επιλεκτικές δοκιμές, οι δοκιμαστές χρησιμοποιούν ένα υποσύνολο των τρεχουσών περιπτώσεων δοκιμής για να μειώσουν το κόστος και την προσπάθεια δοκιμής. Μια μονάδα δοκιμής πρέπει να εκτελεστεί εκ νέου εάν και μόνο εάν έχει αλλάξει κάποια από τις οντότητες του προγράμματος που καλύπτει.
Επανεξέταση όλων των δοκιμών: Αυτός ο τύπος στρατηγικής δοκιμών περιλαμβάνει τη δοκιμή όλων των πτυχών μιας συγκεκριμένης εφαρμογής, καθώς και την επαναχρησιμοποίηση όλων των δοκιμαστικών περιπτώσεων ακόμη και όταν δεν έχουν πραγματοποιηθεί οι αλλαγές. Είναι χρονοβόρο και δεν είναι πολύ χρήσιμο όταν γίνεται οποιαδήποτε μικρή τροποποίηση ή αλλαγή στην εφαρμογή.
Πλήρης δοκιμή: Αυτή η δοκιμή είναι πολύ χρήσιμη όταν έχουν πραγματοποιηθεί πολλές αλλαγές στον υπάρχοντα κώδικα. Η εκτέλεση αυτού του ελέγχου είναι πολύτιμη για τον εντοπισμό απροσδόκητων σφαλμάτων. Μόλις ολοκληρωθεί αυτός ο έλεγχος, το τελικό σύστημα μπορεί να διατεθεί στον χρήστη.
Είναι πολύ σημαντικό να γνωρίζετε ποιος τύπος δοκιμών ταιριάζει στις απαιτήσεις σας. Στη συνέχεια, θα συζητήσουμε πώς εφαρμόζεται ο έλεγχος παλινδρόμησης.
Πώς εφαρμόζεται ο έλεγχος παλινδρόμησης;
Η διαδικασία για την εφαρμογή δοκιμών παλινδρόμησης είναι όπως αυτή που εφαρμόζετε για οποιαδήποτε άλλη διαδικασία δοκιμής. Κάθε φορά που το λογισμικό υφίσταται αλλαγή και εμφανίζεται μια νέα έκδοση, ο προγραμματιστής εκτελεί αυτά τα βήματα ως μέρος της διαδικασίας δοκιμής:
- Πρώτα απ 'όλα, εκτελεί δοκιμές παλινδρόμησης σε επίπεδο μονάδας για να επικυρώσει τον κώδικα που έχουν τροποποιήσει, μαζί με τυχόν νέες δοκιμές που έχουν γράψει για να καλύψουν νέα ή τροποποιημένη λειτουργικότητα
- Στη συνέχεια, ο αλλαγμένος κώδικας συγχωνεύεται και ενσωματώνεται για να δημιουργήσει μια νέα έκδοση της υπό δοκιμή εφαρμογής (AUT)
- Στη συνέχεια, εκτελούνται δοκιμές καπνού για να διασφαλιστεί ότι η κατασκευή είναι καλή πριν από την πραγματοποίηση πρόσθετων δοκιμών
- Μόλις το build δηλωθεί καλό, εκτελούνται δοκιμές ενοποίησης για να επαληθευτεί η αλληλεπίδραση μεταξύ μονάδων της εφαρμογής μεταξύ τους και με υπηρεσίες back-end όπως βάσεις δεδομένων
- Ανάλογα με το μέγεθος και το εύρος του κώδικα που έχει κυκλοφορήσει, προγραμματίζεται είτε μερική είτε πλήρης παλινδρόμηση
- Τα ελαττώματα αναφέρονται στη συνέχεια στην ομάδα ανάπτυξης
- Εάν χρειαστεί, πραγματοποιούνται επιπλέον γύροι δοκιμών παλινδρόμησης
Έτσι ενσωματώνεται ο έλεγχος παλινδρόμησης σε μια τυπική διαδικασία δοκιμής λογισμικού. Η παρακάτω εικόνα απεικονίζει με σαφήνεια τον τρόπο διεξαγωγής των δοκιμών παλινδρόμησης.
Όποτε γίνονται κάποιες αλλαγές στον πηγαίο κώδικα, η εκτέλεση του προγράμματος αποτυγχάνει για προφανείς λόγους. Μετά την αποτυχία, ο πηγαίος κώδικας έχει εντοπιστεί σφαλμάτων προκειμένου να εντοπιστούν τα σφάλματα στο πρόγραμμα. Πραγματοποιούνται κατάλληλες τροποποιήσεις. Στη συνέχεια, επιλέγονται οι κατάλληλες δοκιμαστικές περιπτώσεις από την ήδη υπάρχουσα δοκιμαστική σουίτα που καλύπτει όλα τα τροποποιημένα και επηρεαζόμενα μέρη του πηγαίου κώδικα. Προστίθενται νέες δοκιμαστικές περιπτώσεις εάν απαιτείται. Στο τέλος, η δοκιμή πραγματοποιείται χρησιμοποιώντας τις επιλεγμένες περιπτώσεις δοκιμής. Τώρα ίσως αναρωτιέστε ποιες δοκιμαστικές περιπτώσεις θα επιλέξετε.
Οι αποτελεσματικές δοκιμές παλινδρόμησης μπορούν να γίνουν επιλέγοντας τις ακόλουθες περιπτώσεις δοκιμής:
- Ελέγξτε περιπτώσεις που έχουν συχνά ελαττώματα
- Πολύπλοκες δοκιμές
- Περιπτώσεις δοκιμής ολοκλήρωσης
- Δοκιμάστε περιπτώσεις που καλύπτουν τη βασική λειτουργικότητα ενός προϊόντος
- Λειτουργίες που χρησιμοποιούνται συχνά
- Δοκιμή αγγείων που συχνά αποτυγχάνουν
- Περιπτώσεις δοκιμής οριακής τιμής
Με τη διαδικασία δοκιμής παλινδρόμησης, ας δούμε διάφορες τεχνικές.
Τεχνικές δοκιμής παλινδρόμησης
Ο έλεγχος παλινδρόμησης επιβεβαιώνει απλώς ότι το τροποποιημένο λογισμικό δεν έχει αλλάξει ακούσια και εκτελείται συνήθως χρησιμοποιώντας οποιονδήποτε συνδυασμό των ακόλουθων τεχνικών:
συγχώνευση παράδειγμα c ++
Επανεξέταση όλων: Αυτή η μέθοδος επανεξετάζει απλώς ολόκληρη τη σουίτα λογισμικού, από πάνω προς τα κάτω. Σε πολλές περιπτώσεις, η πλειονότητα αυτών των δοκιμών πραγματοποιείται από αυτοματοποιημένα εργαλεία. Ορισμένες φορές η αυτοματοποίηση δεν είναι απαραίτητη. Αυτή η τεχνική είναι ακριβή καθώς απαιτεί περισσότερο χρόνο και πόρους σε σύγκριση με τις άλλες τεχνικές.
Επιλογή δοκιμής: Αντί να επιλέγει όλες τις δοκιμαστικές περιπτώσεις, αυτή η μέθοδος επιτρέπει στην ομάδα να επιλέξει ένα σύνολο δοκιμών που θα προσεγγίσει την πλήρη δοκιμή της δοκιμαστικής σουίτας. Το πρωταρχικό πλεονέκτημα αυτής της πρακτικής είναι ότι απαιτεί πολύ λιγότερο χρόνο και προσπάθεια για εκτέλεση. Συνήθως γίνεται από προγραμματιστές που θα έχουν συνήθως καλύτερη εικόνα για τις αποχρώσεις των περιπτώσεων και των απροσδόκητων συμπεριφορών.
Προτεραιότητα δοκιμαστικής υπόθεσης: Ο στόχος αυτής της τεχνικής είναι να δοθεί προτεραιότητα σε ένα περιορισμένο σύνολο δοκιμαστικών περιπτώσεων εξετάζοντας περισσότερες πιθανές δοκιμαστικές περιπτώσεις μπροστά από λιγότερο σημαντικές. Επιλέγονται περιπτώσεις δοκιμών που θα μπορούσαν να επηρεάσουν τόσο τις τρέχουσες όσο και τις μελλοντικές εκδόσεις του λογισμικού.
Αυτές είναι οι τρεις μεγάλες τεχνικές. Κατά καιρούς με βάση τις απαιτήσεις δοκιμών, αυτές οι τεχνικές συνδυάζονται.
Όσο χρήσιμο και αν είναι ο έλεγχος παλινδρόμησης, δεν είναι χωρίς τα αρνητικά του σημεία. Πρέπει να κατανοήσετε τις προκλήσεις που ενδέχεται να αντιμετωπίσετε κατά την εφαρμογή της.
Προκλήσεις δοκιμών παλινδρόμησης
- Χρονοβόρος: Τεχνικές όπως η δοκιμή-όλα χρειάζονται πολύ χρόνο για να δοκιμάσουν ολόκληρη τη σειρά δοκιμαστικών περιπτώσεων
- Ακριβός: Ακριβές λόγω των πόρων και του ανθρώπινου δυναμικού που πρέπει να δοκιμάσετε ξανά και ξανά, κάτι που έχει ήδη αναπτυχθεί, δοκιμαστεί και αναπτυχθεί σε αρχικά στάδια
- Συγκρότημα: Καθώς το προϊόν επεκτείνεται, οι υπεύθυνοι δοκιμών συχνά κατακλύζονται από τον τεράστιο αριθμό δοκιμαστικών περιπτώσεων και πέφτουν θύματα απώλειας της διαδρομής των δοκιμαστικών περιπτώσεων, παραβλέποντας τις σημαντικές περιπτώσεις
Παρά αυτά τα αρνητικά σημεία, ο έλεγχος παλινδρόμησης είναι πολύ χρήσιμος στη διαδικασία δοκιμής λογισμικού. Με τον έλεγχο παλινδρόμησης, οι εταιρείες μπορούν να αποτρέψουν τα έργα από το να υπερβούν τον προϋπολογισμό, να διατηρήσουν την ομάδα τους σε καλό δρόμο και, το σημαντικότερο, να αποτρέψουν απρόβλεπτα σφάλματα από την καταστροφή των προϊόντων τους. Με αυτό, φτάσαμε στο τέλος του ιστολογίου. Ελπίζω ότι τα πράγματα που έχετε μάθει σήμερα θα σας βοηθήσουν καθώς προχωράτε στο ταξίδι δοκιμών λογισμικού.
Εάν το βρήκατε σχετικό άρθρο, δείτε το ζωντανά-διαδικτυακά από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο.
Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του « Τι είναι ο έλεγχος παλινδρόμησης; Άρθρο και θα επικοινωνήσουμε μαζί σας.