Τι είναι το SOA Testing; Εκμάθηση με Παράδειγμα

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

Anonim

Τι είναι το SOA Testing;

SOA (Service Oriented Architecture) Ο έλεγχος είναι ένας έλεγχος του αρχιτεκτονικού στυλ SOA στο οποίο τα στοιχεία της εφαρμογής έχουν σχεδιαστεί για να επικοινωνούν μέσω πρωτοκόλλων επικοινωνίας συνήθως μέσω ενός δικτύου.

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

  • Τι είναι το SOA;
  • Τι είναι η υπηρεσία;
  • Δοκιμή SOA
  • Στρατηγική για δοκιμές SOA
  • Μέθοδοι δοκιμής SOA
  • Προκλήσεις στη δοκιμή SOA
  • Εργαλεία δοκιμών SOA
  • Περιπτώσεις χρήσης δοκιμής SOA

Τι είναι το SOA;

Το SOA είναι μια μέθοδος ενοποίησης επιχειρηματικών εφαρμογών και διαδικασιών μαζί, έτσι ώστε να ικανοποιούνται οι επιχειρηματικές ανάγκες.

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

Οι προγραμματιστές λογισμικού στο SOA είτε αναπτύσσουν είτε αγοράζουν κομμάτια προγραμμάτων που ονομάζονται SERVICES.

Τι είναι η υπηρεσία;

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

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

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

Υπηρεσίες διαδικτύου

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

Μπορούν να δημοσιευτούν, να βρεθούν και να χρησιμοποιηθούν στον Ιστό. Μπορούν να επικοινωνούν μέσω του Διαδικτύου.

  1. Ο Πάροχος Υπηρεσιών δημοσιεύει την υπηρεσία στο Διαδίκτυο.
  2. Ο Πελάτης αναζητά μια συγκεκριμένη υπηρεσία Ιστού από το Μητρώο Υπηρεσιών Ιστού
  3. Επιστρέφεται ένα URL και το WSDL για την απαιτούμενη υπηρεσία ιστού.

    >> Χρησιμοποιώντας το WSDL και τη διεύθυνση URL, η επικοινωνία μεταξύ του παρόχου υπηρεσιών και του αιτούντος πραγματοποιείται μέσω μηνυμάτων SOAP. <<

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

    Δημιουργείται ένα μήνυμα SOAP για να δώσει εντολή στον πάροχο να επικαλεστεί την απαιτούμενη λογική υπηρεσίας Ιστού.

  5. Η απάντηση που λαμβάνεται από τον πάροχο είναι ένα μήνυμα SOAP το οποίο θα ενσωματωθεί στην απόκριση HTTP. Αυτή η απόκριση HTTP είναι η μορφή δεδομένων που είναι κατανοητή από την εφαρμογή καταναλωτή.

Παράδειγμα

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

Δοκιμή SOA

Το SOA αποτελείται από διάφορες τεχνολογίες. Οι εφαρμογές που κατασκευάστηκαν χρησιμοποιώντας SOA έχουν διάφορες υπηρεσίες που είναι χαλαρά συνδεδεμένες.

Η δοκιμή SOA πρέπει να επικεντρώνεται σε 3 επίπεδα συστήματος

Επίπεδο υπηρεσιών

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

Για παράδειγμα -

Σκεφτείτε έναν ιστότοπο ευεξίας που αποτελείται από

  1. Παρακολούθηση βάρους
  2. Παρακολούθηση σακχάρου στο αίμα
  3. Παρακολούθηση πίεσης του αίματος

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

  • Υπηρεσία παρακολούθησης βάρους
  • Υπηρεσία Blood Sugar Tracker
  • Υπηρεσία παρακολούθησης πίεσης αίματος
  • Υπηρεσία σύνδεσης

Επίπεδο διεργασίας

Το Process Layer αποτελείται από τις διαδικασίες, τη συλλογή υπηρεσιών που αποτελούν μέρος μιας μοναδικής λειτουργικότητας.

Οι διεργασίες μπορεί να είναι ένα μέρος της διεπαφής χρήστη (για πρώην μηχανή αναζήτησης), μέρος ενός εργαλείου ETL (για τη λήψη δεδομένων από τη βάση δεδομένων).

