API testimise õpetus: mis on API testimise automatiseerimine? Kuidas testida

Enne API testimise õpetuse juurde jõudmist mõistame kõigepealt

Mis on API?

API (Application Programming Interface) on arvutiliides, mis võimaldab suhtlust ja andmevahetust kahe eraldi tarkvarasüsteemi vahel. API-d käivitav tarkvarasüsteem sisaldab mitmeid funktsioone / alamprogramme, mida teine ​​tarkvarasüsteem saab täita. API määratleb päringud, mida saab kahe tarkvarasüsteemi vahel teha, kuidas taotlusi, kasutatavaid andmevorminguid jne teha.

Mis on API testimine?

API TESTING on tarkvara testimise tüüp, mis kinnitab rakendusprogrammeerimise liideseid (API). API testimise eesmärk on kontrollida programmeerimisliideste funktsionaalsust, usaldusväärsust, jõudlust ja turvalisust. API testimisel kasutate standardsete kasutaja sisendite (klaviatuuri) ja väljundite asemel tarkvara, et saata API-le kõnesid, saada väljundit ja märkida üles süsteemi vastus. API-testid erinevad GUI-testidest väga palju ega keskendu rakenduse välimusele. See keskendub peamiselt tarkvaraarhitektuuri äriloogika kihile.

API automatiseerimise testimine nõuab rakendust, mida saab API kaudu suhelda. API testimiseks peate seda tegema

  • API juhtimiseks kasutage testimistööriista
  • API testimiseks kirjutage oma kood

Selles API testimise õpetuses leiate lisateavet

  • API testimise keskkonna seadistamine
  • API väljundi tüübid
  • Testimisjuhud API testimiseks
  • API testimise lähenemine
  • Erinevus API testimise ja üksuse testimise vahel
  • Kuidas testida API-d
  • API-testimise parimad tavad
  • Vigade tüübid, mille API testimine tuvastab
  • Kuidas teha API testimisautomaatikat
  • API testimise väljakutsed

API testimise keskkonna seadistamine

  • API testimine erineb teistest tarkvaratestimise tüüpidest, kuna GUI pole saadaval, kuid siiski peate seadistama esialgse keskkonna, mis kutsub API-d nõutavate parameetrite komplektiga läbi ja uurib seejärel testitulemust.
  • Seega tundub API-automatiseerimise testimiskeskkonna seadistamine veidi keeruline.
  • Andmebaas ja server tuleks konfigureerida vastavalt rakenduse nõuetele.
  • Kui installimine on lõpetatud, tuleks kutsuda API funktsioon, et kontrollida, kas see API töötab.

API väljundi tüübid

API väljund võiks olla

  1. Mis tahes tüüpi andmed
  2. Olek (öelge: Pass või Fail)
  3. Kutsuge mõni muu API-funktsioon.

Vaatame selle api testimise õpetuse kõigi ülaltoodud tüüpide näidet

Mis tahes tüüpi andmed

Näide: on olemas API-funktsioon, mis peaks lisama kaks täisarvu.

Pikk liitmine (int a, int b)

Numbrid tuleb esitada sisendparameetritena. Väljund peaks olema kahe täisarvu liitmine. Seda väljundit tuleb kontrollida eeldatava tulemusega.

Helistamine tuleb teha näiteks

lisa (1234, 5656)

Kui arv ületab täisarvu, tuleb käsitleda erandeid.

Olek (öelge: Pass või Fail)

Mõelge allpool toodud API funktsioonile -

  1. Lukusta ()
  2. Ava ()
  3. Kustuta ()

Nad tagastavad väljundina mis tahes väärtuse, näiteks True (edukuse korral) või false (Vea korral).

Täpsem testjuhtum oleks see, kui saaksite kutsuda mis tahes skripti funktsioone ja hiljem kontrollida muudatusi kas andmebaasis või rakenduse GUI-s.

Teise API / sündmuse kutsumine

Sel juhul kutsume ühte API-funktsiooni, mis omakorda kutsub teist funktsiooni.

Näiteks - funktsiooni First API saab kasutada tabelis määratud kirje kustutamiseks ja see funktsioon omakorda kutsub teist funktsiooni andmebaasi VÄRSKENDAMISEKS.

API testimise juhtumid:

API testimise testjuhtumid põhinevad

  • Tagastusväärtus põhineb sisendtingimusel: seda on suhteliselt lihtne testida, kuna sisendit saab määratleda ja tulemusi saab autentida
  • Ei tagasta midagi: kui tagastusväärtust pole, kontrollitakse API käitumist süsteemis
  • Mõne muu API / sündmuse / katkestuse käivitamine : kui API väljund käivitab mõne sündmuse või katkestuse, tuleks neid sündmusi ja katkestusi kuulajaid jälgida
  • Andmestruktuuri värskendamine : andmestruktuuri värskendamisel on süsteemile mingisugune tulemus või mõju ja see tuleks autentida
  • Teatud ressursside muutmine: kui API-kõne muudab mõnda ressurssi, tuleks see valideerida vastavatele ressurssidele juurdepääsu kaudu

API testimise lähenemine

API testimise lähenemisviis on eelnevalt määratletud strateegia või meetod, mida kvaliteedikontrolli meeskond API-testimise läbiviimiseks pärast selle koostamist on valmis. See testimine ei sisalda lähtekoodi. API testimise lähenemine aitab paremini mõista funktsionaalsusi, testimistehnikaid, sisendparameetreid ja testjuhtumite täitmist.

