Τι είναι Παράδειγμα Έλεγχος Ολοκλήρωσης Συστήματος (SIT).

Τι είναι η δοκιμή ενοποίησης συστήματος;

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

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

Δοκιμή ολοκλήρωσης συστήματος

Γιατί να κάνετε δοκιμές ενοποίησης συστήματος;

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

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

Πώς να κάνετε τη δοκιμή ενοποίησης συστήματος

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

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

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

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

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

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

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

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

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

Κριτήρια εισόδου και εξόδου για τη δοκιμή ενσωμάτωσης

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

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

Είσοδοι:

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

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

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

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

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

Έξοδοι

  • Εκθέσεις δοκιμών ολοκλήρωσης
  • Υποθέσεις και διαδικασίες δοκιμής λογισμικού [SVCP].

Δοκιμή ενσωμάτωσης λογισμικού υλικού

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

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

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

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

Το Hardware Software Integration ασχολείται με την επαλήθευση των απαιτήσεων υψηλού επιπέδου. Όλες οι δοκιμές σε αυτό το επίπεδο πραγματοποιούνται στο υλικό-στόχο.

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

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

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

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

Δοκιμή ενσωμάτωσης λογισμικού σε λογισμικό

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

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

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

Αυξητική Προσέγγιση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σύνοψη

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