Tutorial API de testare: Ce este automatizarea testelor API? Cum se testează

Înainte de a accesa tutorialul API Testing, să înțelegem mai întâi

Ce este API?

API (Application Programming Interface) este o interfață de calcul care permite comunicarea și schimbul de date între două sisteme software separate. Sistemul software care execută un API include mai multe funcții / subrutine pe care le poate îndeplini un alt sistem software. API definește cererile care pot fi făcute, cum să facă cereri, formate de date care pot fi utilizate etc. între două sisteme software.

Ce este testarea API?

API TESTING este un tip de testare software care validează interfețele de programare a aplicațiilor (API). Scopul testării API este de a verifica funcționalitatea, fiabilitatea, performanța și securitatea interfețelor de programare. În testarea API, în loc să utilizați intrări standard de utilizator (tastatură) și ieșiri, utilizați software pentru a trimite apeluri către API, pentru a obține ieșiri și pentru a nota răspunsul sistemului. Testele API sunt foarte diferite de testele GUI și nu se vor concentra asupra aspectului unei aplicații. Se concentrează în principal pe stratul de logică de afaceri al arhitecturii software.

Testarea automatizării API necesită o aplicație care poate fi interacționată prin intermediul unui API. Pentru a testa un API, va trebui

  • Utilizați instrumentul de testare pentru a conduce API-ul
  • Scrieți propriul cod pentru a testa API-ul

În acest tutorial de testare API, veți afla mai multe despre-

  • Configurarea mediului de testare API
  • Tipuri de ieșire ale unui API
  • Cazuri de testare pentru testarea API
  • Abordarea testării API
  • Diferența dintre testarea API și testarea unității
  • Cum se testează API
  • Cele mai bune practici de testare API
  • Tipuri de erori detectate de testarea API
  • Cum se face automatizarea testului API
  • Provocări ale testării API

Configurarea mediului de testare API

  • Testarea API este diferită de alte tipuri de testare software deoarece GUI nu este disponibilă și totuși trebuie să configurați mediul inițial care invocă API cu un set necesar de parametri și apoi examinează în cele din urmă rezultatul testului.
  • Prin urmare, configurarea unui mediu de testare pentru testarea automatizării API pare puțin complexă.
  • Baza de date și serverul trebuie configurate conform cerințelor aplicației.
  • Odată ce instalarea este finalizată, funcția API ar trebui apelată pentru a verifica dacă acel API funcționează.

Tipuri de ieșire ale unui API

O ieșire din API ar putea fi

  1. Orice tip de date
  2. Stare (de exemplu, aprobare sau nereușită)
  3. Apelați o altă funcție API.

Să vedem un exemplu al fiecăruia dintre tipurile de mai sus în acest tutorial de testare API

Orice tip de date

Exemplu: Există o funcție API care ar trebui să adauge două numere întregi.

Adăugare lungă (int a, int b)

Numerele trebuie date ca parametri de intrare. Ieșirea ar trebui să fie o însumare a două numere întregi. Această ieșire trebuie verificată cu un rezultat așteptat.

Apelurile trebuie făcute cum ar fi

adăugați (1234, 5656)

Excepțiile trebuie tratate dacă numărul depășește limita întregului.

Stare (de exemplu, aprobare sau nereușită)

Luați în considerare funcția API de mai jos -

  1. Lacăt()
  2. Deblocare ()
  3. Șterge()

Ele returnează orice valoare precum True (în caz de succes) sau false (În caz de eroare) ca ieșire.

Un caz de test mai precis ar fi, poate apela funcțiile din oricare dintre scripturi și ulterior verifica dacă există modificări fie în baza de date, fie în aplicația GUI.

Apelarea unui alt API / eveniment

În acest caz, apelăm una dintre funcțiile API care, la rândul său, va apela o altă funcție.

De exemplu - Prima funcție API poate fi utilizată pentru ștergerea unei înregistrări specificate în tabel și această funcție, la rândul său, apelează o altă funcție pentru REFRESH baza de date.

Cazuri de testare pentru testarea API:

Testarea cazurilor de testare API se bazează pe

  • Valoare returnată pe baza condiției de intrare: este relativ ușor de testat, deoarece intrarea poate fi definită și rezultatele pot fi autentificate
  • Nu returnează nimic: atunci când nu există o valoare de returnare, trebuie verificat un comportament al API-ului pe sistem
  • Declanșați alte API / eveniment / întrerupere: dacă o ieșire a unui API declanșează un anumit eveniment sau întrerupere, atunci acele evenimente și ascultători de întrerupere ar trebui urmăriți
  • Actualizarea structurii de date: actualizarea structurii de date va avea un anumit rezultat sau efect asupra sistemului și ar trebui să fie autentificat
  • Modificați anumite resurse: dacă apelul API modifică unele resurse, atunci acesta ar trebui validat prin accesarea resurselor respective

Abordarea de testare API

Abordarea de testare API este o strategie predefinită sau o metodă pe care echipa QA o va efectua pentru a efectua testarea API după ce construirea este gata. Această testare nu include codul sursă. Abordarea de testare API vă ajută să înțelegeți mai bine funcționalitățile, tehnicile de testare, parametrii de intrare și execuția cazurilor de testare.

