Τι είναι ο έλεγχος ολοκλήρωσης;
ΟΛΟΚΛΗΡΩΣΗ ΔΟΚΙΜΗΣ ορίζεται ως ένας τύπος δοκιμών όπου οι ενότητες λογισμικού ενσωματώνονται λογικά και δοκιμάζονται ως ομάδα. Ένα τυπικό πρόγραμμα λογισμικού αποτελείται από πολλαπλές ενότητες λογισμικού, κωδικοποιημένες από διαφορετικούς προγραμματιστές. Ο σκοπός αυτού του επιπέδου δοκιμών είναι να αποκαλύψει ελαττώματα στην αλληλεπίδραση μεταξύ αυτών των ενοτήτων λογισμικού όταν είναι ενσωματωμένα
Το Integration Testing εστιάζει στον έλεγχο της επικοινωνίας δεδομένων μεταξύ αυτών των ενοτήτων. Ως εκ τούτου, ονομάζεται επίσης «I & T» (Integration and Testing), «String Testing» και μερικές φορές «Thread Testing» .
- Τι είναι ο έλεγχος ολοκλήρωσης;
- Γιατί πραγματοποιείται η δοκιμή ενοποίησης;
- Παράδειγμα δοκιμής ενοποίησης
- Προσεγγίσεις, Στρατηγικές, Μεθοδολογίες Ένταξης
- Προσέγγιση Big Bang:
- Αύξηση προσέγγισης
- Τι είναι το Stub and Driver;
- Ενσωμάτωση από κάτω προς τα πάνω
- Ενσωμάτωση από πάνω προς τα κάτω:
- Hybrid / Sandwich Integration
- Πώς να κάνετε Έλεγχος Ενσωμάτωσης;
- Σύντομη περιγραφή των σχεδίων δοκιμής ολοκλήρωσης:
- Κριτήρια εισόδου και εξόδου του ελέγχου ολοκλήρωσης
- Βέλτιστες πρακτικές / οδηγίες για τη δοκιμή ενοποίησης
Γιατί πραγματοποιείται η δοκιμή ενοποίησης;
Παρόλο που κάθε μονάδα λογισμικού έχει ελεγχθεί από τη μονάδα, εξακολουθούν να υπάρχουν ελαττώματα για διάφορους λόγους όπως
- Μια Ενότητα, γενικά, έχει σχεδιαστεί από έναν μεμονωμένο προγραμματιστή λογισμικού του οποίου η λογική κατανόησης και προγραμματισμού ενδέχεται να διαφέρει από άλλους προγραμματιστές. Ο Έλεγχος ενοποίησης καθίσταται απαραίτητος για να επαληθεύσει ότι οι ενότητες λογισμικού λειτουργούν σε ενότητα
- Κατά τη στιγμή της ανάπτυξης της ενότητας, υπάρχουν μεγάλες πιθανότητες αλλαγής στις απαιτήσεις από τους πελάτες. Αυτές οι νέες απαιτήσεις ενδέχεται να μην είναι δοκιμασμένες σε μονάδα και ως εκ τούτου η δοκιμή ενοποίησης συστήματος καθίσταται απαραίτητη.
- Οι διεπαφές των ενοτήτων λογισμικού με τη βάση δεδομένων θα μπορούσαν να είναι εσφαλμένες
- Οι εξωτερικές διεπαφές υλικού, εάν υπάρχουν, θα μπορούσαν να είναι εσφαλμένες
- Ο ανεπαρκής χειρισμός εξαιρέσεων μπορεί να προκαλέσει προβλήματα.
Κάντε κλικ εδώ εάν το βίντεο δεν είναι προσβάσιμο
Παράδειγμα δοκιμής ενοποίησης
Η υπόθεση δοκιμής ολοκλήρωσης διαφέρει από άλλες περιπτώσεις δοκιμής υπό την έννοια ότι εστιάζει κυρίως στις διεπαφές και τη ροή δεδομένων / πληροφοριών μεταξύ των ενοτήτων . Εδώ πρέπει να δοθεί προτεραιότητα στους συνδέσμους ολοκλήρωσης παρά στις λειτουργίες μονάδας που έχουν ήδη δοκιμαστεί.
Δείγμα περιπτώσεων δοκιμής ενοποίησης για το ακόλουθο σενάριο: Η εφαρμογή έχει 3 λειτουργικές μονάδες που λένε «Σελίδα σύνδεσης», «γραμματοκιβώτιο» και «Διαγραφή μηνυμάτων ηλεκτρονικού ταχυδρομείου» και καθένα από αυτά είναι ενσωματωμένο λογικά.
Εδώ μην επικεντρωθείτε πολύ στη δοκιμή της σελίδας σύνδεσης, όπως έχει ήδη γίνει στη δοκιμή μονάδας. Αλλά ελέγξτε πώς συνδέεται με τη σελίδα του γραμματοκιβωτίου.
Ομοίως Mail Box: Ελέγξτε την ενσωμάτωσή του στο Module Delete Mails.
Αναγνωριστικό περίπτωσης δοκιμής | Στόχος δοκιμαστικής υπόθεσης | Περιγραφή περίπτωσης δοκιμής | Αναμενόμενο Αποτέλεσμα |
---|---|---|---|
1 | Ελέγξτε τη σύνδεση διεπαφής μεταξύ της ενότητας Σύνδεση και γραμματοκιβωτίου | Εισαγάγετε τα διαπιστευτήρια σύνδεσης και κάντε κλικ στο κουμπί Σύνδεση | Για να κατευθυνθείτε στο γραμματοκιβώτιο |
2 | Ελέγξτε τη σύνδεση διασύνδεσης μεταξύ του γραμματοκιβωτίου και της μονάδας διαγραφής μηνυμάτων | Από το γραμματοκιβώτιο επιλέξτε το email και κάντε κλικ στο κουμπί διαγραφής | Το επιλεγμένο μήνυμα ηλεκτρονικού ταχυδρομείου θα πρέπει να εμφανίζεται στο φάκελο "Διαγραμμένο / Κάδος απορριμμάτων" |
Προσεγγίσεις, Στρατηγικές, Μεθοδολογίες Ένταξης
Η Τεχνολογία Λογισμικού καθορίζει ποικιλία στρατηγικών για την εκτέλεση δοκιμών ενοποίησης, δηλαδή.
- Προσέγγιση Big Bang:
- Αύξηση προσέγγισης: η οποία χωρίζεται περαιτέρω στα ακόλουθα
- Προσέγγιση από πάνω προς τα κάτω
- Προσέγγιση από κάτω προς τα πάνω
- Προσέγγιση σάντουιτς - Συνδυασμός από πάνω προς τα κάτω και από κάτω
Παρακάτω είναι οι διαφορετικές στρατηγικές, ο τρόπος εκτέλεσης και οι περιορισμοί τους καθώς και τα πλεονεκτήματα.
Δοκιμή Big Bang
Το Big Bang Testing είναι μια προσέγγιση δοκιμών ολοκλήρωσης στην οποία όλα τα εξαρτήματα ή οι ενότητες ενσωματώνονται ταυτόχρονα και στη συνέχεια δοκιμάζονται ως μονάδα. Αυτό το συνδυασμένο σύνολο στοιχείων θεωρείται ως οντότητα κατά τη δοκιμή. Εάν όλα τα στοιχεία της μονάδας δεν έχουν ολοκληρωθεί, η διαδικασία ολοκλήρωσης δεν θα εκτελεστεί.
Πλεονεκτήματα:
- Βολικό για μικρά συστήματα.
Μειονεκτήματα:
- Η εντοπισμός σφαλμάτων είναι δύσκολη.
- Δεδομένου του τεράστιου αριθμού των διεπαφών που πρέπει να δοκιμαστούν σε αυτήν την προσέγγιση, ορισμένες διασυνδέσεις που θα δοκιμαστούν θα μπορούσαν να χαθούν εύκολα.
- Δεδομένου ότι η δοκιμή ενοποίησης μπορεί να ξεκινήσει μόνο μετά τη σχεδίαση όλων των ενοτήτων, η ομάδα δοκιμών θα έχει λιγότερο χρόνο για εκτέλεση στη φάση δοκιμών.
- Δεδομένου ότι όλες οι ενότητες δοκιμάζονται ταυτόχρονα, οι κρίσιμες μονάδες υψηλού κινδύνου δεν απομονώνονται και δοκιμάζονται κατά προτεραιότητα. Οι περιφερειακές ενότητες που ασχολούνται με τις διεπαφές χρήστη δεν είναι επίσης απομονωμένες και δοκιμασμένες κατά προτεραιότητα.
Αυξητικός έλεγχος
Στην προσέγγιση αυξητικής δοκιμής , ο έλεγχος γίνεται με την ενσωμάτωση δύο ή περισσότερων ενοτήτων που σχετίζονται λογικά μεταξύ τους και στη συνέχεια ελέγχονται για την ορθή λειτουργία της εφαρμογής. Στη συνέχεια, οι άλλες σχετικές ενότητες ενσωματώνονται σταδιακά και η διαδικασία συνεχίζεται έως ότου όλες οι λογικά σχετικές ενότητες ενσωματωθούν και δοκιμαστούν επιτυχώς.
Η σταδιακή προσέγγιση, με τη σειρά της, πραγματοποιείται με δύο διαφορετικές μεθόδους:
- Κάτω προς τα πάνω
- Από πάνω προς τα κάτω
Stubs και προγράμματα οδήγησης
Το Stubs and Drivers είναι τα εικονικά προγράμματα στο Integration testing που χρησιμοποιούνται για να διευκολύνουν τη δραστηριότητα δοκιμών λογισμικού. Αυτά τα προγράμματα λειτουργούν ως υποκατάστατα των μοντέλων που λείπουν κατά τη δοκιμή. Δεν εφαρμόζουν ολόκληρη τη λογική προγραμματισμού της λειτουργικής μονάδας λογισμικού αλλά προσομοιώνουν την επικοινωνία δεδομένων με τη μονάδα κλήσης κατά τη δοκιμή.
Stub : Καλείται από την ενότητα υπό δοκιμή.
Πρόγραμμα οδήγησης : Καλεί τη μονάδα να δοκιμαστεί.
Δοκιμή ολοκλήρωσης από κάτω προς τα πάνω
Bottom-up Integration Testing είναι μια στρατηγική στην οποία δοκιμάζονται πρώτα οι λειτουργικές μονάδες χαμηλότερου επιπέδου. Αυτές οι δοκιμαστικές ενότητες στη συνέχεια χρησιμοποιούνται περαιτέρω για να διευκολύνουν τον έλεγχο των μονάδων υψηλότερου επιπέδου. Η διαδικασία συνεχίζεται έως ότου δοκιμαστούν όλες οι ενότητες στο ανώτερο επίπεδο. Μόλις δοκιμαστούν και ενσωματωθούν οι μονάδες χαμηλότερου επιπέδου, τότε σχηματίζεται το επόμενο επίπεδο ενοτήτων.
Διαγραμματική αναπαράσταση :
Πλεονεκτήματα:
- Ο εντοπισμός σφαλμάτων είναι ευκολότερος.
- Δεν σπαταλάται χρόνος περιμένοντας την ανάπτυξη όλων των ενοτήτων σε αντίθεση με την προσέγγιση Big-bang
Μειονεκτήματα:
- Κρίσιμες ενότητες (στο ανώτερο επίπεδο αρχιτεκτονικής λογισμικού) που ελέγχουν τη ροή της εφαρμογής δοκιμάζονται τελευταία και ενδέχεται να είναι επιρρεπείς σε ελαττώματα.
- Ένα πρώιμο πρωτότυπο δεν είναι δυνατόν
Δοκιμή ολοκλήρωσης από κάτω προς τα κάτω
Το Top Down Integration Testing είναι μια μέθοδος στην οποία η δοκιμή ενοποίησης πραγματοποιείται από πάνω προς τα κάτω ακολουθώντας τη ροή ελέγχου του συστήματος λογισμικού. Οι μονάδες υψηλότερου επιπέδου δοκιμάζονται πρώτα και στη συνέχεια δοκιμάζονται και ενσωματώνονται μονάδες χαμηλότερου επιπέδου για να ελέγχεται η λειτουργικότητα του λογισμικού. Τα stubs χρησιμοποιούνται για δοκιμή εάν ορισμένες μονάδες δεν είναι έτοιμες.
Διαγραμματική αναπαράσταση:
Πλεονεκτήματα:
- Η εντοπισμός σφαλμάτων είναι ευκολότερη.
- Δυνατότητα απόκτησης πρώιμου πρωτοτύπου.
- Οι κρίσιμες ενότητες δοκιμάζονται κατά προτεραιότητα. Θα μπορούσαν να εντοπιστούν και να διορθωθούν πρώτα οι σημαντικές ελλείψεις στο σχεδιασμό.
Μειονεκτήματα:
- Χρειάζεται πολλά Stubs.
- Οι ενότητες σε χαμηλότερο επίπεδο δοκιμάζονται ανεπαρκώς.
Δοκιμή σάντουιτς
Το Sandwich Testing είναι μια στρατηγική στην οποία οι ενότητες ανώτερου επιπέδου δοκιμάζονται με μονάδες χαμηλότερου επιπέδου ταυτόχρονα οι χαμηλότερες ενότητες ενσωματώνονται με κορυφαίες ενότητες και δοκιμάζονται ως σύστημα. Είναι ένας συνδυασμός προσεγγίσεων από πάνω προς τα κάτω και από κάτω προς τα πάνω, επομένως ονομάζεται Hybrid Integration Testing . Κάνει χρήση τόσο των στελεχών όσο και των προγραμμάτων οδήγησης.
Πώς να κάνετε Έλεγχος Ενσωμάτωσης;
Η διαδικασία δοκιμής ενοποίησης ανεξάρτητα από τις στρατηγικές δοκιμών λογισμικού (συζητήθηκαν παραπάνω):
- Προετοιμάστε το Σχέδιο Δοκιμών Ολοκλήρωσης
- Σχεδιάστε τα σενάρια δοκιμής, τις περιπτώσεις και τα σενάρια.
- Εκτέλεση της δοκιμαστικής Θήκης ακολουθούμενη από αναφορά των ελαττωμάτων.
- Παρακολούθηση και επανεξέταση των ελαττωμάτων.
- Τα βήματα 3 και 4 επαναλαμβάνονται έως ότου ολοκληρωθεί η ολοκλήρωση της ολοκλήρωσης.
Σύντομη περιγραφή των σχεδίων δοκιμής ολοκλήρωσης:
Περιλαμβάνει τα ακόλουθα χαρακτηριστικά:
- Μέθοδοι / προσεγγίσεις δοκιμών (όπως συζητήθηκε παραπάνω).
- Πεδίο εφαρμογής και εκτός πεδίου Στοιχεία δοκιμών ολοκλήρωσης.
- Ρόλοι και ευθύνες.
- Προαπαιτούμενα για τον έλεγχο ενοποίησης.
- Περιβάλλον δοκιμών.
- Σχέδια κινδύνου και μετριασμού.
Κριτήρια εισόδου και εξόδου του ελέγχου ολοκλήρωσης
Κριτήρια εισόδου και εξόδου στη φάση δοκιμών ενοποίησης σε οποιοδήποτε μοντέλο ανάπτυξης λογισμικού
Κριτήρια εισόδου:
- Στοιχεία / Ενότητες που έχουν δοκιμαστεί από τη μονάδα
- Όλα τα σφάλματα υψηλής προτεραιότητας διορθώθηκαν και έκλεισαν
- Όλες οι ενότητες πρέπει να ολοκληρωθούν και να ενσωματωθούν με επιτυχία.
- Πρόγραμμα δοκιμών ολοκλήρωσης, δοκιμαστική υπόθεση, σενάρια που θα υπογραφούν και θα τεκμηριωθούν
- Απαιτούμενο περιβάλλον δοκιμής για ρύθμιση ενοποίησης
Κριτήρια εξόδου:
- Επιτυχής δοκιμή ολοκληρωμένης εφαρμογής.
- Τεκμηριωμένες δοκιμαστικές περιπτώσεις
- Όλα τα σφάλματα υψηλής προτεραιότητας διορθώθηκαν και έκλεισαν
- Τεχνικά έγγραφα που πρέπει να υποβληθούν ακολουθούμενα από σημειώσεις έκδοσης.
Βέλτιστες πρακτικές / οδηγίες για τη δοκιμή ενοποίησης
- Κατ 'αρχάς, καθορίστε τη στρατηγική δοκιμής ολοκλήρωσης που θα μπορούσε να υιοθετηθεί και αργότερα προετοιμάστε τις δοκιμαστικές περιπτώσεις και τα δεδομένα δοκιμής ανάλογα.
- Μελετήστε τον σχεδιασμό Αρχιτεκτονικής της Εφαρμογής και προσδιορίστε τις Κρίσιμες Ενότητες. Αυτά πρέπει να δοκιμαστούν κατά προτεραιότητα.
- Λάβετε τα σχέδια διεπαφών από την ομάδα Αρχιτεκτονικής και δημιουργήστε δοκιμαστικές θήκες για να επαληθεύσετε λεπτομερώς όλες τις διεπαφές. Η διεπαφή με βάση δεδομένων / εξωτερική εφαρμογή υλικού / λογισμικού πρέπει να δοκιμαστεί λεπτομερώς.
- Μετά τις δοκιμαστικές περιπτώσεις, είναι τα δεδομένα δοκιμής που παίζουν τον κρίσιμο ρόλο.
- Πάντα να έχετε προετοιμάσει τα πλαστά δεδομένα, πριν από την εκτέλεση. Μην επιλέγετε δεδομένα δοκιμής κατά την εκτέλεση των δοκιμαστικών περιπτώσεων.