Η κύρια εστίαση σε αυτό το επίπεδο θα είναι στις διεπαφές χρήστη και στη διαδικασία.

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

Οι παρακάτω λειτουργίες θα ληφθούν υπόψη

  1. Προσθήκη νέων δεδομένων
  2. Επεξεργασία υπαρχόντων δεδομένων
  3. Δημιουργία νέου ιχνηλάτη
  4. Διαγραφή δεδομένων

Επίπεδο καταναλωτή

Αυτό το επίπεδο αποτελείται κυρίως από διεπαφές χρήστη.

Με βάση το επίπεδο, ο έλεγχος μιας εφαρμογής SOA κατανέμεται σε τρία επίπεδα.

  1. Επίπεδο υπηρεσίας
  2. Επίπεδο διεπαφής
  3. Επίπεδο End to End
  • Η προσέγγιση Top Down χρησιμοποιείται για το σχεδιασμό δοκιμών.
  • Η προσέγγιση Bottom Up χρησιμοποιείται για δοκιμή εκτέλεσης.

Στρατηγική για δοκιμές SOA

Προσέγγιση σχεδιασμού δοκιμών,

  • Η πλήρης αρχιτεκτονική της εφαρμογής πρέπει να γίνει κατανοητή από τους SOA Testers.
  • Η εφαρμογή πρέπει να χωριστεί σε ανεξάρτητες υπηρεσίες (Υπηρεσία, η οποία έχει τη δική της δομή αιτημάτων και απόκρισης και δεν εξαρτάται από οποιαδήποτε άλλη υπηρεσία για να σχηματίσει απάντηση).
  • Η δομή της εφαρμογής πρέπει να αναδιοργανωθεί σε τρία στοιχεία - Δεδομένα, Υπηρεσίες και εφαρμογές front-end.
  • Όλα τα στοιχεία πρέπει να αναλυθούν προσεκτικά και τα επιχειρηματικά σενάρια πρέπει να καταγράφονται.
  • Τα επιχειρηματικά σενάρια πρέπει να ταξινομηθούν ως κοινά σενάρια και σενάρια ειδικά για την εφαρμογή.
  • Θα πρέπει να προετοιμαστεί ένας πίνακας ιχνηλασιμότητας και όλες οι δοκιμαστικές περιπτώσεις πρέπει να εντοπιστούν σε επιχειρηματικά σενάρια.

Προσέγγιση εκτέλεσης δοκιμής

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

Μέθοδοι δοκιμής SOA

1) Δοκιμές βάσει δεδομένων βάσει επιχειρηματικών σεναρίων,

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

2) Στελέχη

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

3) Δοκιμή παλινδρόμησης

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

4) Δοκιμή επιπέδου υπηρεσίας

Service Level Testing περιλαμβάνει τον έλεγχο της συνιστώσας για λειτουργικότητα, ασφάλεια, απόδοση και διαλειτουργικότητα.

Κάθε υπηρεσία πρέπει πρώτα να δοκιμάζεται ανεξάρτητα.

5) Λειτουργική δοκιμή

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

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

6) Δοκιμή ασφαλείας

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

Οι ακόλουθοι παράγοντες πρέπει να καλυφθούν κατά τη διάρκεια της δοκιμής:

  • Το Βιομηχανικό Πρότυπο που ορίζεται από τη δοκιμή WS-Security πρέπει να τηρείται από την Υπηρεσία Web.
  • Τα μέτρα ασφαλείας πρέπει να λειτουργούν άψογα.
  • Κρυπτογράφηση δεδομένων και ψηφιακών υπογραφών στα έγγραφα
  • Έλεγχος ταυτότητας και εξουσιοδότηση
  • SQL Injection, Malware, XSS, CSRF, άλλες ευπάθειες πρέπει να δοκιμαστούν στο XML.
  • Επιθέσεις άρνησης υπηρεσίας

7) Δοκιμή απόδοσης

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

Οι ακόλουθοι παράγοντες λαμβάνονται υπόψη κατά τη διάρκεια της δοκιμής:

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