Următoarele puncte ajută utilizatorul să facă abordarea de testare API:

  1. Înțelegerea funcționalității programului API și definirea clară a domeniului de aplicare al programului
  2. Aplicați tehnici de testare, cum ar fi clase de echivalență, analiza valorii la graniță și ghicirea erorilor și scrieți cazuri de testare pentru API
  3. Parametrii de intrare pentru API trebuie să fie planificați și definiți corespunzător
  4. Executați cazurile de testare și comparați rezultatele așteptate și cele reale.

Diferența dintre testarea API și testarea unității

Testarea unității Testarea API
  • Dezvoltatorii o realizează
  • Testerii o efectuează
  • Funcționalitatea separată este testată
  • Funcționalitatea cap la cap este testată
  • Un dezvoltator poate accesa codul sursă
  • Testerii nu pot accesa codul sursă
  • Este de asemenea implicat testarea interfeței de utilizare
  • Doar funcțiile API sunt testate
  • Sunt testate doar funcționalitățile de bază
  • Toate problemele funcționale sunt testate
  • Limitată în domeniul de aplicare
  • Mai extins ca domeniu de aplicare
  • De obicei, a fugit înainte de check-in
  • A alergat după crearea construcției

Cum se testează API

Testarea automatizării API ar trebui să acopere cel puțin următoarele metode de testare, în afară de procesul obișnuit SDLC

  • Testarea descoperirii: grupul de testare ar trebui să execute manual setul de apeluri documentate în API, cum ar fi verificarea faptului că o anumită resursă expusă de API poate fi listată, creată și ștearsă, după caz.
  • Testare de utilizare: Această testare verifică dacă API-ul este funcțional și ușor de utilizat. Și API-ul se integrează bine și cu o altă platformă
  • Testare de securitate: Această testare include ce tip de autentificare este necesar și dacă datele sensibile sunt criptate prin HTTP sau ambele
  • Testare automată: testarea API ar trebui să culmineze cu crearea unui set de scripturi sau a unui instrument care poate fi utilizat pentru a executa API în mod regulat
  • Documentație: Echipa de testare trebuie să se asigure că documentația este adecvată și oferă suficiente informații pentru a interacționa cu API-ul. Documentația ar trebui să facă parte din livrarea finală

Cele mai bune practici de testare API:

  • Cazurile de testare API trebuie grupate în funcție de categoria de testare
  • În partea de sus a fiecărui test, ar trebui să includeți declarațiile API-urilor care sunt apelate.
  • Selecția parametrilor trebuie menționată în mod explicit în cazul de testare în sine
  • Prioritizați apelurile de funcții API, astfel încât testerii să fie ușor de testat
  • Fiecare caz de testare trebuie să fie cât mai autonom și independent de dependențe
  • Evitați „testarea lanțului” în dezvoltarea dvs.
  • Trebuie acordată o atenție deosebită atunci când gestionați funcțiile de apel unic, cum ar fi - Ștergeți, CloseWindow, etc ...
  • Secvențierea apelurilor trebuie efectuată și bine planificată
  • Pentru a asigura o acoperire completă a testului, creați cazuri de testare API pentru toate combinațiile posibile de intrare ale API-ului.

Tipuri de erori detectate de testarea API

  • Nu reușește să gestioneze condițiile de eroare cu grație
  • Steaguri neutilizate
  • Funcționalitate lipsă sau duplicat
  • Probleme de fiabilitate. Dificultate în conectarea și obținerea unui răspuns de la API.
  • Probleme de securitate
  • Probleme multi-threading
  • Probleme de performanta. Timpul de răspuns API este foarte mare.
  • Erori / avertisment necorespunzător către un apelant
  • Manipularea incorectă a valorilor argumentelor valide
  • Datele de răspuns nu sunt structurate corect (JSON sau XML)

Cum se face automatizarea testului API

Următoarele tutoriale oferă un ghid detaliat pentru automatizarea testului API.

Cum se testează API cu REST Assured

Cum se testează API cu Postman

Cum se testează API cu UFT

În plus, există și alte instrumente pentru testarea API. Verifică-le aici

Provocări ale testării API

Provocările testării API includ:

  • Principalele provocări în testarea API-ului Web sunt combinarea parametrilor, selectarea parametrilor și secvențierea apelurilor
  • Nu există GUI disponibilă pentru a testa aplicația, ceea ce face dificilă furnizarea valorilor de intrare
  • Validarea și verificarea rezultatului într-un alt sistem este puțin dificilă pentru testeri
  • Selectarea și clasificarea parametrilor trebuie să fie cunoscute testerilor
  • Funcția de manipulare a excepțiilor trebuie testată
  • Cunoașterea codificării este necesară pentru testeri

Concluzie:

API constă dintr-un set de clase / funcții / proceduri care reprezintă stratul logicii de afaceri. Dacă API-ul nu este testat corect, poate provoca probleme nu numai aplicației API, ci și în aplicația apelantă. Este un test indispensabil în ingineria software.

Articole interesante...