Τι είναι το SOA Testing; Εκμάθηση με Παράδειγμα
Τι είναι το SOA Testing;
SOA (Προσανατολισμός υπηρεσιών Architecture) Η δοκιμή είναι μια δοκιμή του αρχιτεκτονικού στυλ SOA στην οποία τα στοιχεία της εφαρμογής έχουν σχεδιαστεί για να επικοινωνούν μέσω πρωτοκόλλων επικοινωνίας συνήθως μέσω ενός δικτύου.
Τι είναι το SOA;
Το SOA είναι μια μέθοδος ενσωμάτωσης επιχειρηματικών εφαρμογών και διαδικασιών ώστε να καλύπτονται οι επιχειρηματικές ανάγκες.
Στη Μηχανική Λογισμικού, το SOA παρέχει ευελιξία και ευελιξία στις επιχειρηματικές διαδικασίες. Οι αλλαγές στη διαδικασία ή την εφαρμογή μπορούν να κατευθυνθούν σε ένα συγκεκριμένο στοιχείο χωρίς να επηρεάσουν ολόκληρο το σύστημα.
Οι προγραμματιστές λογισμικού στο SOA είτε αναπτύσσουν είτε αγοράζουν κομμάτια προγραμμάτων που ονομάζονται ΥΠΗΡΕΣΙΕΣ.
Τι είναι Υπηρεσία;
- Οι υπηρεσίες μπορεί να είναι μια λειτουργική μονάδα εφαρμογής ή επιχειρηματικής διαδικασίας, η οποία μπορεί να επαναχρησιμοποιηθεί ή να επαναληφθεί από οποιαδήποτε άλλη εφαρμογή ή διαδικασία. (Για παράδειγμα, στην παραπάνω εικόνα, το Payment Gateway είναι μια υπηρεσία που μπορεί να επαναχρησιμοποιηθεί από οποιονδήποτε ιστότοπο ηλεκτρονικού εμπορίου. Όποτε χρειάζεται να γίνει μια πληρωμή, ο ιστότοπος ηλεκτρονικού εμπορίου καλεί/ζητά την υπηρεσία Πύλης πληρωμών. Αφού γίνει η πληρωμή σε μια πύλη, αποστέλλεται μια απάντηση στον ιστότοπο ηλεκτρονικού εμπορίου)
- Οι υπηρεσίες συναρμολογούνται εύκολα και αναδιαμορφώνονται εύκολα τα εξαρτήματα.
- Οι υπηρεσίες μπορούν να συγκριθούν με δομικά στοιχεία. Μπορούν να κατασκευάσουν οποιαδήποτε εφαρμογή χρειάζεται. Η προσθήκη και η αφαίρεσή τους από την εφαρμογή ή την επιχειρηματική διαδικασία είναι εύκολη.
- Οι υπηρεσίες ορίζονται περισσότερο από την επιχειρηματική λειτουργία που εκτελούν παρά ως κομμάτια κώδικα.
Υπηρεσίες Διαδικτύου
Οι υπηρεσίες Ιστού είναι ανεξάρτητα στοιχεία εφαρμογών, τα οποία είναι διαθέσιμα στο διαδίκτυο.
Μπορούν να δημοσιευτούν, να βρεθούν και να χρησιμοποιηθούν στον Ιστό. Μπορούν να επικοινωνούν μέσω του διαδικτύου.
- Ο πάροχος υπηρεσιών δημοσιεύει την υπηρεσία στο Διαδίκτυο.
- Ο Πελάτης αναζητά μια συγκεκριμένη υπηρεσία Ιστού από το Μητρώο Υπηρεσιών Ιστού
- Επιστρέφεται μια διεύθυνση URL και το WSDL για την απαιτούμενη υπηρεσία web. Χρησιμοποιώντας το WSDL και το URL, η επικοινωνία μεταξύ του παρόχου υπηρεσιών και του αιτούντος πραγματοποιείται μέσω μηνυμάτων SOAP.
- Όταν ένας καταναλωτής καλεί μια υπηρεσία Ιστού, θα δημιουργηθεί μια σύνδεση HTTP με τον πάροχο.
Δημιουργείται ένα μήνυμα SOAP για να δώσει εντολή στον πάροχο να επικαλεστεί την απαιτούμενη λογική υπηρεσίας web. - Η απάντηση που λαμβάνεται από τον πάροχο είναι ένα μήνυμα SOAP που θα ενσωματωθεί στην απόκριση HTTP. Αυτή η απόκριση HTTP είναι η μορφή δεδομένων που είναι κατανοητή από την εφαρμογή καταναλωτή.
Παράδειγμα
Μια αρχική σελίδα ενός ιστότοπου και μιας μηχανής αναζήτησης εμφανίζει καθημερινά δελτία καιρού. Αντί να κωδικοποιήσετε την ενότητα του δελτίου καιρού παντού, μπορείτε να αγοράσετε μια υπηρεσία δελτίου καιρού από έναν προμηθευτή και να την ενσωματώσετε στις σελίδες.
Δοκιμή SOA
Το SOA αποτελείται από διάφορες τεχνολογίες. Οι εφαρμογές που κατασκευάζονται με χρήση SOA έχουν διάφορες υπηρεσίες που συνδέονται χαλαρά.
Η δοκιμή SOA θα πρέπει να επικεντρωθεί σε 3 επίπεδα συστήματος
Επίπεδο υπηρεσιών
Αυτό το επίπεδο αποτελείται από τις υπηρεσίες, τις υπηρεσίες που εκτίθενται από ένα σύστημα που προέρχεται από επιχειρηματικές λειτουργίες.
Για παράδειγμα -
Σκεφτείτε έναν ιστότοπο ευεξίας που αποτελείται από
- Weight Tracker
- Ανιχνευτής σακχάρου αίματος
- Έλεγχος πίεσης του αίματος
Τα Trackers εμφανίζουν τα αντίστοιχα δεδομένα και την ημερομηνία εισαγωγής τους. Το επίπεδο υπηρεσιών αποτελείται από τις υπηρεσίες που λαμβάνουν τα αντίστοιχα δεδομένα από τη βάση δεδομένων –
- Υπηρεσία Weight Tracker
- Υπηρεσία παρακολούθησης σακχάρου αίματος
- Υπηρεσία παρακολούθησης της πίεσης του αίματος
- Υπηρεσία σύνδεσης
Επίπεδο διαδικασίας
Το επίπεδο διεργασίας αποτελείται από τις διεργασίες, τη συλλογή υπηρεσιών που αποτελούν μέρος μιας ενιαίας λειτουργικότητας.
Οι διεργασίες μπορεί να αποτελούν μέρος της διεπαφής χρήστη (π.χ. – Μια μηχανή αναζήτησης), μέρος ενός εργαλείου ETL (για τη λήψη δεδομένων από τη βάση δεδομένων).
Η κύρια εστίαση σε αυτό το επίπεδο θα είναι στις διεπαφές χρήστη και στη διαδικασία.
Η διεπαφή χρήστη του ανιχνευτή βάρους και η ενσωμάτωσή του με τη βάση δεδομένων είναι η κύρια εστίαση.
Οι παρακάτω λειτουργίες θα ληφθούν υπόψη
- Προσθήκη νέων δεδομένων
- Επεξεργασία υπαρχόντων δεδομένων
- Δημιουργία νέου tracker
- Διαγραφή δεδομένων
Επίπεδο Καταναλωτή
Αυτό το επίπεδο αποτελείται κυρίως από διεπαφές χρήστη.
Με βάση το επίπεδο, η δοκιμή μιας εφαρμογής SOA κατανέμεται σε τρία επίπεδα.
- Επίπεδο εξυπηρέτησης
- Επίπεδο διεπαφής
- Επίπεδο από άκρη σε άκρη
- Η προσέγγιση Top Down χρησιμοποιείται για Test Designing.
- Η προσέγγιση από κάτω προς τα πάνω χρησιμοποιείται για την εκτέλεση δοκιμής.
Στρατηγική για δοκιμές SOA
Προσέγγιση Προγραμματισμού Δοκιμών,
- Η πλήρης αρχιτεκτονική της εφαρμογής θα πρέπει να είναι κατανοητή από τους SOA Testers.
- Η εφαρμογή πρέπει να αναλυθεί σε ανεξάρτητες υπηρεσίες (Υπηρεσία, η οποία έχει τη δική της δομή αιτημάτων και απαντήσεων και δεν εξαρτάται από καμία άλλη υπηρεσία για να σχηματίσει απάντηση).
- Η δομή της εφαρμογής πρέπει να αναδιοργανωθεί σε τρία στοιχεία – Δεδομένα, Υπηρεσίες και εφαρμογές διεπαφής.
- Όλα τα στοιχεία πρέπει να αναλυθούν προσεκτικά και τα επιχειρηματικά σενάρια θα πρέπει να διατυπωθούν με κιμωλία.
- Τα επιχειρηματικά σενάρια πρέπει να ταξινομηθούν ως κοινά σενάρια και σενάρια ειδικά για την εφαρμογή.
- A Πίνακας ιχνηλασιμότητας θα πρέπει να προετοιμαστεί και όλες οι περιπτώσεις δοκιμών θα πρέπει να εντοπίζονται σε επιχειρηματικά σενάρια.
Προσέγγιση εκτέλεσης δοκιμής
- Κάθε εξάρτημα σέρβις πρέπει να ελεγχθεί.
- Δοκιμή ολοκλήρωσης των στοιχείων της υπηρεσίας θα πρέπει να γίνει για να επικυρωθεί η ροή δεδομένων μέσω των υπηρεσιών και η ακεραιότητα των δεδομένων.
- Δοκιμή συστήματος του πλήρους μοντέλου θα πρέπει να γίνει για να επικυρωθεί η ροή δεδομένων μεταξύ της εφαρμογής front-end και της βάσης δεδομένων.
- Δοκιμές Απόδοσης πρέπει να γίνει για λεπτή ρύθμιση και βέλτιστη απόδοση.
Μέθοδοι δοκιμής SOA
1) Δοκιμές βάσει δεδομένων βάσει επιχειρηματικού σεναρίου,
- Θα πρέπει να αναλυθούν διάφορες επιχειρηματικές πτυχές που σχετίζονται με το σύστημα.
- Τα σενάρια θα πρέπει να αναπτυχθούν με βάση την ενσωμάτωση του
- Διάφορος Οι υπηρεσίες Web της εφαρμογής
- Υπηρεσίες και εφαρμογές Ιστού.
- Η ρύθμιση των δεδομένων θα πρέπει να γίνεται με βάση τα παραπάνω σενάρια.
- Η ρύθμιση των δεδομένων θα πρέπει να γίνεται έτσι ώστε να καλύπτονται και από άκρο σε άκρο σενάρια.
2) Στελέχη
- Θα δημιουργηθούν εικονικές διεπαφές για τη δοκιμή υπηρεσιών.
- Μέσω αυτών των διεπαφών μπορούν να παρέχονται διάφορες είσοδοι και οι έξοδοι μπορούν να επικυρωθούν.
- Όταν μια εφαρμογή χρησιμοποιεί μια διεπαφή σε μια εξωτερική υπηρεσία, η οποία δεν είναι υπό δοκιμή (υπηρεσία τρίτου μέρους), μπορεί να δημιουργηθεί ένα στέλεχος κατά τη διάρκεια της δοκιμής ενσωμάτωσης.
3) Δοκιμή παλινδρόμησης
- Δοκιμή παλινδρόμησης στην εφαρμογή θα πρέπει να γίνεται όταν υπάρχουν πολλαπλές εκδόσεις έτσι ώστε να διασφαλίζεται η σταθερότητα και η διαθεσιμότητα των συστημάτων.
- Θα δημιουργηθεί μια ολοκληρωμένη σουίτα δοκιμών παλινδρόμησης που θα καλύπτει τις υπηρεσίες που αποτελούν σημαντικό μέρος της εφαρμογής.
- Αυτή η δοκιμαστική σουίτα μπορεί να επαναχρησιμοποιηθεί σε πολλές εκδόσεις του έργου.
4) Δοκιμή επιπέδου υπηρεσίας
Η δοκιμή επιπέδου υπηρεσίας περιλαμβάνει τη δοκιμή του στοιχείου για λειτουργικότητα, ασφάλεια, απόδοση και διαλειτουργικότητα.
Κάθε υπηρεσία πρέπει πρώτα να ελεγχθεί ανεξάρτητα.
5) Λειτουργικός Έλεγχος
Θα πρέπει να γίνεται λειτουργικός έλεγχος σε κάθε υπηρεσία
- Βεβαιωθείτε ότι η υπηρεσία παρέχει τη σωστή απάντηση σε κάθε αίτημα.
- Λαμβάνονται σωστά σφάλματα για αιτήματα με Μη έγκυρα δεδομένα, κακά δεδομένα κ.λπ.
- Ελέγξτε για κάθε αίτημα και απάντηση για κάθε λειτουργία που πρέπει να εκτελέσει η υπηρεσία στο χρόνο εκτέλεσης.
- Επικυρώστε τα μηνύματα σφάλματος όταν παρουσιάζεται σφάλμα σε επίπεδο διακομιστή, πελάτη ή δικτύου.
- Επιβεβαιώστε ότι οι απαντήσεις που λάβατε είναι στη σωστή μορφή.
- Επιβεβαιώστε ότι τα δεδομένα που ελήφθησαν στην απάντηση που αντιστοιχεί στα δεδομένα που ζητήθηκαν.
6) Δοκιμές ασφαλείας
Ο έλεγχος ασφαλείας της υπηρεσίας Ιστού είναι μια σημαντική πτυχή κατά τη δοκιμή επιπέδου υπηρεσίας της εφαρμογής SOA. αυτό διασφαλίζει την ασφάλεια της εφαρμογής.
Οι ακόλουθοι παράγοντες πρέπει να καλύπτονται κατά τη διάρκεια της δοκιμής:
- Το Industry Standard που ορίζεται από τη δοκιμή WS-Security θα πρέπει να τηρείται από την Υπηρεσία Ιστού.
- Τα μέτρα ασφαλείας πρέπει να λειτουργούν άψογα.
- Κρυπτογράφηση δεδομένων και Digiυπογραφές στα έγγραφα
- Έλεγχος ταυτότητας και εξουσιοδότηση
- SQL Injection, Malware, XSS, CSRF, άλλα τρωτά σημεία πρόκειται να δοκιμαστούν στο XML.
- Επιθέσεις άρνησης υπηρεσίας
7) Δοκιμή απόδοσης
Πρέπει να γίνει έλεγχος απόδοσης της υπηρεσίας, καθώς οι υπηρεσίες είναι επαναχρησιμοποιήσιμες και πολλές εφαρμογές ενδέχεται να χρησιμοποιούν την ίδια υπηρεσία.
Κατά τη διάρκεια της δοκιμής λαμβάνονται υπόψη οι ακόλουθοι παράγοντες:
- Η απόδοση και η λειτουργικότητα της υπηρεσίας πρέπει να ελέγχονται υπό βαρύ φορτίο.
- Η απόδοση της υπηρεσίας πρέπει να συγκριθεί κατά την εργασία μεμονωμένα και εντός της εφαρμογής, συνδυάζεται με.
- Θα πρέπει να πραγματοποιηθεί δοκιμή φορτίου της υπηρεσίας
- για επαλήθευση του χρόνου απόκρισης
- για να ελέγξετε για σημεία συμφόρησης
- για να επαληθεύσετε τη χρήση της CPU και της μνήμης
- να προβλέψει την επεκτασιμότητα
8) Έλεγχος επιπέδου ενσωμάτωσης
- Η δοκιμή επιπέδου σέρβις διασφαλίζει τη σωστή λειτουργία μόνο των υπηρεσιών ξεχωριστά, δεν εγγυάται τη λειτουργία των συζευγμένων εξαρτημάτων.
- Το Integration Testing γίνεται εστιάζοντας κυρίως στις διεπαφές.
- Αυτή η φάση καλύπτει όλα τα πιθανά επιχειρηματικά σενάρια.
- Ο Μη Λειτουργικός έλεγχος της εφαρμογής θα πρέπει να γίνει άλλη μια φορά σε αυτή τη φάση. Η ασφάλεια, η συμμόρφωση και ο έλεγχος απόδοσης διασφαλίζουν τη διαθεσιμότητα και τη σταθερότητα του συστήματος σε όλες τις πτυχές.
- Τα πρωτόκολλα επικοινωνίας και δικτύου θα πρέπει να ελέγχονται για την επικύρωση της συνέπειας της επικοινωνίας δεδομένων μεταξύ των υπηρεσιών.
9) Τελική δοκιμή
Αυτή η φάση διασφαλίζει ότι η εφαρμογή επιβεβαιώνει τις επιχειρηματικές απαιτήσεις τόσο λειτουργικά όσο και μη.
Τα παρακάτω στοιχεία διασφαλίζεται ότι θα δοκιμαστούν κατά τη διάρκεια των δοκιμών από άκρο σε άκρο
- Όλες οι υπηρεσίες λειτουργούν όπως αναμένεται μετά την ενσωμάτωση
- Χειρισμός εξαίρεσης
- Διεπαφή χρήστη της εφαρμογής
- Η σωστή ροή δεδομένων μέσω όλων των στοιχείων
- Επιχειρηματική διαδικασία
Προκλήσεις στη δοκιμή SOA
- Έλλειψη διεπαφών για Υπηρεσίες
- Η διαδικασία δοκιμής εκτείνεται σε πολλαπλά συστήματα, δημιουργώντας έτσι πολύπλοκες ανάγκες δεδομένων
- Η εφαρμογή είναι μια συλλογή από διάφορα στοιχεία που τείνει να αλλάζει. Η ανάγκη για Δοκιμή Παλινδρόμησης είναι πιο συχνή.
- Λόγω της πολυστρωματικής αρχιτεκτονικής, είναι δύσκολο να απομονωθούν ελαττώματα.
- Δεδομένου ότι η υπηρεσία θα χρησιμοποιηθεί σε διαφορετικές διεπαφές, είναι δύσκολη η πρόβλεψη του φορτίου, καθιστώντας έτσι δυσκίνητο τον προγραμματισμό δοκιμών απόδοσης.
- Το SOA είναι μια συλλογή ετερογενών τεχνολογιών. Η δοκιμή μιας εφαρμογής SOA απαιτεί άτομα με διαφορετικά σύνολα δεξιοτήτων που με τη σειρά τους αυξάνουν το κόστος προγραμματισμού και εκτέλεσης.
- Δεδομένου ότι η εφαρμογή είναι μια ενοποίηση πολλών υπηρεσιών, οι δοκιμές ασφαλείας έχουν το δικό τους μερίδιο δυστυχίας. Η επικύρωση του ελέγχου ταυτότητας και της εξουσιοδότησης είναι αρκετά δύσκολη.
Εργαλεία δοκιμών SOA
Υπάρχουν πολλά εργαλεία δοκιμών SOA διαθέσιμα στην αγορά για να βοηθήσουν τους δοκιμαστές στη δοκιμή εφαρμογών SOA. Εδώ είναι μερικά από τα δημοφιλή Εργαλεία δοκιμών SOA:
1) SOAP UI
Το "SOAP UI" είναι ένα εργαλείο Λειτουργικών δοκιμών ανοιχτού κώδικα για Υπηρεσίες και Δοκιμή API.
- Επιτραπέζια εφαρμογή
- Υποστηρίζει πολλαπλά πρωτόκολλα – SOAP, REST, HTTP, JMS, AMF, JDBC
- Οι υπηρεσίες Ιστού μπορούν να αναπτυχθούν, να επιθεωρηθούν και να κληθούν.
- Μπορεί επίσης να χρησιμοποιηθεί για δοκιμή φορτίου, Δοκιμές Αυτοματισμούκαι δοκιμές ασφαλείας
- Τα Stubs μπορούν να δημιουργηθούν από την MockServices
- Τα αιτήματα και οι δοκιμές της υπηρεσίας Web μπορούν να δημιουργηθούν αυτόματα μέσω του προγράμματος-πελάτη της υπηρεσίας Ιστού.
- Να έχετε ενσωματωμένα εργαλεία αναφοράς
- Αναπτύχθηκε από την SmartBear
2) iTKO LISA
Το "LISA" είναι μια σουίτα προϊόντων που παρέχει μια λειτουργική λύση δοκιμών για κατανεμημένα συστήματα όπως το SOA.
- Μπορεί επίσης να χρησιμοποιηθεί για δοκιμές παλινδρόμησης, ολοκλήρωσης, φορτίου και απόδοσης.
- Αναπτύχθηκε από την iTKO (CA Technologies)
- Μπορεί να χρησιμοποιηθεί για το σχεδιασμό και την εκτέλεση δοκιμών.
3) HP Service Test
Το "Service Test" είναι ένα λειτουργικό εργαλείο δοκιμών, το οποίο υποστηρίζει τόσο τη διεπαφή χρήστη όσο και τη δοκιμή κοινών υπηρεσιών
- Τόσο ο λειτουργικός έλεγχος όσο και ο έλεγχος απόδοσης των υπηρεσιών μπορούν να γίνουν με ένα μόνο σενάριο.
- Ενσωματωμένο με HP QC.
- Μπορείτε να διαχειριστείτε τον τεράστιο όγκο υπηρεσιών και δεδομένων.
- Υποστηρίζει δοκιμές διαλειτουργικότητας με προσομοίωση περιβαλλόντων πελάτη JEE, AXIS και DotNet.
- Αναπτύχθηκε από την HP.
4) Parasoft SOA Test
Το SOA Test είναι μια σουίτα εργαλείων δοκιμών και ανάλυσης που αναπτύχθηκε για δοκιμές εφαρμογών API και API.
- Υποστηρίζει τεχνολογίες Web Services, REST, JSON, MQ, JMS, TIBCO, HTTP, XML.
- Δοκιμές λειτουργικότητας, μονάδας, ενοποίησης, παλινδρόμησης, ασφάλειας, διαλειτουργικότητας, συμμόρφωσης και απόδοσης είναι δυνατές.
- Τα Stubs μπορούν να δημιουργηθούν χρησιμοποιώντας το Parasoft Virtualize, τα οποία είναι έξυπνα από το SOAP UI.
- Αναπτύχθηκε από την ParaSoft
Περιπτώσεις χρήσης δοκιμών SOA
Σκεφτείτε έναν ιστότοπο ηλεκτρονικού εμπορίου, ο οποίος περιέχει τις παρακάτω λειτουργίες και υπολειτουργίες:
Επεξεργασία παραγγελίας
ΦΑΣΗ 1
Στην πρώτη φάση της δοκιμής SOA, δηλαδή στη φάση της στρατηγικής δοκιμής, η εφαρμογή χωρίζεται σε Υπηρεσίες και επιχειρηματικές λειτουργίες.
Ας εξετάσουμε παρακάτω είναι οι Υπηρεσίες στην εφαρμογή.
- Δημιουργήστε παραγγελία
- Ελέγξτε την κατάσταση του πελάτη
- Αλλαγή κατάστασης παραγγελίας
- Ελέγξτε την κατάσταση της παραγγελίας
- Ελέγξτε το απόθεμα
Οι επιχειρηματικές λειτουργίες είναι οι ίδιες με τις λειτουργίες της Ιστοσελίδας.
Σημείωση: Το έγγραφο στρατηγικής δοκιμής θα περιέχει τη λίστα της υπηρεσίας και τις λειτουργίες που πρέπει να δοκιμαστούν.
ΦΑΣΗ 2
Φάση προγραμματισμού δοκιμής. Οι περιπτώσεις δοκιμών γράφονται για κάθε επίπεδο.
- Επίπεδο από άκρη σε άκρη. Οι δοκιμαστικές περιπτώσεις γράφονται για κάθε περίπτωση επιχειρηματικής χρήσης και ροής. Παρακάτω είναι το παράδειγμα των δοκιμαστικών περιπτώσεων
- Δημιουργήστε μια παραγγελία με τον ενεργό χρήστη.
- Δημιουργήστε μια παραγγελία με έναν ανενεργό χρήστη.
- Δημιουργήστε μια παραγγελία με το διαθέσιμο προϊόν με ποσότητα παραγγελίας < διαθέσιμη ποσότητα.
- Δημιουργήστε μια παραγγελία με το διαθέσιμο προϊόν με ποσότητα παραγγελίας > διαθέσιμη ποσότητα.
- Δημιουργήστε μια παραγγελία με πολλά στοιχεία
- Ακυρώστε εντελώς μια παραγγελία.
- Μερική ακύρωση παραγγελίας.
- Επίπεδο ενσωμάτωσης. Οι δοκιμαστικές περιπτώσεις είναι γραμμένες για την ενοποίηση της βάσης δεδομένων και της διεπαφής χρήστη. Ακολουθούν παραδείγματα δοκιμαστικών περιπτώσεων.
- Δημιουργήστε μια νέα παραγγελία με ένα μόνο στοιχείο. Βεβαιωθείτε ότι η παραγγελία έχει δημιουργηθεί στη βάση δεδομένων.
- Δημιουργήστε μια νέα παραγγελία με ένα μόνο στοιχείο. Βεβαιωθείτε ότι η τιμή που υπολογίστηκε για την παραγγελία είναι σωστή.
- Δημιουργήστε μια νέα παραγγελία με ένα μόνο στοιχείο. Βεβαιωθείτε ότι η ποσότητα του διαθέσιμου προϊόντος είναι μικρότερη από το ποσό της παραγγελίας.
- Βεβαιωθείτε ότι η κατάσταση της παραγγελίας που εμφανίζεται στη διεπαφή χρήστη είναι ίδια με αυτήν στη βάση δεδομένων.
- Ακυρώστε την παραγγελία και επαληθεύστε ότι η κατάσταση της παραγγελίας έχει τροποποιηθεί στη βάση δεδομένων.
- Για την πρώτη πληρωμή, βεβαιωθείτε ότι τα στοιχεία πληρωμής που έχουν καταχωριστεί στη διεπαφή χρήστη είναι αποθηκευμένα στη βάση δεδομένων.
- Για επιστροφή πληρωμών, βεβαιωθείτε ότι τα στοιχεία πληρωμής στη βάση δεδομένων εμφανίζονται στη διεπαφή χρήστη.
- Επίπεδο εξυπηρέτησης. Κάθε υπηρεσία ελέγχεται για όλες τις συνθήκες δεδομένων.
Παρακάτω είναι μερικά παραδείγματα.
Όχι. | Λεπτομέρειες Παραγγελίας | Κατάσταση παραγγελίας |
---|---|---|
1 | Δημιουργία παραγγελίας. Αριθμός ειδών = 1 | Ποσότητα κατά παραγγελία < Ποσότητα στη βάση δεδομένων |
2 | Δημιουργία παραγγελίας. Αριθμός ειδών > 1 | Ποσότητα κατά παραγγελία < Ποσότητα στη βάση δεδομένων. |
3 | Δημιουργία Αρ. Παραγγελίας Ειδών = 1 | Ποσότητα κατά παραγγελία > Ποσότητα στη βάση δεδομένων |
4 | Ελέγξτε την κατάσταση παραγγελίας | Κατάσταση στη βάση δεδομένων = Ενεργό |
5 | Ελέγξτε την κατάσταση παραγγελίας | Κατάσταση στη βάση δεδομένων = Αποστολή |
6 | Ελέγξτε την κατάσταση παραγγελίας | Κατάσταση στη βάση δεδομένων = Ακυρώθηκε |
7 | Ελέγξτε την κατάσταση παραγγελίας | Αναγνωριστικό παραγγελίας = Μη έγκυρο |
8 | Ελέγξτε τη διαθεσιμότητα του προϊόντος | Ποσότητα προϊόντος >0 |
9 | Ελέγξτε τη διαθεσιμότητα του προϊόντος | Ποσότητα προϊόντος =0 |
10 | Ελέγξτε τη διαθεσιμότητα του προϊόντος | Αναγνωριστικό προϊόντος = μη έγκυρο |
ΦΑΣΗ 3 – Εκτέλεση δοκιμής
Η εκτέλεση δοκιμής χρησιμοποιεί προσέγγιση από κάτω προς τα πάνω, δηλαδή πρώτα γίνεται δοκιμή επιπέδου υπηρεσίας, μετά επίπεδο ενοποίησης και τέλος Δοκιμές End to End.
1) Επίπεδο εξυπηρέτησης
Ας το αναλογιστούμε Σαπούι θεωρείται εργαλείο για τη δοκιμή της εφαρμογής.
Τα Διαχωριστικά wsdl και το URL περιηγούνται στο δοκιμαστικό παράθυρο του SOAP.
Το αίτημα για κάθε υπηρεσία θα εμφανίζεται στο παράθυρο αιτήματος.
Τροποποιώντας τα δεδομένα σύμφωνα με τις περιπτώσεις δοκιμών σε επίπεδο υπηρεσίας, δημιουργούνται αιτήματα για κάθε περίπτωση δοκιμής.
Δοκιμαστική θήκη | Αίτημα | Αναμενόμενη ανταπόκριση |
---|---|---|
Δημιουργία παραγγελίας. Αριθμός Ειδών = 1Ποσότητα κατόπιν παραγγελίας < Ποσότητα σε db | x2 2 | o3251 Επιτυχής |
Δημιουργία παραγγελίας. Αρ. Ειδών > 1Ποσότητα κατόπιν παραγγελίας < Ποσότητα σε db | y1 1 y2 3 | o3251 Επιτυχής |
Δημιουργία Αρ. Παραγγελίας. Ειδών = 1Ποσότητα κατά παραγγελία > Ποσότητα σε db | x23 200 | μηδενικό Ανεπιτυχής |
Ελέγξτε την κατάσταση παραγγελίαςΚατάσταση στη βάση δεδομένων = Ενεργή | o9876 | Ενεργός Επιτυχής |
Ελέγξτε την κατάσταση παραγγελίας Κατάσταση στη βάση δεδομένων = Αποστολή | o9656 | Αποστέλλεται Επιτυχής |
Ελέγξτε την κατάσταση παραγγελίας Αναγνωριστικό παραγγελίας = Μη έγκυρο | y5686 | μηδενικό Ανεπιτυχής |
Ελέγξτε τη διαθεσιμότητα του προϊόντος Ποσότητα προϊόντος >0 | d34 | 34 Ναί Επιτυχής |
Ελέγξτε τη διαθεσιμότητα του προϊόντοςΠοσότητα προϊόντος =0 | y34 | 0 όχι Επιτυχής |
Έλεγχος διαθεσιμότητας προϊόντος Αναγνωριστικό προϊόντος = μη έγκυρο | sder | Ανεπιτυχής |
2) Επίπεδο ολοκλήρωσης
Οι περιπτώσεις δοκιμών σε επίπεδο ενοποίησης εκτελούνται στη διεπαφή χρήστη και τη βάση δεδομένων.
- Δημιουργήστε μια παραγγελία με ένα μόνο αντικείμενο –
- Ένας χρήστης ανοίγει τον ιστότοπο.
- Πηγαίνει για παραγγελία.
- Επιλέγει ένα έγκυρο προϊόν και ποσότητα και αποθηκεύει την παραγγελία.
- Θα πρέπει να εμφανιστεί ένα μήνυμα που λέει ότι η παραγγελία πραγματοποιήθηκε με επιτυχία.
- Ένας χρήστης ανοίγει τη βάση δεδομένων και ελέγχει εάν τα στοιχεία της παραγγελίας είναι ίδια με αυτά που έχουν καταχωρηθεί στον ιστότοπο.
3) Επίπεδο από άκρη σε άκρη
Οι επιχειρηματικές ροές και οι περιπτώσεις χρήσης εκτελούνται στη διεπαφή χρήστη.
- Δημιουργήστε μια παραγγελία με πολλά στοιχεία –
- Ένας χρήστης ανοίγει έναν ιστότοπο.
- Πηγαίνει για παραγγελία.
- Ερωτήσεις για ένα έγκυρο προϊόν και ποσότητα τα προσθέτει στο καλάθι.
- Προστίθενται άλλα έγκυρα προϊόντα με έγκυρες ποσότητες και η παραγγελία αποθηκεύεται. Η πληρωμή γίνεται με νέο τρόπο πληρωμής και η παραγγελία γίνεται.
- Θα πρέπει να εμφανιστεί ένα μήνυμα που λέει "Η παραγγελία πραγματοποιήθηκε με επιτυχία".
- Ένας ελεγκτής θα πρέπει να επικυρώσει ότι ολόκληρη η ροή πραγματοποιείται χωρίς παραμόρφωση δεδομένων.
Συμπέρασμα
Σχεδιάζοντας τη σωστή στρατηγική για δοκιμές, πόρους, εργαλεία και συμμόρφωση για την παροχή καλών υπηρεσιών, η δοκιμή SOA μπορεί να προσφέρει πλήρως και τέλεια δοκιμασμένη εφαρμογή.