9) Δοκιμή επιπέδου ολοκλήρωσης

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

10) Δοκιμή End to End

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

Τα παρακάτω στοιχεία διασφαλίζονται για δοκιμή κατά τη διάρκεια της δοκιμής από άκρο σε τέλος

  • Όλες οι υπηρεσίες λειτουργούν όπως αναμενόταν μετά την ολοκλήρωση
  • Χειρισμός εξαίρεσης
  • Διεπαφή χρήστη της εφαρμογής
  • Η σωστή ροή δεδομένων μέσω όλων των στοιχείων
  • Επιχειρηματική διαδικασία

Προκλήσεις στη δοκιμή SOA

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

Εργαλεία δοκιμών SOA

Υπάρχουν πολλά διαθέσιμα εργαλεία δοκιμών SOA στην αγορά για να βοηθήσουν τους δοκιμαστές να δοκιμάσουν εφαρμογές SOA. Εδώ είναι μερικά από τα δημοφιλή SOA Testing Tools :

1) UI σαπουνιού

Το "SOAP UI" είναι ένα λειτουργικό εργαλείο δοκιμής ανοιχτού κώδικα για υπηρεσίες και δοκιμές API.

  • Εφαρμογή επιφάνειας εργασίας
  • Υποστηρίζει πολλαπλά πρωτόκολλα - SOAP, REST, HTTP, JMS, AMF, JDBC
  • Οι υπηρεσίες Ιστού μπορούν να αναπτυχθούν, να ελεγχθούν και να χρησιμοποιηθούν.
  • Μπορεί επίσης να χρησιμοποιηθεί για δοκιμές φορτίου, Έλεγχος αυτοματισμού και δοκιμές ασφαλείας
  • Τα Stubs μπορούν να δημιουργηθούν από το MockServices
  • Τα αιτήματα και οι δοκιμές υπηρεσίας Ιστού μπορούν να δημιουργηθούν αυτόματα μέσω του προγράμματος-πελάτη υπηρεσίας ιστού.
  • Έχετε ενσωματωμένα εργαλεία αναφοράς
  • Αναπτύχθηκε από το SmartBear

2) iTKO LISA

Το "LISA" είναι μια σειρά προϊόντων που παρέχει μια λειτουργική λύση δοκιμών για κατανεμημένα συστήματα όπως το SOA.

  • Μπορεί επίσης να χρησιμοποιηθεί για παλινδρόμηση, ενσωμάτωση, φόρτωση και δοκιμή απόδοσης.
  • Αναπτύχθηκε από την iTKO (CA Technologies)
  • Μπορεί να χρησιμοποιηθεί για το σχεδιασμό και την εκτέλεση δοκιμών.

3) Δοκιμή σέρβις HP

Το "Test Test" είναι ένα λειτουργικό εργαλείο δοκιμών, το οποίο υποστηρίζει δοκιμή UI και κοινόχρηστες υπηρεσίες

  • Τόσο η λειτουργική όσο και η δοκιμή απόδοσης των υπηρεσιών μπορούν να γίνουν με ένα μόνο σενάριο.
  • Ενσωματωμένο με HP QC.
  • Μπορείτε να διαχειριστείτε τον τεράστιο όγκο υπηρεσιών και δεδομένων.
  • Υποστηρίζει δοκιμές διαλειτουργικότητας προσομοιώνοντας περιβάλλοντα πελατών JEE, AXIS και DotNet.
  • Αναπτύχθηκε από την HP.

4) Δοκιμή Parasoft SOA

Το SOA Test είναι μια σουίτα εργαλείων δοκιμών και ανάλυσης που αναπτύχθηκε για δοκιμές εφαρμογών API και API.

  • Υποστηρίζει τεχνολογίες Web Services, REST, JSON, MQ, JMS, TIBCO, HTTP, XML.
  • Είναι δυνατές λειτουργίες, μονάδα, ολοκλήρωση, παλινδρόμηση, ασφάλεια, διαλειτουργικότητα, συμμόρφωση και απόδοση.
  • Τα stubs μπορούν να δημιουργηθούν χρησιμοποιώντας το Parasoft Virtualize, τα οποία είναι έξυπνα από το SOAP UI.
  • Αναπτύχθηκε από την ParaSoft

