Τι είναι ο έλεγχος ολοκλήρωσης συστήματος (SIT) με παράδειγμα

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

Anonim

Τι είναι ο έλεγχος ολοκλήρωσης συστήματος;

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

Το System Integration Testing (SIT) πραγματοποιείται για την επαλήθευση των αλληλεπιδράσεων μεταξύ των ενοτήτων ενός συστήματος λογισμικού. Ασχολείται με την επαλήθευση των απαιτήσεων λογισμικού υψηλού και χαμηλού επιπέδου που καθορίζονται στην Προδιαγραφή / Δεδομένα Απαιτήσεων Λογισμικού και στο Έγγραφο Σχεδιασμού Λογισμικού.

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

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

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

  • Τι είναι ο έλεγχος ολοκλήρωσης συστήματος;
  • Γιατί πραγματοποιείται δοκιμή ενοποίησης συστήματος
  • Τρόπος διεξαγωγής δοκιμών ενοποίησης συστήματος
  • Κριτήρια εισόδου και εξόδου για δοκιμές ενοποίησης
  • Δοκιμή ενσωμάτωσης υλικού σε λογισμικό
  • Δοκιμή ολοκλήρωσης λογισμικού σε λογισμικό
  • Προσέγγιση από πάνω προς τα κάτω
  • Προσέγγιση από κάτω προς τα πάνω
  • Προσέγγιση Big Bang

Γιατί πραγματοποιείται δοκιμή ενοποίησης συστήματος

Στη Μηχανική Λογισμικού, ο Έλεγχος Ένταξης Συστήματος γίνεται επειδή

  • Βοηθά στον εντοπισμό του Defect νωρίς
  • Νωρίτερα σχόλια σχετικά με την αποδοχή της κάθε ενότητας θα είναι διαθέσιμα
  • Ο προγραμματισμός των διορθώσεων ελαττωμάτων είναι ευέλικτος και μπορεί να επικαλύπτεται με την ανάπτυξη
  • Σωστή ροή δεδομένων
  • Σωστή ροή ελέγχου
  • Σωστό χρονισμό
  • Σωστή χρήση μνήμης
  • Διορθώστε τις απαιτήσεις λογισμικού

Τρόπος διεξαγωγής δοκιμών ενοποίησης συστήματος

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

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

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

Υπάρχουν μερικές στοιχειώδεις μέθοδοι όπως οι δοκιμές ολοκλήρωσης που πραγματοποιούνται σε ένα σύστημα που βασίζεται στον επεξεργαστή-στόχο. Η μεθοδολογία που χρησιμοποιείται είναι το Black Box Testing. Μπορεί να χρησιμοποιηθεί είτε ενσωμάτωση από πάνω προς τα πάνω είτε από πάνω προς τα κάτω.

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

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

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

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

Σημείωση: Εάν το λογισμικό δοκιμάζεται μόνο, τότε ονομάζεται Δοκιμή λογισμικού ενοποίησης λογισμικού [SSIT] και εάν δοκιμάζεται τόσο υλικό όσο και λογισμικό, τότε ονομάζεται δοκιμή ολοκλήρωσης λογισμικού υλικού [HSIT].

Κριτήρια εισόδου και εξόδου για δοκιμές ενοποίησης

Συνήθως, ενώ εκτελείτε Έλεγχος ενοποίησης, χρησιμοποιείται η στρατηγική ETVX (Κριτήρια Εισόδου, Εργασία, Επικύρωση και Έξοδος).

Κριτήρια εισόδου:

  • Ολοκλήρωση δοκιμών μονάδας

Είσοδοι:

  • Δεδομένα απαιτήσεων λογισμικού
  • Έγγραφο σχεδιασμού λογισμικού
  • Σχέδιο επαλήθευσης λογισμικού
  • Έγγραφα ενοποίησης λογισμικού

Δραστηριότητες:

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

Κριτήρια εξόδου:

  • Επιτυχής ολοκλήρωση της ενσωμάτωσης της λειτουργικής μονάδας λογισμικού στο υλικό προορισμού
  • Σωστή απόδοση του λογισμικού σύμφωνα με τις προδιαγραφόμενες απαιτήσεις

Έξοδοι

  • Αναφορές δοκιμών ενοποίησης
  • Περιπτώσεις και διαδικασίες δοκιμής λογισμικού [SVCP].

Δοκιμή ενοποίησης λογισμικού υλικού

Το Hardware Software Integration Testing είναι μια διαδικασία δοκιμής Components Software Software (CSC) για λειτουργίες υψηλού επιπέδου στο περιβάλλον υλικού προορισμού. Ο στόχος της δοκιμής ολοκλήρωσης υλικού / λογισμικού είναι να ελέγξει τη συμπεριφορά του αναπτυγμένου λογισμικού που είναι ενσωματωμένο στο στοιχείο υλικού.

