Οδηγός δοκιμών API: Τι είναι ο αυτοματισμός δοκιμής API; Πώς να δοκιμάσετε

Πριν μεταβείτε στον οδηγό δοκιμών API, ας καταλάβουμε πρώτα

Τι είναι το API;

Το API (Application Programming Interface) είναι μια διεπαφή υπολογιστών που επιτρέπει την επικοινωνία και την ανταλλαγή δεδομένων μεταξύ δύο ξεχωριστών συστημάτων λογισμικού. Το σύστημα λογισμικού που εκτελεί ένα API περιλαμβάνει διάφορες λειτουργίες / υπορουτίνες που μπορεί να εκτελέσει ένα άλλο σύστημα λογισμικού. Το API καθορίζει αιτήματα που μπορούν να υποβληθούν, πώς να υποβάλετε αιτήματα, μορφές δεδομένων που μπορούν να χρησιμοποιηθούν κ.λπ. μεταξύ δύο συστημάτων λογισμικού.

Τι είναι η δοκιμή API;

Το API TESTING είναι ένας τύπος δοκιμής λογισμικού που επικυρώνει τις διεπαφές προγραμματισμού εφαρμογών (API). Ο σκοπός του API Testing είναι να ελέγξει τη λειτουργικότητα, την αξιοπιστία, την απόδοση και την ασφάλεια των διεπαφών προγραμματισμού. Στο API Testing, αντί να χρησιμοποιείτε τυπικές εισόδους χρήστη (πληκτρολόγιο) και εξόδους, χρησιμοποιείτε λογισμικό για να στέλνετε κλήσεις στο API, να λαμβάνετε έξοδο και να σημειώνετε την απόκριση του συστήματος. Οι δοκιμές API είναι πολύ διαφορετικές από τις δοκιμές GUI και δεν επικεντρώνονται στην εμφάνιση και την αίσθηση μιας εφαρμογής. Επικεντρώνεται κυρίως στο επιχειρησιακό λογικό επίπεδο της αρχιτεκτονικής του λογισμικού.

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

  • Χρησιμοποιήστε το Εργαλείο δοκιμών για να οδηγήσετε το API
  • Γράψτε τον δικό σας κωδικό για να δοκιμάσετε το API

Σε αυτό το σεμινάριο δοκιμών API, θα μάθετε περισσότερα για-

  • Ρύθμιση περιβάλλοντος δοκιμής API
  • Τύποι εξόδου ενός API
  • Δοκιμές για δοκιμές API
  • Προσέγγιση δοκιμών API
  • Διαφορά μεταξύ δοκιμών API και δοκιμών μονάδας
  • Πώς να δοκιμάσετε το API
  • Βέλτιστες πρακτικές δοκιμών API
  • Τύποι σφαλμάτων που ανιχνεύει η δοκιμή API
  • Πώς να κάνετε το API Test Automation
  • Προκλήσεις δοκιμών API

Ρύθμιση περιβάλλοντος δοκιμής API

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

Τύποι εξόδου ενός API

Μια έξοδος του API θα μπορούσε να είναι

  1. Οποιοσδήποτε τύπος δεδομένων
  2. Κατάσταση (πείτε Pass ή Fail)
  3. Καλέστε μια άλλη λειτουργία API.

Ας δούμε ένα παράδειγμα καθενός από τους παραπάνω τύπους σε αυτό το σεμινάριο δοκιμών api

Οποιοσδήποτε τύπος δεδομένων

Παράδειγμα: Υπάρχει μια συνάρτηση API που θα πρέπει να προσθέσει δύο ακέραιους αριθμούς.

Μεγάλη προσθήκη (int a, int b)

Οι αριθμοί πρέπει να δίνονται ως παράμετροι εισόδου. Η έξοδος πρέπει να είναι άθροισμα δύο ακέραιων αριθμών. Αυτό το αποτέλεσμα πρέπει να επαληθευτεί με ένα αναμενόμενο αποτέλεσμα.

Η κλήση πρέπει να γίνει όπως

προσθήκη (1234, 5656)

Οι εξαιρέσεις πρέπει να αντιμετωπίζονται εάν ο αριθμός υπερβαίνει το ακέραιο όριο.

Κατάσταση (πείτε Pass ή Fail)

Εξετάστε την παρακάτω συνάρτηση API -

  1. Κλειδαριά()
  2. Ξεκλείδωμα()
  3. Διαγράφω()

Επιστρέφουν οποιαδήποτε τιμή, όπως True (σε περίπτωση επιτυχίας) ή false (σε περίπτωση σφάλματος) ως έξοδο.

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

Κλήση άλλου API / Εκδήλωσης

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

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

Δοκιμές για δοκιμές API:

Οι περιπτώσεις δοκιμής των δοκιμών API βασίζονται

  • Τιμή επιστροφής με βάση την κατάσταση εισαγωγής: είναι σχετικά εύκολο να ελεγχθεί, καθώς η είσοδος μπορεί να οριστεί και τα αποτελέσματα μπορούν να πιστοποιηθούν
  • Δεν επιστρέφει τίποτα: Όταν δεν υπάρχει τιμή επιστροφής, πρέπει να ελεγχθεί μια συμπεριφορά του API στο σύστημα
  • Ενεργοποίηση κάποιου άλλου API / συμβάντος / διακοπής: Εάν μια έξοδος ενός API ενεργοποιεί κάποιο συμβάν ή διακόψει, τότε αυτά τα συμβάντα και οι ακροατές διακοπής θα πρέπει να παρακολουθούνται
  • Ενημέρωση δομής δεδομένων: Η ενημέρωση της δομής δεδομένων θα έχει κάποιο αποτέλεσμα ή αποτέλεσμα στο σύστημα, και αυτό πρέπει να πιστοποιηθεί
  • Τροποποίηση συγκεκριμένων πόρων: Εάν η κλήση API τροποποιεί ορισμένους πόρους, τότε θα πρέπει να επικυρωθεί με πρόσβαση στους αντίστοιχους πόρους