Περιπτώσεις χρήσης δοκιμής SOA

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

Επεξεργασία παραγγελίας

ΦΑΣΗ 1

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

Ας εξετάσουμε παρακάτω είναι οι Υπηρεσίες στην εφαρμογή.

  • Δημιουργία παραγγελίας
  • Ελέγξτε την κατάσταση του πελάτη
  • Αλλαγή κατάστασης παραγγελίας
  • Ελέγξτε την κατάσταση παραγγελίας
  • Ελέγξτε το απόθεμα

Οι επιχειρηματικές λειτουργίες είναι ίδιες με τις λειτουργίες του Ιστότοπου.

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

ΦΑΣΗ 2

Φάση σχεδιασμού δοκιμών. Οι δοκιμαστικές περιπτώσεις γράφονται για κάθε επίπεδο.

  1. Επίπεδο End to End. Οι δοκιμαστικές θήκες γράφονται για κάθε περίπτωση χρήσης και ροής για επιχειρήσεις.

    Παρακάτω είναι το παράδειγμα των δοκιμαστικών περιπτώσεων

    • Δημιουργήστε μια παραγγελία με τον ενεργό χρήστη.
    • Δημιουργήστε μια παραγγελία με έναν ανενεργό χρήστη.
    • Δημιουργήστε μια παραγγελία με το διαθέσιμο προϊόν με ποσότητα παραγγελίας <διαθέσιμη ποσότητα.
    • Δημιουργήστε μια παραγγελία με το διαθέσιμο προϊόν με ποσότητα παραγγελίας> διαθέσιμη ποσότητα.
    • Δημιουργήστε μια παραγγελία με πολλά στοιχεία
    • Ακυρώστε εντελώς μια παραγγελία.
    • Ακύρωση μερικής παραγγελίας.
  2. Επίπεδο ολοκλήρωσης. Οι δοκιμαστικές περιπτώσεις γράφονται για ενσωμάτωση βάσης δεδομένων και διεπαφής χρήστη

    Ακολουθούν παραδείγματα δοκιμαστικών περιπτώσεων.

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

Ακολουθούν μερικά παραδείγματα.

Οχι. Λεπτομέρειες Παραγγελίας Κατάσταση παραγγελίας
1 Δημιουργία παραγγελίας. Αριθμός αντικειμένων = 1 Ποσότητα κατά παραγγελία <Ποσότητα στη βάση δεδομένων
2 Δημιουργία παραγγελίας. Αριθμός αντικειμένων> 1 Ποσότητα κατά παραγγελία <Ποσότητα στη βάση δεδομένων.
3 Δημιουργία αριθμού παραγγελίας αντικειμένων = 1 Ποσότητα κατά παραγγελία> Ποσότητα στη βάση δεδομένων
4 Ελέγξτε την κατάσταση παραγγελίας Κατάσταση στη βάση δεδομένων = Ενεργό
5 Ελέγξτε την κατάσταση παραγγελίας Κατάσταση στη βάση δεδομένων = Εστάλη
6 Ελέγξτε την κατάσταση παραγγελίας Κατάσταση στη βάση δεδομένων = Ακυρώθηκε
7 Ελέγξτε την κατάσταση παραγγελίας Αναγνωριστικό παραγγελίας = Μη έγκυρο
8 Ελέγξτε τη διαθεσιμότητα του προϊόντος Ποσότητα προϊόντος> 0
9 Ελέγξτε τη διαθεσιμότητα του προϊόντος Ποσότητα προϊόντος = 0
10 Ελέγξτε τη διαθεσιμότητα του προϊόντος Αναγνωριστικό προϊόντος = μη έγκυρο

ΦΑΣΗ 3 - Εκτέλεση δοκιμής

Το Test Execution χρησιμοποιεί προσέγγιση από κάτω προς τα πάνω, δηλαδή η δοκιμή επιπέδου υπηρεσίας γίνεται πρώτα, μετά το επίπεδο ολοκλήρωσης και, τέλος, δοκιμή End to End