Δοκιμή ενοποίησης υλικού-λογισμικού βάσει απαιτήσεων

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

  • Σφάλματα διεπαφών υλικού / λογισμικού
  • Παραβιάσεις κατατμήσεων λογισμικού.
  • Αδυναμία εντοπισμού αστοχιών με ενσωματωμένο τεστ
  • Λανθασμένη απόκριση σε αστοχίες υλικού
  • Σφάλμα λόγω αλληλουχίας, παροδικών φορτίων εισόδου και μεταβατικών ισχύος εισόδου
  • Τα σχόλια περιβάλλουν λανθασμένη συμπεριφορά
  • Εσφαλμένος ή ακατάλληλος έλεγχος υλικού διαχείρισης μνήμης
  • Πρόβλημα διαφωνίας δεδομένων
  • Λανθασμένη λειτουργία του μηχανισμού για την επαλήθευση της συμβατότητας και της ορθότητας του λογισμικού με δυνατότητα φόρτωσης πεδίου

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

  • Η δοκιμή μαύρου κουτιού είναι η κύρια μεθοδολογία δοκιμών που χρησιμοποιείται σε αυτό το επίπεδο δοκιμών.
  • Ορίστε τις δοκιμαστικές περιπτώσεις μόνο από τις απαιτήσεις υψηλού επιπέδου
  • Μια δοκιμή πρέπει να εκτελεστεί σε τυποποιημένο υλικό παραγωγής (στο στόχο)

Πράγματα που πρέπει να λάβετε υπόψη κατά το σχεδιασμό δοκιμαστικών περιπτώσεων για ενσωμάτωση HW / SW

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

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

Δοκιμή ολοκλήρωσης λογισμικού σε λογισμικό

Είναι ο έλεγχος του Συστήματος Λογισμικού Υπολογιστών που λειτουργεί εντός του κεντρικού υπολογιστή / υπολογιστή προορισμού

Περιβάλλον, ενώ ταυτόχρονα προσομοιώνει ολόκληρο το σύστημα [άλλα CSC], και στη λειτουργικότητα υψηλού επιπέδου.

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

Αύξηση προσέγγισης

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

Η σταδιακή ολοκλήρωση είναι η αντίθεση με την προσέγγιση του big bang. Το πρόγραμμα είναι κατασκευασμένο και δοκιμασμένο σε μικρά τμήματα, όπου τα σφάλματα είναι πιο εύκολο να απομονωθούν και να διορθωθούν. Οι διεπαφές είναι πιο πιθανό να δοκιμαστούν πλήρως και μπορεί να εφαρμοστεί μια συστηματική δοκιμαστική προσέγγιση.

Υπάρχουν δύο τύποι αυξητικών δοκιμών

  • Προσέγγιση από πάνω προς τα κάτω
  • Κατώτατη προσέγγιση

Προσέγγιση από πάνω προς τα κάτω

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

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

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

  1. Η κύρια μονάδα ελέγχου χρησιμοποιείται ως δοκιμαστικό πρόγραμμα οδήγησης, και τα στελέχη αντικαθίστανται από όλες τις μονάδες που υπάγονται άμεσα στην κύρια μονάδα ελέγχου.
  2. Τα δευτερεύοντα στελέχη αντικαθίστανται ένα κάθε φορά με πραγματικές ενότητες ανάλογα με την επιλεγμένη προσέγγιση (πρώτα πλάτος ή βάθος πρώτα)
  3. Οι δοκιμές εκτελούνται καθώς κάθε ενότητα είναι ενσωματωμένη.
  4. Με την ολοκλήρωση κάθε σετ δοκιμών, ένα άλλο στέλεχος αντικαθίσταται με μια πραγματική ενότητα μετά την ολοκλήρωση κάθε σετ δοκιμών
  5. Για να βεβαιωθείτε ότι δεν έχουν εισαχθεί νέα σφάλματα, μπορεί να πραγματοποιηθεί δοκιμή παλινδρόμησης.

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

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

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

Προκλήσεις που μπορεί να αντιμετωπίσει ο Tester:

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

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

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

Προσέγγιση από κάτω προς τα πάνω

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

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

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

  1. Οι μονάδες χαμηλού επιπέδου συνδυάζονται σε ομάδες που εκτελούν μια συγκεκριμένη υπο-λειτουργία λογισμικού.
  2. Ένας οδηγός γράφεται για να συντονίσει την είσοδο και την έξοδο της δοκιμαστικής θήκης.
  3. Το σύμπλεγμα ή η κατασκευή δοκιμάζεται.
  4. Οι οδηγοί αφαιρούνται και οι συστάδες συνδυάζονται κινούνται προς τα πάνω στη δομή του προγράμματος.

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

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

Προσέγγιση Big Bang

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

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

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

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

Περίληψη:

  • Η ενοποίηση πραγματοποιείται για την επαλήθευση των αλληλεπιδράσεων μεταξύ των ενοτήτων ενός συστήματος λογισμικού. Βοηθά στον εντοπισμό του ελαττώματος νωρίς
  • Ο έλεγχος ενοποίησης μπορεί να γίνει για Hardware-Software ή Hardware-Hardware Integration
  • Ο έλεγχος ολοκλήρωσης γίνεται με δύο μεθόδους
    • Αυξητική προσέγγιση
    • Προσέγγιση Big Bang
  • Κατά την εκτέλεση του Integration Testing χρησιμοποιείται γενικά η στρατηγική ETVX (Κριτήρια Εισόδου, Εργασία, Επικύρωση και Έξοδος).