what is system integration testing
Τι είναι ο έλεγχος ολοκλήρωσης συστήματος;
Το System Integration Testing (SIT) είναι ο συνολικός έλεγχος ολόκληρου του συστήματος που αποτελείται από πολλά υποσυστήματα. Ο κύριος στόχος του SIT είναι να διασφαλίσει ότι όλες οι εξαρτήσεις λειτουργικών μονάδων λογισμικού λειτουργούν σωστά και η ακεραιότητα των δεδομένων διατηρείται μεταξύ διακριτών ενοτήτων ολόκληρου του συστήματος.
Το SUT (Σύστημα υπό δοκιμή) μπορεί να αποτελείται από υλικό, βάση δεδομένων, λογισμικό, συνδυασμό υλικού και λογισμικού ή ένα σύστημα που απαιτεί ανθρώπινη αλληλεπίδραση (HITL - Human in the Loop Testing).
Από το πλαίσιο της μηχανικής λογισμικού και των δοκιμών λογισμικού, το SIT μπορεί να θεωρηθεί ως διαδικασία δοκιμής που ελέγχει τη συνύπαρξη του συστήματος λογισμικού με άλλους.
Το SIT έχει μια προϋπόθεση κατά την οποία πολλά υποκείμενα ολοκληρωμένα συστήματα έχουν ήδη υποβληθεί και έχουν περάσει δοκιμές συστήματος. Στη συνέχεια, το SIT ελέγχει τις απαιτούμενες αλληλεπιδράσεις μεταξύ αυτών των συστημάτων στο σύνολό της. Τα παραδοτέα του SIT μεταβιβάζονται στο UAT (Δοκιμή αποδοχής χρήστη).
Τι θα μάθετε:
- Ανάγκη δοκιμής ολοκλήρωσης συστήματος
- Η λεπτομέρεια του SIT
- Πώς να εκτελέσετε τον έλεγχο ενοποίησης συστήματος;
- Έλεγχος συστήματος Vs Δοκιμή ολοκλήρωσης συστήματος
- Δοκιμή ενοποίησης συστήματος έναντι δοκιμής αποδοχής χρήστη
- Παράδειγμα SIT
- Τεχνικές SIT
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Ανάγκη δοκιμής ολοκλήρωσης συστήματος
Η κύρια λειτουργία του SIT είναι να κάνει δοκιμές εξαρτήσεις μεταξύ διαφορετικών στοιχείων του συστήματος και ως εκ τούτου, ο έλεγχος παλινδρόμησης είναι ένα σημαντικό μέρος του SIT.
Για συνεργατικά έργα, το SIT είναι μέρος του STLC (κύκλος ζωής δοκιμής λογισμικού). Γενικά, ένας προ-SIT γύρος διεξάγεται από τον πάροχο λογισμικού πριν ο πελάτης εκτελέσει τις δικές του δοκιμές SIT.
Στους περισσότερους από τους οργανισμούς που εργάζονται σε έργα πληροφορικής που ακολουθούν το μοντέλο σπριντ Agile, διεξάγεται ένας γύρος SIT από την ομάδα QA πριν από κάθε κυκλοφορία. Τα ελαττώματα που εντοπίστηκαν στο SIT αποστέλλονται πίσω στην ομάδα ανάπτυξης και εργάζονται για τις διορθώσεις.
Η κυκλοφορία MVP (Ελάχιστο βιώσιμο προϊόν) από το σπριντ γίνεται μόνο όταν περάσει από το SIT.
Απαιτείται SIT για την έκθεση των σφαλμάτων που συμβαίνουν όταν συμβαίνει αλληλεπίδραση μεταξύ των ολοκληρωμένων υποσυστημάτων.
Υπάρχουν πολλά συστατικά που χρησιμοποιούνται στο σύστημα και δεν μπορούν να ελεγχθούν μεμονωμένα. Ακόμη και αν η μονάδα έχει δοκιμαστεί μεμονωμένα, τότε υπάρχει επίσης η πιθανότητα να αποτύχει όταν συνδυάζεται στο σύστημα, καθώς υπάρχουν πολλά ζητήματα που προκύπτουν όταν τα υποσυστήματα αλληλεπιδρούν μεταξύ τους.
Επομένως, το SIT απαιτείται πάρα πολύ για να αποκαλύψει και να διορθώσει τις αστοχίες πριν από την ανάπτυξη του συστήματος στο τέλος του χρήστη. Το SIT ανιχνεύει τα ελαττώματα σε πρώιμο στάδιο και έτσι εξοικονομεί χρόνο και κόστος για τη διόρθωσή του αργότερα. Σας βοηθά επίσης να λάβετε προηγούμενα σχόλια σχετικά με την αποδοχή της ενότητας.
Η λεπτομέρεια του SIT
Το SIT μπορεί να διεξαχθεί σε τρία διαφορετικά επίπεδα κοκκώδους:
(i) Δοκιμή εντός συστήματος: Πρόκειται για ένα χαμηλό επίπεδο δοκιμών ολοκλήρωσης που στοχεύει στη συγχώνευση των ενοτήτων για τη δημιουργία ενός ενοποιημένου συστήματος.
(ii) Δοκιμή μεταξύ συστημάτων: Πρόκειται για δοκιμή υψηλού επιπέδου που χρειάζεται διασύνδεση ανεξάρτητα δοκιμασμένων συστημάτων.
(iii) Ελεύθερος έλεγχος: Εδώ, δοκιμάζονται μόνο δύο διασυνδεδεμένα υποσυστήματα σε ολόκληρο το σύστημα κάθε φορά. Αυτό στοχεύει στο να διασφαλίσει ότι τα δύο υποσυστήματα μπορούν να λειτουργήσουν καλά όταν συνδυάζονται μαζί υποθέτοντας ότι τα άλλα υποσυστήματα λειτουργούν ήδη καλά.
Πώς να εκτελέσετε τον έλεγχο ενοποίησης συστήματος;
Ο απλούστερος τρόπος εκτέλεσης του SIT είναι μέσω της μεθόδου βάσει δεδομένων. Απαιτεί ελάχιστη χρήση εργαλείων δοκιμής λογισμικού.
πού μπορείτε να παρακολουθήσετε δωρεάν anime στο διαδίκτυο
Πρώτον, η ανταλλαγή δεδομένων (εισαγωγή δεδομένων και εξαγωγή δεδομένων) πραγματοποιείται μεταξύ των στοιχείων του συστήματος και στη συνέχεια εξετάζεται η συμπεριφορά κάθε πεδίου δεδομένων εντός του επιμέρους επιπέδου.
Μόλις ενσωματωθεί το λογισμικό, υπάρχουν τρεις κύριες καταστάσεις ροής δεδομένων όπως αναφέρονται παρακάτω:
# 1) Κατάσταση δεδομένων εντός του επιπέδου ολοκλήρωσης
Το επίπεδο ολοκλήρωσης λειτουργεί ως διεπαφή μεταξύ της εισαγωγής και της εξαγωγής δεδομένων. Η εκτέλεση του SIT σε αυτό το επίπεδο απαιτεί κάποιες βασικές γνώσεις για συγκεκριμένη τεχνολογία, όπως σχήμα (XSD), XML, WSDL, DTD και EDI.
Η απόδοση της ανταλλαγής δεδομένων μπορεί να εξεταστεί σε αυτό το επίπεδο με τα παρακάτω βήματα:
- Επικυρώστε τις ιδιότητες δεδομένων σε αυτό το επίπεδο έναντι BRD / FRD / TRD (Έγγραφο επιχειρησιακής απαίτησης / Έγγραφο λειτουργικής απαίτησης / Έγγραφο τεχνικής απαίτησης).
- Ελέγξτε το αίτημα υπηρεσίας διαδικτύου χρησιμοποιώντας XSD και WSDL.
- Εκτελέστε ορισμένες δοκιμές μονάδας και επικυρώστε τις αντιστοιχίσεις δεδομένων και αιτήματα.
- Ελέγξτε τα αρχεία καταγραφής του middleware.
# 2) Κατάσταση δεδομένων εντός του επιπέδου βάσης δεδομένων
Η εκτέλεση του SIT σε αυτό το επίπεδο απαιτεί μια βασική γνώση της SQL και των αποθηκευμένων διαδικασιών.
Η απόδοση της ανταλλαγής δεδομένων σε αυτό το επίπεδο μπορεί να εξεταστεί με τα παρακάτω βήματα:
- Ελέγξτε εάν όλα τα δεδομένα από το επίπεδο ολοκλήρωσης έχουν φτάσει με επιτυχία στο επίπεδο βάσης δεδομένων και έχουν δεσμευτεί.
- Επικυρώστε τις ιδιότητες πίνακα και στηλών έναντι BRD / FRD / TRD.
- Επικυρώστε τους περιορισμούς και τους κανόνες επικύρωσης δεδομένων που εφαρμόζονται στη βάση δεδομένων σύμφωνα με τις επιχειρησιακές προδιαγραφές.
- Ελέγξτε τις αποθηκευμένες διαδικασίες για οποιαδήποτε επεξεργασία δεδομένων.
- Ελέγξτε τα αρχεία καταγραφής διακομιστή.
# 3) Κατάσταση δεδομένων εντός του επιπέδου εφαρμογής
Το SIT μπορεί να εκτελεστεί σε αυτό το επίπεδο με τα παρακάτω βήματα:
- Ελέγξτε εάν όλα τα απαιτούμενα πεδία είναι ορατά στη διεπαφή χρήστη.
- Εκτελέστε ορισμένες θετικές και αρνητικές περιπτώσεις δοκιμών και επικυρώστε τις ιδιότητες δεδομένων.
Σημείωση: Μπορεί να υπάρχουν πολλοί συνδυασμοί που αντιστοιχούν στην εισαγωγή δεδομένων και στην εξαγωγή δεδομένων. Θα χρειαστεί να εκτελέσετε το SIT για τους καλύτερους συνδυασμούς, λαμβάνοντας υπόψη τον διαθέσιμο χρόνο για εσάς.
Έλεγχος συστήματος Vs Δοκιμή ολοκλήρωσης συστήματος
Διαφορές μεταξύ δοκιμής συστήματος και SIT:
c ++ ερωτήσεις συνέντευξης για έμπειρους επαγγελματίες
SIT (Δοκιμή ενοποίησης συστήματος) | Δοκιμή συστήματος |
---|---|
Το SIT γίνεται κυρίως για να ελέγχει τον τρόπο αλληλεπίδρασης μεμονωμένων ενοτήτων μεταξύ τους όταν ενσωματώνεται σε ένα σύστημα στο σύνολό του. | Ο έλεγχος του συστήματος γίνεται κυρίως για να ελέγξει αν ολόκληρο το σύστημα λειτουργεί όπως αναμένεται με αναφορά στις καθορισμένες απαιτήσεις. |
Διεξάγεται μετά από δοκιμή μονάδας και θα γίνεται κάθε φορά που προστίθεται μια νέα μονάδα στο σύστημα. | Διεξάγεται στο τελικό επίπεδο, δηλαδή μετά την ολοκλήρωση των δοκιμών ολοκλήρωσης και λίγο πριν από την παράδοση του συστήματος για UAT. |
Είναι μια δοκιμή χαμηλού επιπέδου. | Είναι μια δοκιμή υψηλού επιπέδου. |
Οι περιπτώσεις δοκιμής SIT επικεντρώνονται στη διεπαφή μεταξύ των στοιχείων του συστήματος. | Οι δοκιμαστικές περιπτώσεις, σε αυτήν την περίπτωση, εστιάζουν στην προσομοίωση των πραγματικών σεναρίων. |
Δοκιμή ενοποίησης συστήματος έναντι δοκιμής αποδοχής χρήστη
Εδώ είναι η διαφορά μεταξύ SIT και UAT:
SIT (Δοκιμή ενοποίησης συστήματος) | UAT (Δοκιμή αποδοχής χρήστη) |
---|---|
Αυτή η δοκιμή είναι από την άποψη της διασύνδεσης μεταξύ των ενοτήτων. | Αυτή η δοκιμή είναι από την άποψη των απαιτήσεων του χρήστη. |
Το SIT γίνεται από προγραμματιστές και υπεύθυνους δοκιμών. | Το UAT γίνεται από πελάτες και τελικούς χρήστες. |
Έγινε μετά τη δοκιμή μονάδας και πριν από τη δοκιμή συστήματος. | Αυτό είναι το τελευταίο επίπεδο δοκιμών και γίνεται μετά από δοκιμές συστήματος. |
Γενικά, τα ζητήματα που εντοπίζονται στο SIT θα σχετίζονται με τη ροή δεδομένων, τη ροή ελέγχου κ.λπ. | Τα ζητήματα που εντοπίζονται στο UAT θα ήταν γενικά σαν τα χαρακτηριστικά που δεν λειτουργούν σύμφωνα με τις απαιτήσεις του χρήστη. |
Η παρακάτω εικόνα σχετικά με τα επίπεδα δοκιμών θα έκανε σαφή τη ροή από τη δοκιμή μονάδας προς το UAT:
Παράδειγμα SIT
Ας υποθέσουμε ότι μια εταιρεία χρησιμοποιεί λογισμικό για την αποθήκευση των στοιχείων του πελάτη.
Αυτό το λογισμικό διαθέτει δύο οθόνες στη διεπαφή χρήστη - Οθόνη 1 & Οθόνη 2 και έχει μια βάση δεδομένων. Οι λεπτομέρειες που εισάγονται στην οθόνη 1 και στην οθόνη 2 εισάγονται στη βάση δεδομένων. Από τώρα, η εταιρεία είναι ικανοποιημένη με αυτό το λογισμικό.
Ωστόσο, λίγα χρόνια αργότερα η εταιρεία διαπιστώνει ότι το λογισμικό δεν πληροί τις απαιτήσεις και υπάρχει ανάγκη βελτίωσης. Ως εκ τούτου, ανέπτυξαν μια οθόνη 3 και μια βάση δεδομένων. Τώρα, αυτό το σύστημα με οθόνη 3 και μια βάση δεδομένων είναι ενσωματωμένο στο παλαιότερο / υπάρχον λογισμικό.
Τώρα, ο έλεγχος που έγινε σε ολόκληρο το σύστημα μετά την ολοκλήρωση ονομάζεται System Integration test. Εδώ, δοκιμάζεται η συνύπαρξη ενός νέου συστήματος με ένα υπάρχον, ώστε να διασφαλιστεί ότι ολόκληρο το ολοκληρωμένο σύστημα λειτουργεί καλά.
Τεχνικές SIT
Κυρίως, υπάρχουν 4 προσεγγίσεις για να κάνετε SIT:
- Προσέγγιση από πάνω προς τα κάτω
- Προσέγγιση από κάτω προς τα πάνω
- Προσέγγιση σάντουιτς
- Προσέγγιση Big Bang
Η προσέγγιση από πάνω προς τα κάτω και από κάτω προς τα πάνω είναι ένα είδος σταδιακών προσεγγίσεων. Ας ξεκινήσουμε πρώτα τη συζήτηση με προσέγγιση Top-down.
# 1) Προσέγγιση από πάνω προς τα κάτω:
Κάτω από αυτό, ο έλεγχος ξεκινά μόνο με την κορυφαία ενότητα μιας εφαρμογής, δηλαδή τη διεπαφή χρήστη που ονομάζουμε ως πρόγραμμα οδήγησης δοκιμής.
Η λειτουργικότητα των υποκείμενων ενοτήτων προσομοιώνεται με στελέχη. Η κορυφαία μονάδα είναι ενσωματωμένη με το κατώτερο επίπεδο στέλεχος ένα προς ένα και αργότερα δοκιμάζεται η λειτουργικότητα.
Μόλις ολοκληρωθεί κάθε δοκιμή, το στέλεχος αντικαθίσταται από την πραγματική ενότητα. Τα δομοστοιχεία μπορούν να ενσωματωθούν είτε με τρόπο πρώτο είτε σε βάθος. Η δοκιμή συνεχίζεται έως ότου δημιουργηθεί ολόκληρη η εφαρμογή.
Το πλεονέκτημα αυτής της προσέγγισης είναι ότι δεν υπάρχει ανάγκη για προγράμματα οδήγησης και οι δοκιμαστικές περιπτώσεις μπορούν να καθοριστούν ως προς τη λειτουργικότητα του συστήματος.
καλύτερο από το διαδίκτυο σήμερα αρχείο
Η κύρια πρόκληση σε αυτόν τον τύπο προσέγγισης είναι η εξάρτηση από τη διαθεσιμότητα λειτουργικότητας λειτουργικών μονάδων χαμηλότερου επιπέδου. Μπορεί να υπάρξει καθυστέρηση στις δοκιμές έως ότου οι πραγματικές ενότητες αντικατασταθούν με στελέχη. Η συγγραφή στελεχών είναι επίσης δύσκολη.
# 2) Προσέγγιση από κάτω προς τα πάνω:
Εξαλείφει τους περιορισμούς της προσέγγισης από πάνω προς τα κάτω.
Σε αυτήν τη μέθοδο, πρώτα, οι μονάδες χαμηλότερου επιπέδου συναρμολογούνται για να σχηματίσουν συστάδες. Αυτά τα συμπλέγματα χρησιμεύουν ως υπο-λειτουργία της εφαρμογής. Στη συνέχεια, δημιουργείται ένα πρόγραμμα οδήγησης για τη διαχείριση της εισόδου και της εξόδου της δοκιμαστικής θήκης. Μετά από αυτό, το σύμπλεγμα δοκιμάζεται.
Μόλις ελεγχθεί το σύμπλεγμα, το πρόγραμμα οδήγησης αφαιρείται και το σύμπλεγμα συνδυάζεται με το επόμενο ανώτερο επίπεδο. Αυτή η διαδικασία συνεχίζεται έως ότου επιτευχθεί ολόκληρη η δομή της εφαρμογής.
Δεν υπάρχει ανάγκη για στελέχη σε αυτήν την προσέγγιση. Απλοποιείται καθώς η επεξεργασία κινείται προς τα πάνω και η ανάγκη των προγραμμάτων οδήγησης μειώνεται. Αυτή η προσέγγιση συνιστάται για να κάνετε SIT για αντικειμενοστρεφή συστήματα, συστήματα σε πραγματικό χρόνο και συστήματα με αυστηρές ανάγκες απόδοσης.
Ωστόσο, ο περιορισμός αυτής της προσέγγισης είναι το πιο σημαντικό υποσύστημα, δηλαδή το UI δοκιμάζεται στο τέλος.
# 3) Προσέγγιση σάντουιτς:
Εδώ, οι προσεγγίσεις από πάνω προς τα κάτω και από πάνω προς τα πάνω συνδυάζονται μαζί.
Το σύστημα θεωρείται ότι έχει τρία στρώματα - το μεσαίο στρώμα που είναι το επίπεδο στόχος, ένα στρώμα πάνω από τον στόχο και ένα επίπεδο κάτω από τον στόχο. Η δοκιμή γίνεται και στις δύο κατευθύνσεις και συγκεντρώνεται στο επίπεδο στόχου που βρίσκεται στη μέση και αυτό απεικονίζεται στην παρακάτω εικόνα.
Στρατηγική δοκιμής σάντουιτς
Ένα πλεονέκτημα αυτής της προσέγγισης είναι ότι το άνω στρώμα και το κάτω στρώμα του συστήματος μπορούν να δοκιμαστούν παράλληλα. Ωστόσο, ο περιορισμός αυτής της προσέγγισης είναι ότι δεν ελέγχει διεξοδικά τα επιμέρους υποσυστήματα πριν από την ολοκλήρωση.
Για να εξαλείψουμε αυτόν τον περιορισμό, έχουμε τροποποιήσει τις δοκιμές σάντουιτς στις οποίες η ενσωμάτωση των ανώτερων, μεσαίων και κάτω επιπέδων δοκιμάζεται παράλληλα χρησιμοποιώντας stubs και προγράμματα οδήγησης.
# 4) Προσέγγιση Big Bang:
Σε αυτήν την προσέγγιση, η ολοκλήρωση γίνεται όταν όλες οι ενότητες της εφαρμογής είναι πλήρως έτοιμες. Ο έλεγχος γίνεται μετά την ολοκλήρωση όλων των ενοτήτων για να ελέγξετε εάν το ολοκληρωμένο σύστημα λειτουργεί ή όχι.
Είναι δύσκολο να βρούμε τη βασική αιτία του ζητήματος σε αυτήν την προσέγγιση, καθώς όλα είναι ενσωματωμένα ταυτόχρονα σε αντίθεση με τη σταδιακή δοκιμή. Αυτή η προσέγγιση υιοθετείται γενικά όταν απαιτείται μόνο ένας γύρος SIT.
συμπέρασμα
Σε αυτό το άρθρο, μάθαμε τι είναι το System Integration Testing (SIT) και γιατί είναι σημαντικό να το εκτελέσουμε.
Καταλάβαμε για τις βασικές έννοιες, τεχνικές, προσεγγίσεις και τις μεθόδους που εμπλέκονται στην εκτέλεση του SIT. Εξετάσαμε επίσης το πώς το SIT διαφέρει από το UAT και τον έλεγχο του συστήματος.
Ελπίζω να απολαύσατε αυτό το εξαιρετικό άρθρο !!
Συνιστώμενη ανάγνωση
- Τι είναι ο έλεγχος συστατικών στοιχείων ή ο έλεγχος ενότητας (Μάθετε με παραδείγματα)
- Τι είναι ο έλεγχος σύγκρισης (Μάθετε με παραδείγματα)
- Τι είναι ο Έλεγχος Ενσωμάτωσης (Tutorial with Integration Test παράδειγμα)
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Οι διαφορές μεταξύ δοκιμών μονάδας, δοκιμών ολοκλήρωσης και δοκιμών λειτουργίας
- Λειτουργική δοκιμή εναντίον μη λειτουργική δοκιμή
- Ενσωμάτωση σεληνίου με JMeter
- Spock για ενσωμάτωση και λειτουργική δοκιμή με σελήνιο