1) Επίπεδο υπηρεσίας

Ας θεωρήσουμε ότι το εργαλείο Soapui θεωρείται για τη δοκιμή της εφαρμογής.

Το WSDL και η διεύθυνση URL περιηγούνται στο παράθυρο δοκιμής του SOAP.

Το αίτημα για κάθε υπηρεσία θα εμφανίζεται στο παράθυρο αιτήματος.

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

Θήκη δοκιμής

Αίτηση

Αναμενόμενη απόκριση

Δημιουργία παραγγελίας. Αριθμός αντικειμένων = 1 Ποσότητα παραγγελίας <Ποσότητα σε db

x2 2

o3251 Επιτυχές

Δημιουργία παραγγελίας. Όχι. αντικειμένων> 1 Ποσότητα κατά παραγγελία <Ποσότητα σε db

y11 y2 3

o3251 Επιτυχές

Δημιουργία OrderNo. αντικειμένων = 1 Ποσότητα κατά παραγγελία> Ποσότητα σε db

x23 200

null Ανεπιτυχές

Ελέγξτε την κατάσταση παραγγελίας Κατάσταση στη βάση δεδομένων = Ενεργή

o9876

Active Επιτυχές

Ελέγξτε την κατάσταση παραγγελίας Κατάσταση στη βάση δεδομένων = Εστάλη

o9656

Αποστολή <μήνυμα> Επιτυχής

Έλεγχος κατάστασης παραγγελίαςΑυτότητα παραγγελίας = Μη έγκυρο

y5686

null Ανεπιτυχές

Ελέγξτε τη διαθεσιμότητα προϊόντος Ποσότητα προϊόντος> 0

d34

34yes Επιτυχής

Έλεγχος διαθεσιμότητας προϊόντος Ποσότητα προϊόντος = 0

y34

0no Επιτυχής

Έλεγχος διαθεσιμότητας προϊόντος Αναγνωριστικό προϊόντος = μη έγκυρο

sder

Ανεπιτυχές

2) Επίπεδο ολοκλήρωσης

Οι περιπτώσεις δοκιμής επιπέδου ολοκλήρωσης εκτελούνται στη διεπαφή χρήστη και στη βάση δεδομένων.

  • Δημιουργήστε μια παραγγελία με ένα στοιχείο -
  • Ένας χρήστης ανοίγει τον ιστότοπο.
  • Πηγαίνει για την παραγγελία.
  • Επιλέγει ένα έγκυρο προϊόν και ποσότητα και αποθηκεύει την παραγγελία.
  • Θα πρέπει να εμφανίζεται ένα μήνυμα που να λέει ότι η παραγγελία έχει γίνει επιτυχώς.
  • Ένας χρήστης ανοίγει τη βάση δεδομένων και ελέγχει εάν οι λεπτομέρειες της παραγγελίας είναι ίδιες με αυτές που έχουν καταχωρηθεί στον ιστότοπο.
3) Επίπεδο End to End

Οι επιχειρηματικές ροές και οι περιπτώσεις χρήσης εκτελούνται στο περιβάλλον χρήστη.

  • Δημιουργήστε μια παραγγελία με πολλά στοιχεία -
  • Ένας χρήστης ανοίγει έναν ιστότοπο.
  • Πηγαίνει για την παραγγελία.
  • Ερωτήσεις σχετικά με ένα έγκυρο προϊόν και ποσότητα τα προσθέτει στο καλάθι.
  • Άλλα έγκυρα προϊόντα προστίθενται με έγκυρες ποσότητες και η παραγγελία αποθηκεύεται. Η πληρωμή γίνεται μέσω ενός νέου τρόπου πληρωμής και γίνεται παραγγελία.
  • Θα πρέπει να εμφανίζεται ένα μήνυμα που να λέει "Η παραγγελία έγινε επιτυχώς".
  • Ένας δοκιμαστής θα πρέπει να επιβεβαιώσει ότι η όλη ροή γίνεται χωρίς λοξότμηση δεδομένων.

Συμπέρασμα:

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