Vodič za API testiranje: Što je automatizacija API testova? Kako testirati

Prije odlaska na tutorial za API testiranje, prvo shvatimo

Što je API?

API (Application Programming Interface) je računalno sučelje koje omogućuje komunikaciju i razmjenu podataka između dva odvojena softverska sustava. Softverski sustav koji izvršava API uključuje nekoliko funkcija / potprograma koje drugi softverski sustav može izvoditi. API definira zahtjeve koji se mogu podnijeti, kako podnijeti zahtjeve, formate podataka koji se mogu koristiti itd. Između dva softverska sustava.

Što je API testiranje?

API TESTIRANJE je vrsta softverskog testiranja koja potvrđuje sučelja za programiranje aplikacija (API). Svrha API testiranja je provjeriti funkcionalnost, pouzdanost, izvedbu i sigurnost programskih sučelja. U API testiranju, umjesto da koristite standardne korisničke ulaze (tipkovnicu) i izlaze, koristite softver za slanje poziva API-ju, dobivanje rezultata i bilježenje odgovora sustava. API testovi uvelike se razlikuju od GUI testova i neće se koncentrirati na izgled i dojam aplikacije. Uglavnom se koncentrira na sloj poslovne logike softverske arhitekture.

API automatsko testiranje zahtijeva aplikaciju s kojom se može komunicirati putem API-ja. Da biste testirali API, morat ćete

  • Upotrijebite alat za testiranje za pokretanje API-ja
  • Napišite vlastiti kod za testiranje API-ja

U ovom vodiču za testiranje API-ja naučit ćete više o-

  • Postavljanje API testnog okruženja
  • Vrste rezultata API-ja
  • Ispitni slučajevi za API ispitivanje
  • Pristup API ispitivanju
  • Razlika između API testiranja i Unit testiranja
  • Kako testirati API
  • Najbolji primjeri API ispitivanja
  • Vrste bugova koje API testiranje otkriva
  • Kako napraviti API test automatizaciju
  • Izazovi API ispitivanja

Postavljanje API testnog okruženja

  • API testiranje razlikuje se od ostalih vrsta testiranja softvera jer GUI nije dostupan, a ipak morate postaviti početno okruženje koje poziva API sa potrebnim skupom parametara, a zatim konačno ispituje rezultat testa.
  • Stoga se postavljanje testnog okruženja za API automatizaciju testiranja čini malo složenim.
  • Baza podataka i poslužitelj trebaju biti konfigurirani prema zahtjevima aplikacije.
  • Nakon završetka instalacije, API funkciju treba pozvati da provjeri radi li taj API.

Vrste rezultata API-ja

Izlaz API-ja mogao bi biti

  1. Bilo koja vrsta podataka
  2. Status (recimo Pass ili Fail)
  3. Pozovite drugu API funkciju.

Pogledajmo primjer svake od gore navedenih vrsta u ovom vodiču za testiranje api-a

Bilo koja vrsta podataka

Primjer: Postoji API funkcija koja bi trebala dodati dva cijela broja.

Dugo dodavanje (int a, int b)

Brojevi se moraju dati kao ulazni parametri. Izlaz bi trebao biti zbrajanje dva cijela broja. Ovaj rezultat treba provjeriti s očekivanim ishodom.

Pozivanje treba obaviti kao npr

dodaj (1234, 5656)

Iznimke se moraju riješiti ako broj premašuje cjelobrojno ograničenje.

Status (recimo Pass ili Fail)

Razmotrite donju API funkciju -

  1. Zaključaj ()
  2. Otključati()
  3. Izbrisati()

Vraćaju bilo koju vrijednost kao što je True (u slučaju uspjeha) ili false (U slučaju pogreške) kao izlaz.

Točniji testni slučaj bio bi, može pozvati funkcije bilo koje skripte i kasnije provjeriti promjene u bazi podataka ili GUI-ju aplikacije.

Pozivanje drugog API-ja / događaja

U ovom slučaju pozivamo jednu od API funkcija koja će zauzvrat pozvati drugu funkciju.

Na primjer - Prva API funkcija može se koristiti za brisanje određenog zapisa u tablici, a ona pak poziva drugu funkciju za OSVJEŽAVANJE baze podataka.

Ispitni slučajevi za API ispitivanje:

Test slučajevi API testiranja temelje se na

  • Povratna vrijednost na temelju uvjeta unosa: relativno je lako testirati, jer se unos može definirati i autentičnost rezultata
  • Ne vraća ništa: Kada nema povratne vrijednosti, ponašanje API-ja na sustavu koje treba provjeriti
  • Pokretanje nekog drugog API-ja / događaja / prekida: Ako izlaz API-ja pokrene neki događaj ili prekid, tada bi se trebali pratiti ti događaji i slušatelji prekida
  • Ažuriranje strukture podataka: Ažuriranje strukture podataka imat će neki ishod ili učinak na sustav i to bi trebalo biti provjereno
  • Izmijenite određene resurse: Ako API poziv modificira neke resurse, to bi trebalo biti provjereno pristupanjem odgovarajućim resursima

Pristup API ispitivanja

Pristup API testiranju je unaprijed definirana strategija ili metoda koju će QA tim provesti kako bi proveo API testiranje nakon što je izrada spremna. Ovo testiranje ne uključuje izvorni kod. Pristup API testiranja pomaže boljem razumijevanju funkcionalnosti, tehnika testiranja, ulaznih parametara i izvršavanja testnih slučajeva.

