Τι είναι το Interface Testing; Τύποι & Παράδειγμα
⚡ Έξυπνη Σύνοψη
Ο έλεγχος διεπαφής επαληθεύει ότι δύο συνδεδεμένα συστήματα λογισμικού ανταλλάσσουν δεδομένα σωστά. Καλύπτει τους συνδέσμους διακομιστή ιστού, διακομιστή εφαρμογών και διακομιστή βάσης δεδομένων που μεταφέρουν κάθε αίτημα που υποβάλλει μια εφαρμογή, μαζί με τον χειρισμό σφαλμάτων γύρω από αυτά.
Τι είναι το Interface Testing;
Δοκιμή διεπαφής ορίζεται ως ένας τύπος δοκιμής λογισμικού που επαληθεύει εάν η επικοινωνία μεταξύ δύο διαφορετικών συστημάτων λογισμικού γίνεται σωστά.
Μια σύνδεση που ενσωματώνει δύο στοιχεία ονομάζεται διεπαφή. Αυτή η διεπαφή σε έναν κόσμο υπολογιστών θα μπορούσε να είναι οτιδήποτε, όπως API, υπηρεσίες web κ.λπ. Η δοκιμή αυτών των υπηρεσιών σύνδεσης ή διεπαφής αναφέρεται ως Δοκιμή Διεπαφής.
Η διεπαφή είναι στην πραγματικότητα λογισμικό που αποτελείται από σύνολα εντολών, μηνυμάτων και άλλων χαρακτηριστικών που επιτρέπουν την επικοινωνία μεταξύ μιας συσκευής και ενός χρήστη.
Το σημαντικό σημείο είναι ότι μια διεπαφή έχει ένα μειονέκτημαtract: μια συμφωνημένη μορφή αιτήματος, μια συμφωνημένη μορφή απόκρισης, ένα συμφωνημένο σύνολο κωδικών σφάλματος και ένα συμφωνημένο χρονικό όριο. Ασκήσεις δοκιμής διεπαφής πουtracκαι από τις δύο πλευρές, έτσι ώστε μια αλλαγή που γίνεται από τη μία ομάδα να μην διαταράσσει σιωπηλά την άλλη. Επειδή το μεγαλύτερο μέρος αυτής της κίνησης δεν φτάνει ποτέ σε μια οθόνη, τα ελαττώματα που εντοπίζει είναι αόρατα σε δοκιμή μαύρου κουτιού εκτελείται μόνο μέσω της διεπαφής χρήστη.
Πώς να κάνετε τη δοκιμή διεπαφής
Η δοκιμή διεπαφής περιλαμβάνει τη δοκιμή δύο κύριων τμημάτων:
- Διακομιστής Web και διεπαφή διακομιστή εφαρμογών
- Διακομιστής εφαρμογών και διεπαφή διακομιστή βάσης δεδομένων.
Για τα προαναφερθέντα σενάρια, η δοκιμή διεπαφής πραγματοποιείται σε
- Ελέγξτε εάν οι διακομιστές εκτελούνται σωστά ή όχι
- Τα σφάλματα αντιμετωπίζονται σωστά ή επιστρέφουν μήνυμα σφάλματος για οποιοδήποτε ερώτημα που υποβάλλεται από μια εφαρμογή
- Ελέγξτε τα αποτελέσματα κατά την επαναφορά της σύνδεσης σε διακομιστή web στο μεταξύ
Το παρακάτω διάγραμμα δείχνει αυτά τα δύο τμήματα ως μία μόνο αλυσίδα, με το πρόγραμμα περιήγησης να επικοινωνεί με τον διακομιστή ιστού, τον διακομιστή ιστού να επικοινωνεί με τον διακομιστή εφαρμογών και τον διακομιστή εφαρμογών να επικοινωνεί με τον διακομιστή βάσης δεδομένων.
Στην πράξη, ένας δοκιμαστής επεξεργάζεται αυτήν την αλυσίδα ένα βήμα τη φορά. Κάθε βήμα οδηγείται πρώτα με ένα έγκυρο αίτημα, στη συνέχεια με ένα λανθασμένο αίτημα και στη συνέχεια με το άλλο άκρο σκόπιμα μη διαθέσιμο, έτσι ώστε τόσο η διαδρομή επιτυχίας όσο και η διαδρομή αποτυχίας να καταγράφονται σε σχέση με το ίδιο. περίπτωση δοκιμής.
Παράδειγμα δοκιμής διεπαφής
Ας υποθέσουμε ότι για οποιαδήποτε εφαρμογή xyz, η διεπαφή παίρνει XML αρχείο ως είσοδο και παραδίδει JSON αρχείο ως έξοδο. Για να ελέγξετε τη διεπαφή αυτής της εφαρμογής, το μόνο που χρειάζεται είναι οι προδιαγραφές της μορφής αρχείου XML και της μορφής αρχείου JSON.
Με τη βοήθεια αυτών των προδιαγραφών, μπορούμε να δημιουργήσουμε ένα δείγμα αρχείων εισόδου XML και να τα εισάγουμε στη διεπαφή. Στη συνέχεια, η επικύρωση του αρχείου εισόδου (XML) και εξόδου (JSON) με την απαίτηση είναι η δοκιμή διεπαφής.
Παρατηρήστε τι δεν χρειάζεται το παράδειγμα: καμία οθόνη, καμία κατασκευή του front end και καμία γνώση του κώδικα μέσα στη διεπαφή. Δύο προδιαγραφές μορφοποίησης είναι αρκετές για να γραφτούν οι δοκιμές, γι' αυτό και οι δοκιμές διεπαφής μπορούν να ξεκινήσουν πολύ πριν υπάρξει η διεπαφή χρήστη.
Γιατί να κάνετε δοκιμές διεπαφής
Έγινε δοκιμή διεπαφής
- Για να διασφαλιστεί ότι οι τελικοί χρήστες ή οι πελάτες δεν θα αντιμετωπίζουν κανένα πρόβλημα όταν χρησιμοποιούν ένα συγκεκριμένο προϊόν λογισμικού
- Να προσδιορίσει ποιες περιοχές εφαρμογών είναι συνήθως προσβάσιμες από τους τελικούς χρήστες και να ελέγξει επίσης τη φιλικότητα προς το χρήστη.
- Για την επαλήθευση των απαιτήσεων ασφαλείας ενώ η επικοινωνία διαδίδεται μεταξύ των συστημάτων
- Για να ελέγξετε εάν μια λύση είναι ικανή να χειριστεί αστοχίες δικτύου μεταξύ διακομιστή εφαρμογών και ιστότοπου
Υπάρχει επίσης και το επιχείρημα του κόστους. Ένα ελάττωμα στη μορφή ενός αιτήματος είναι φθηνό να διορθωθεί όσο τα δύο συστήματα είναι ακόμη συνδεδεμένα, και ακριβό όταν ένα κατάντη σύστημα έχει ήδη αποθηκεύσει τα παραμορφωμένα δεδομένα.
Τύποι δοκιμών διεπαφής
Κατά τη διάρκεια της δοκιμής διεπαφής πραγματοποιούνται διάφοροι τύποι δοκιμών στη διεπαφή που μπορεί να περιλαμβάνουν
- Ροή εργασιών: Διασφαλίζει ότι η μηχανή διασύνδεσης χειρίζεται τις τυπικές ροές εργασίας σας όπως αναμένεται.
- Περιπτώσεις στα άκρα - μη αναμενόμενες τιμές: Αυτό λαμβάνεται υπόψη όταν οι δοκιμές περιλαμβάνουν την ημερομηνία, τον μήνα και την ημέρα αντίστροφα.
- Δοκιμές απόδοσης, φορτίου και δικτύου: Μια διεπαφή μεγάλου όγκου μπορεί να απαιτεί περισσότερα Δοκιμές φορτίου παρά μια διεπαφή χαμηλού όγκου, ανάλογα με τον κινητήρα διασύνδεσης και την υποδομή συνδεσιμότητας
- Μεμονωμένα συστήματα: Αυτό περιλαμβάνει τη δοκιμή κάθε συστήματος ξεχωριστά. Για παράδειγμα, το σύστημα τιμολόγησης και το σύστημα διαχείρισης αποθέματος για το κατάστημα λιανικής θα πρέπει να μπορούν να λειτουργούν χωριστά.
Το πρώτο στοιχείο είναι αρκετά κοντά δοκιμές ροής εργασίας να επαναχρησιμοποιήσει τα σενάριά του, και το τελευταίο στοιχείο επικαλύπτεται με δοκιμή ενότητας, καθώς ένα σύστημα που αποτυγχάνει από μόνο του θα αποτύχει ξανά μόλις συνδεθεί.
Στρατηγική δοκιμής διεπαφής
Η Στρατηγική Δοκιμής Διεπαφών είναι μια μέθοδος που χρησιμοποιείται για τη δοκιμή διεπαφών με κοινές δοκιμές ανεξάρτητα από την υλοποίηση. Μπορούμε να χρησιμοποιήσουμε το abs.tract περιπτώσεις δοκιμών και δημιουργία συγκεκριμένων στιγμιότυπων της περίπτωσης δοκιμής για κάθε υλοποίηση της στρατηγικής δοκιμών διεπαφής. Η βάση/abstracΟι δοκιμαστικές περιπτώσεις t εκτελούν δοκιμές ουδέτερες ως προς την υλοποίηση, ενώ οι δοκιμές συγκεκριμένων δοκιμών φροντίζουν για τη δημιουργία στιγμιότυπων αντικειμένων για δοκιμή και την εκτέλεση δοκιμών ειδικών για την υλοποίηση.
Το αποτέλεσμα αυτής της δομής είναι η επαναχρησιμοποίηση. Όταν εμφανιστεί μια τρίτη υλοποίηση της ίδιας διεπαφής, το abstracΤο t suite λειτουργεί αμετάβλητο και χρειάζεται να γραφτεί μόνο ο κώδικας δημιουργίας. Η ίδια ιδέα εφαρμόζεται σε μεγαλύτερη κλίμακα στο δοκιμή εξαρτημάτων, όπου υπάρχει κοινόχρηστοtracΤο t suite εκτελείται ενάντια σε κάθε στοιχείο που ισχυρίζεται ότι το ικανοποιεί.
Εργαλεία δοκιμής διεπαφής
Επειδή μια διεπαφή δεν έχει οθόνη, τα εργαλεία πρέπει να κατασκευάζουν αιτήματα απευθείας και να διεκδικούν τις απαντήσεις σε ακατέργαστες μορφές. Οι ομάδες συνήθως συνδυάζουν τρεις κατηγορίες εργαλείων.
- Πελάτες API και δημιουργοί αιτημάτων: Εργαλεία όπως Postman, SoapUI, Η Insomnia και η Hoppscotch στέλνουν κλήσεις REST, SOAP ή GraphQL, τις αποθηκεύουν ως επαναχρησιμοποιήσιμες συλλογές και τις διεκδικούν σε κωδικούς κατάστασης, κεφαλίδες και σώματα απόκρισης.
- Codeβιβλιοθήκες δοκιμών επιπέδου: Οι βιβλιοθήκες που εκτελούνται εντός της υπάρχουσας σουίτας δοκιμών επιτρέπουν στους ελέγχους διεπαφής να βρίσκονται δίπλα σε δοκιμές μονάδας και να εκτελούνται σε κάθε έκδοση, γεγονός που τους εμποδίζει να ξεπεραστούν.
- Εργαλεία φόρτωσης και πρωτοκόλλου: Ένα εργαλείο όπως JMeter οδηγεί την ίδια διεπαφή στον τόμο, η οποία μετατρέπει έναν λειτουργικό έλεγχο σε δοκιμή απόδοσης της σύνδεσης.
- Εικονικοποίηση υπηρεσιών και προσομοιώσεις: Ένα απόκομμα που αντικαθιστά το άλλο άκρο επιτρέπει τη δοκιμή της μίας πλευράς, ενώ η άλλη δεν είναι διαθέσιμη, δεν έχει ολοκληρωθεί ή είναι πολύ ακριβή για να την καλέσουμε επανειλημμένα.
Η επιλογή έχει λιγότερη σημασία από την κάλυψη. Όποιος πελάτης κι αν επιλεγεί, η συλλογή των αιτημάτων πρέπει να αποθηκευτεί στον έλεγχο έκδοσης μαζί με τον κώδικα, επομένως μια αλλαγή στη διεπαφή και μια αλλαγή στις δοκιμές της καταλήγουν στην ίδια υποβολή. Λεπτομέρειες για την ευρύτερη κατηγορία καλύπτονται στο Δοκιμή API.
Λίστα ελέγχου διεπαφής και καλυτερα πρακτικές
Μια σύντομη λίστα ελέγχου διατηρεί την κάλυψη των διεπαφών ειλικρινή σε όλες τις εκδόσεις. Επεξεργαστείτε την για κάθε σύνδεση και όχι για την εφαρμογή ως σύνολο.
- μεtracπρώτα: Επιβεβαιώστε ότι τα σχήματα αιτήματος και απόκρισης αντιστοιχούν στις δημοσιευμένες προδιαγραφές, πεδίο προς πεδίο, συμπεριλαμβανομένων των τύπων δεδομένων και των προαιρετικών πεδίων.
- Οριακές τιμές: Αποστολή κενών ωφέλιμων φορτίων, πεδίων μέγιστου μήκους, μη αναμενόμενων συνόλων χαρακτήρων και αντίστροφων μορφών ημερομηνίας.
- Διαδρομές σφάλματος: Επαληθεύστε ότι κάθε αποτυχία επιστρέφει έναν ουσιαστικό κώδικα και μήνυμα αντί για μια στοίβα tracε ή μια σιωπηλή επιτυχία.
- Χρονικά όρια και επαναλήψεις: Διακόψτε τη σύνδεση κατά τη διάρκεια του αιτήματος και επιβεβαιώστε ότι ο καλών προσπαθεί ξανά με ασφάλεια χωρίς να επαναλάβει τη συναλλαγή.
- Ασφάλεια: Ελέγξτε τον έλεγχο ταυτότητας, την εξουσιοδότηση και την κρυπτογράφηση στον σύνδεσμο και επιβεβαιώστε ότι τα μηνύματα σφάλματος δεν διαρρέουν εσωτερικές λεπτομέρειες.
- Συνέπεια δεδομένων: Διαβάστε την εγγραφή από την άλλη πλευρά και επιβεβαιώστε ότι τίποτα δεν περικόπηκε, δεν κωδικοποιήθηκε ξανά ή δεν αναδιατάχθηκε κατά τη μεταφορά.
- Volume: Επαναλάβετε την κλήση με την υψηλότερη κίνηση υπό ταυτόχρονο φόρτο και προσέξτε για εξάντληση της δεξαμενής συνδέσεων.
Τρεις πρακτικές καθιστούν αυτήν τη λίστα ελέγχου επαναλήψιμη. Πρώτον, αυτοματοποιήστε τη σουίτα και εκτελέστε την σε κάθε έκδοση, επειδή οι διεπαφές αλλάζουν πιο αθόρυβα από τις οθόνες. Δεύτερον, καταγράψτε το πλήρες αίτημα και την απόκριση για κάθε αποτυχία, καθώς ένα ελάττωμα διεπαφής είναι σχεδόν αδύνατο να αναπαραχθεί από ένα στιγμιότυπο οθόνης. Τρίτον, διατηρήστε τη σουίτα ανεξάρτητη από τα δεδομένα δοκιμών που δημιουργούνται από άλλες σουίτες, έτσι ώστε μια αποτυχία να υποδεικνύει τη διεπαφή και όχι μια ελλείπουσα εγγραφή.
Αυτοί οι έλεγχοι εντάσσονται φυσικά στο ευρύτερο σχέδιο που περιγράφεται στο είδη δοκιμών λογισμικού, και εκτελούνται πριν από την άσκηση των ίδιων συνδέσεων από άκρο σε άκρο κατά τη διάρκεια δοκιμή συστήματος.
Δοκιμή διεπαφής έναντι δοκιμής ενοποίησης
Οι δύο όροι σχετίζονται μάλλον παρά αντιτίθενται: ο έλεγχος διεπαφής είναι το μέρος της εργασίας ολοκλήρωσης που επικεντρώνεται στην ίδια τη σύνδεση. Ο παρακάτω πίνακας καθορίζει την έμφαση σε κάθε πλευρά προς τα έξω.
| Δοκιμή διεπαφής | Δοκιμή ολοκλήρωσης |
|---|---|
| Ένας τύπος δοκιμής ολοκλήρωσης που ασχολείται με τη δοκιμή των διεπαφών μεταξύ στοιχείων ή συστημάτων | Πραγματοποιήθηκαν δοκιμές για την αποκάλυψη ελαττωμάτων στις διεπαφές και στις αλληλεπιδράσεις μεταξύ ενσωματωμένων στοιχείων ή συστημάτων. |
| Η εστίαση είναι το μειονέκτημαtract — μορφή αιτήματος, μορφή απόκρισης, κωδικοί σφάλματος και χρονικά όρια | Η εστίαση είναι η συνδυασμένη συμπεριφορά των στοιχείων μόλις ενωθούν |
| Μπορεί να εκτελεστεί μόλις υπάρξει η προδιαγραφή, με το άκρο να έχει αποκοπεί | Απαιτεί την ταυτόχρονη κατασκευή και ανάπτυξη των συμμετεχόντων στοιχείων |
| Μια βλάβη υποδεικνύει μία σύνδεση | Μια βλάβη μπορεί να υποδεικνύει οποιοδήποτε εξάρτημα της συναρμολογημένης ομάδας |
Όποιος είναι νέος στον ευρύτερο κλάδο θα βρει τα γύρω επίπεδα που περιγράφονται στο δοκιμή ολοκλήρωσης και στο γενικό δοκιμές λογισμικού εισαγωγή, ενώ η ορολογία που χρησιμοποιείται παραπάνω προέρχεται από το πρότυπο τεχνολογία λογισμικού πρακτική. Για συστήματα που βασίζονται σε προγράμματα περιήγησης, οι ίδιες συνδέσεις τελικά ασκούνται ξανά κατά τη διάρκεια δοκιμή εφαρμογών Ιστού.