Järgmised punktid aitavad kasutajal API-testimise lähenemisviisi teha:

  1. API-programmi funktsionaalsuse mõistmine ja programmi ulatuse selge määratlemine
  2. Rakendage API jaoks testimistehnikaid, näiteks samaväärsusklasse, piirväärtuste analüüsi ja vigade aimamist ning testjuhtumite kirjutamist
  3. API sisendparameetrid tuleb asjakohaselt kavandada ja määratleda
  4. Tehke testjuhtumid ning võrrelge oodatavaid ja tegelikke tulemusi.

Erinevus API testimise ja üksuse testimise vahel

Ühikute testimine API testimine
  • Arendajad täidavad seda
  • Testijad täidavad seda
  • Testitakse eraldi funktsionaalsust
  • Testitakse funktsiooni otsast lõpuni
  • Arendajal on juurdepääs lähtekoodile
  • Testijad ei pääse lähtekoodi juurde
  • Kaasatud on ka kasutajaliidese testimine
  • Testitakse ainult API funktsioone
  • Testitakse ainult põhifunktsioone
  • Kõik funktsionaalsed probleemid on testitud
  • Piiratud ulatusega
  • Laiema ulatusega
  • Jooksis tavaliselt enne registreerumist
  • Jooksis pärast ehituse loomist

Kuidas testida API-d

API automatiseerimise testimine peaks hõlmama vähemalt järgmisi testimismeetodeid, välja arvatud tavaline SDLC protsess

  • Avastustest: testgrupp peaks käsitsi käivitama API-s dokumenteeritud kõnede komplekti, näiteks kontrollima, kas API-ga eksponeeritud konkreetset ressurssi saab vastavalt vajadusele loetleda, luua ja kustutada
  • Kasutatavuse testimine: selle testimisega kontrollitakse, kas API on toimiv ja kasutajasõbralik. Kas API integreerub hästi ka teise platvormiga
  • Turvatestimine: see testimine hõlmab seda, millist tüüpi autentimist on vaja ja kas tundlikud andmed on krüpteeritud HTTP või mõlema kaudu
  • Automatiseeritud testimine: API testimine peaks kulmineeruma skriptide komplekti või tööriista loomisega, mida saab kasutada API regulaarseks käivitamiseks
  • Dokumentatsioon: testimeeskond peab veenduma, et dokumentatsioon on piisav ja sisaldab piisavalt teavet API-ga suhtlemiseks. Dokumentatsioon peaks olema osa lõpptulemusest

API testimise parimad tavad:

  • API testijuhtumid tuleks grupeerida testikategooriate järgi
  • Iga testi peale peaksite lisama ka kutsutavate API-de deklaratsioonid.
  • Parameetrite valimist tuleks selgesõnaliselt mainida testimisjuhtumis
  • Pange prioriteediks API funktsiooni väljakutsed, et testijatel oleks seda lihtne testida
  • Iga testjuhtum peaks olema võimalikult iseseisev ja sõltumatu sõltuvustest
  • Vältige oma arenduses "testkettimist"
  • Erilist tähelepanu tuleb pöörata ühekordsete kõnefunktsioonide käsitsemisele, näiteks - Kustuta, CloseWindow jne.
  • Kõne järjestamine peaks olema läbi viidud ja hästi planeeritud
  • Testi täieliku katvuse tagamiseks looge API kõigi võimalike sisendkombinatsioonide jaoks API testijuhud.

Vigade tüübid, mille API testimine tuvastab

  • Ei suuda veatingimustega graatsiliselt hakkama saada
  • Kasutamata lipud
  • Funktsionaalsus puudub või on duplikaat
  • Usaldusväärsuse küsimused. Raskused API ühendamisel ja vastuse saamisel.
  • Turvaküsimused
  • Mitme keermestamise probleemid
  • Esinemisküsimused. API reageerimisaeg on väga kõrge.
  • Vale viga / hoiatus helistajale
  • Kehtivate argumentide väärtuste vale käitlemine
  • Vastuse andmed pole õigesti struktureeritud (JSON või XML)

Kuidas teha API testimisautomaatikat

Järgmised õpetused pakuvad API-testi automatiseerimiseks üksikasjalikku juhendit.

Kuidas testida API-d rakendusega REST Assured

Kuidas testida API-d koos Postmaniga

Kuidas testida API-d UFT-ga

Lisaks on API testimiseks ka teisi tööriistu. Kontrollige neid siin

API testimise väljakutsed

API testimise väljakutsed hõlmavad järgmist:

  • Peamised väljakutsed veebi API testimisel on parameetrite kombineerimine, parameetrite valik ja kõnede järjestamine
  • Rakenduse testimiseks pole GUI-d, mis muudab sisendväärtuste andmise keeruliseks
  • Väljundi kinnitamine ja kontrollimine teises süsteemis on testijatele vähe keeruline
  • Parameetrite valimine ja kategoriseerimine peab olema testijatele teada
  • Erandite käsitlemise funktsiooni tuleb testida
  • Koodimisteadmised on testijatele vajalikud

Järeldus:

API koosneb klasside / funktsioonide / protseduuride komplektist, mis esindavad äriloogika kihti. Kui API-t pole korralikult testitud, võib see põhjustada probleeme mitte ainult API-rakenduses, vaid ka helistavas rakenduses. See on tarkvaraehituse asendamatu test.

Huvitavad Artiklid...