Προσέγγιση δοκιμών API

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

Τα ακόλουθα σημεία βοηθούν τον χρήστη να κάνει προσέγγιση API Testing:

  1. Κατανόηση της λειτουργικότητας του προγράμματος API και καθορισμός σαφώς του πεδίου εφαρμογής του προγράμματος
  2. Εφαρμόστε τεχνικές δοκιμών όπως τάξεις ισοδυναμίας, ανάλυση οριακής τιμής και μαντέψτε λάθη και γράψτε περιπτώσεις δοκιμών για το API
  3. Οι παράμετροι εισαγωγής για το API πρέπει να σχεδιάζονται και να ορίζονται κατάλληλα
  4. Εκτελέστε τις δοκιμαστικές περιπτώσεις και συγκρίνετε τα αναμενόμενα και τα πραγματικά αποτελέσματα.

Διαφορά μεταξύ δοκιμών API και δοκιμών μονάδας

Δοκιμή μονάδας Δοκιμή API
  • Οι προγραμματιστές το εκτελούν
  • Οι δοκιμαστές το εκτελούν
  • Δοκιμάζεται ξεχωριστή λειτουργικότητα
  • Δοκιμάζεται η λειτουργικότητα από άκρο σε άκρο
  • Ένας προγραμματιστής μπορεί να αποκτήσει πρόσβαση στον πηγαίο κώδικα
  • Οι υπεύθυνοι δοκιμών δεν έχουν πρόσβαση στον πηγαίο κώδικα
  • Περιλαμβάνεται επίσης η δοκιμή UI
  • Δοκιμάζονται μόνο οι συναρτήσεις API
  • Δοκιμάζονται μόνο οι βασικές λειτουργίες
  • Όλα τα λειτουργικά ζητήματα έχουν δοκιμαστεί
  • Περιορισμένο πεδίο εφαρμογής
  • Ευρύτερο πεδίο εφαρμογής
  • Συνήθως έτρεχε πριν από το check-in
  • Έγινε μετά τη δημιουργία

Πώς να δοκιμάσετε το API

Οι δοκιμές αυτοματοποίησης API πρέπει να καλύπτουν τουλάχιστον τις ακόλουθες μεθόδους δοκιμών εκτός από τη συνήθη διαδικασία SDLC

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

Βέλτιστες πρακτικές δοκιμών API:

  • Οι περιπτώσεις δοκιμής API πρέπει να ομαδοποιούνται ανά κατηγορία δοκιμής
  • Πάνω από κάθε δοκιμή, θα πρέπει να συμπεριλάβετε τις δηλώσεις των API που καλούνται.
  • Η επιλογή παραμέτρων πρέπει να αναφέρεται ρητά στην ίδια τη δοκιμαστική περίπτωση
  • Προτεραιότητα στις κλήσεις λειτουργίας API, ώστε να είναι εύκολο να δοκιμάσουν οι υπεύθυνοι δοκιμών
  • Κάθε δοκιμαστική θήκη πρέπει να είναι όσο το δυνατόν πιο ανεξάρτητη και ανεξάρτητη από τις εξαρτήσεις
  • Αποφύγετε την «δοκιμαστική αλυσίδα» στην ανάπτυξή σας
  • Ιδιαίτερη προσοχή πρέπει να λαμβάνεται κατά το χειρισμό λειτουργιών μιας κλήσης όπως - Διαγραφή, CloseWindow, κ.λπ…
  • Η αλληλουχία κλήσεων πρέπει να εκτελείται και να είναι καλά σχεδιασμένη
  • Για να εξασφαλίσετε πλήρη κάλυψη δοκιμών, δημιουργήστε δοκιμαστικές θήκες API για όλους τους δυνατούς συνδυασμούς εισόδου του API.

Τύποι σφαλμάτων που ανιχνεύει η δοκιμή API

  • Αποτυγχάνει να χειριστεί τις συνθήκες σφάλματος με χαρά
  • Αχρησιμοποίητες σημαίες
  • Λείπει ή διπλή λειτουργικότητα
  • Ζητήματα αξιοπιστίας. Δυσκολία στη σύνδεση και λήψη απάντησης από το API.
  • Θέματα ασφάλειας
  • Θέματα πολλαπλών νημάτων
  • Ζητήματα επιδόσεων. Ο χρόνος απόκρισης API είναι πολύ υψηλός.
  • Ακατάλληλα λάθη / προειδοποίηση σε έναν καλούντα
  • Εσφαλμένος χειρισμός έγκυρων τιμών ορίσματος
  • Τα δεδομένα απόκρισης δεν είναι σωστά δομημένα (JSON ή XML)

Πώς να κάνετε το API Test Automation

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

Πώς να δοκιμάσετε το API με το REST Assured

Πώς να δοκιμάσετε το API με τον Ταχυδρόμο

Πώς να δοκιμάσετε το API με UFT

Εκτός αυτού υπάρχουν και άλλα εργαλεία για δοκιμές API. Ελέγξτε τα εδώ

Προκλήσεις δοκιμών API

Οι προκλήσεις των δοκιμών API περιλαμβάνουν:

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

Συμπέρασμα:

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

ενδιαφέροντα άρθρα...