Sljedeće točke pomažu korisniku u pristupu API testiranju:

  1. Razumijevanje funkcionalnosti API programa i jasno definiranje opsega programa
  2. Primijenite tehnike ispitivanja kao što su klase ekvivalencije, analiza granične vrijednosti te pogađanje pogrešaka i pisanje testnih slučajeva za API
  3. Ulazne parametre za API treba planirati i definirati na odgovarajući način
  4. Izvršite test slučajeve i usporedite očekivane i stvarne rezultate.

Razlika između API testiranja i Unit testiranja

Jedinstveno ispitivanje API ispitivanje
  • Programeri ga izvode
  • Ispitivači to izvode
  • Testirana je zasebna funkcionalnost
  • Testirana je funkcionalnost od kraja do kraja
  • Programer može pristupiti izvornom kodu
  • Ispitivači ne mogu pristupiti izvornom kodu
  • Uključeno je i testiranje korisničkog sučelja
  • Testiraju se samo API funkcije
  • Testiraju se samo osnovne funkcionalnosti
  • Svi funkcionalni problemi su testirani
  • Ograničenog opsega
  • Širi opseg
  • Obično se trčao prije prijave
  • Izvršeno nakon izrade izrade

Kako testirati API

Ispitivanje automatizacije API-ja trebalo bi obuhvaćati barem sljedeće metode ispitivanja, osim uobičajenog SDLC postupka

  • Ispitivanje otkrića: Probna bi skupina trebala ručno izvršiti skup poziva dokumentiranih u API-ju, poput provjere da li se određeni resurs izložen API-jem može popisati, stvoriti i izbrisati prema potrebi
  • Testiranje upotrebljivosti: Ovo testiranje provjerava je li API funkcionalan i prilagođen korisniku. A integrira li se API dobro i s drugom platformom
  • Sigurnosno testiranje: Ovo testiranje uključuje vrstu provjere autentičnosti i jesu li osjetljivi podaci šifrirani putem HTTP-a ili oboje
  • Automatizirano testiranje: API testiranje treba kulminirati stvaranjem skupa skripti ili alata koji se mogu koristiti za redovito izvršavanje API-ja
  • Dokumentacija: Probni tim mora biti siguran da je dokumentacija odgovarajuća i pruža dovoljno informacija za interakciju s API-jem. Dokumentacija bi trebala biti dio konačnog rezultata

Najbolji primjeri API testiranja:

  • API ispitni slučajevi trebaju se grupirati prema kategoriji ispitivanja
  • Povrh svakog testa trebali biste uključiti deklaracije API-ja koji se pozivaju.
  • Odabir parametara treba izričito spomenuti u samom test slučaju
  • Dajte prednost funkcijskim pozivima API-ja tako da testeri mogu lako testirati
  • Svaki testni slučaj trebao bi biti što samostalniji i neovisan o ovisnostima
  • Izbjegavajte "test lance" u svom razvoju
  • Prilikom rukovanja jednokratnim funkcijama poziva, kao što su - Delete, CloseWindow, itd., Mora se biti posebno oprezan
  • Redoslijed poziva trebao bi biti izveden i dobro isplaniran
  • Da biste osigurali potpunu pokrivenost testom, stvorite API ispitne slučajeve za sve moguće ulazne kombinacije API-ja.

Vrste bugova koje API testiranje otkriva

  • Ne uspijeva graciozno obraditi uvjete pogreške
  • Neiskorištene zastave
  • Nedostaje ili duplicirana funkcionalnost
  • Pitanja pouzdanosti. Poteškoće u povezivanju i dobivanju odgovora od API-ja.
  • Sigurnosni problemi
  • Problemi s više niti
  • Pitanja izvedbe. API vrijeme odziva je vrlo veliko.
  • Nepravilne pogreške / upozorenje pozivatelju
  • Neispravno rukovanje valjanim vrijednostima argumenata
  • Podaci o odgovorima nisu pravilno strukturirani (JSON ili XML)

Kako napraviti API test automatizaciju

Sljedeći vodiči pružaju detaljan vodič za automatizaciju API testa.

Kako testirati API s REST Assured

Kako testirati API s poštarom

Kako testirati API pomoću UFT-a

Osim toga, postoje i drugi alati za testiranje API-ja. Provjeri ih ovdje

Izazovi API ispitivanja

Izazovi API testiranja uključuju:

  • Glavni izazovi u testiranju web API-ja su kombinacija parametara, odabir parametara i sekvenciranje poziva
  • Ne postoji dostupan GUI za testiranje aplikacije što otežava davanje ulaznih vrijednosti
  • Provjeravanje i provjera rezultata u drugom sustavu malo je teško za testere
  • Odabir i kategorizacija parametara moraju biti poznati ispitivačima
  • Treba ispitati funkciju rukovanja iznimkama
  • Znanje kodiranja potrebno je testerima

Zaključak:

API se sastoji od skupa klasa / funkcija / procedura koje predstavljaju sloj poslovne logike. Ako se API ne testira pravilno, to može uzrokovati probleme ne samo u aplikaciji API već i u aplikaciji koja poziva. Neizostavni je test u softverskom inženjerstvu.

Zanimljivi članci...